SOC Prime Bias: Moyen

12 Nov 2025 12:37 UTC

Malware Espiègles : Rapport Exploitable pour les Équipes SOC

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
Malware Espiègles : Rapport Exploitable pour les Équipes SOC
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Analyse du Trojan Maverick

Le cheval de Troie Maverick est un maliciel bancaire sophistiqué ciblant le Brésil, qui exploite l’ingénierie sociale via WhatsApp Web pour livrer des archives ZIP malveillantes contenant des raccourcis LNK, lesquels déclenchent des chargeurs PowerShell et .NET obfusqués pour une chaîne d’infection sans fichiers. Le maliciel vérifie que le système victime est situé au Brésil (via des vérifications de fuseau horaire, de paramètre régional et de région), puis surveille les sessions de navigateur et cible une liste codée en dur de banques brésiliennes, d’échanges cryptographiques et de plateformes de paiement. Les chevauchements de code relient Maverick à la campagne précédente du Trojan Coyote, cependant, son architecture et ses méthodes de propagation représentent une évolution. Ce rapport équipe les équipes SOC avec le flux d’attaque, les indicateurs clés de compromission (IOC), les requêtes de détection, les contrôles d’atténuation et les directives de simulation nécessaires pour se défendre contre Maverick.

Enquête sur le Malware Maverick

Les chercheurs ont observé que le vecteur d’infection initial de Maverick est une archive ZIP livrée via WhatsApp Web, qui contient un fichier LNK malveillant. Le LNK exécute une chaîne PowerShell qui télécharge un chargeur initial depuis un serveur C2 (par exemple, sorvetenopote[.]com). Le chargeur décode et exécute un assembly .NET entièrement en mémoire sans déposer de fichiers sur le disque. Une branche d’exécution installe un module infecteur de WhatsApp en utilisant Selenium et WPPConnect pour détourner les sessions de navigateur et se propager. La deuxième branche charge le payload bancaire Maverick (« Maverick.Agent ») qui vérifie que la victime est brésilienne (fuseau horaire entre UTC-5 et UTC-2, paramètre régional « pt-BR »), établit la persistance via un HealthApp-<GUID>.bat dans le dossier de démarrage, surveille les fenêtres de premier plan du navigateur pour une liste compressée/chiffrée d’URLs bancaires et, lorsqu’une correspondance est trouvée, déchiffre un module et l’exécute pour effectuer le vol d’identifiants, l’enregistrement de frappes, la capture d’écrans, le hameçonnage par superposition et la communication C2. De nombreux schémas de réutilisation de code et des routines de chiffrement AES/GZIP identiques lient Maverick à Coyote.

Atténuation de l’Exploitation Maverick

Pour se défendre contre Maverick, les équipes SOC doivent appliquer des contrôles stricts et des défenses en couches. Limitez ou bloquez l’utilisation de WhatsApp Web pour les employés ayant accès à des systèmes sensibles. Mettez en œuvre une formation à la sensibilisation au hameçonnage axée sur les pièces jointes ZIP et les raccourcis provenant de plateformes de messagerie. Appliquez des politiques d’exécution PowerShell strictes (par exemple, restreignez les scripts non signés, consignez les utilisations intensives, bloquez les schémas IEX DownloadString). Surveillez la création de fichiers batch inhabituels dans les dossiers de démarrage (par exemple, « HealthApp-*.bat »). Utilisez des solutions de détection et réponse des points de terminaison (EDR) capables de détecter le chargement réflectif de .NET et l’exécution de shellcodes Donut en mémoire. Bloquez les domaines malveillants connus et l’infrastructure C2 tels que sorvetenopote[.]com et zapgrande[.]com aux niveaux DNS/pare-feu. Maintenez à jour les signatures antivirus/EDR et les flux de menaces, et désactivez ou surveillez les outils de détournement de sessions de navigateur automatisés.

Comment Répondre au Malware Bancaire Maverick

Lorsqu’une infection potentielle par Maverick est détectée, les répondants aux incidents doivent immédiatement isoler l’hôte affecté et commencer une enquête judiciaire. Utilisez les requêtes de détection dans votre SIEM/EDR pour trouver les invocations de PowerShell de DownloadString pour des domaines suspects, l’exécution en mémoire de .NET réfléchi, et les sous-processus lançant des fichiers batch depuis les dossiers de démarrage. Mettez en quarantaine tous les fichiers batch nommés « HealthApp-<GUID>.bat » et bloquez les domaines et les IPs C2 associés. Vérifiez les profils de navigateur pour des outils d’automatisation non autorisés tels que ChromeDriver ou Selenium. Réinitialisez les identifiants bancaires pour tous les utilisateurs affectés et appliquez l’authentification multi-facteurs (MFA) sur tous les accès aux services financiers. Assurez-vous d’un nettoyage minutieux en vérifiant qu’aucun module résiduel de Maverick ne subsiste et procédez à une analyse complète des logiciels malveillants sur le réseau.

Flux d’Attaque

Charge Utile du Trojan Maverick

Instructions de Simulation

Prérequis : Le Check Télémetrie et Baseline Pre-flight doit avoir été passé.

Raison : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non pertinents entraîneront un mauvais diagnostic.

  • Narration de l’Attaque & Commandes :

    1. Reconnaissance Initiale (un no-op pour la règle, omis).
    2. Contact C2 : L’adversaire lance une commande PowerShell en une ligne qui résout zapgrande.com et effectue une requête HTTP GET, imitant le signal du maliciel. Cela génère un événement Sysmon NetworkConnect avecDestinationHostname = zapgrande.com.
    3. Récupération de la Charge Utile : Juste après le GET, le script télécharge une petite charge utile exécutable du même hôte, stockée dans%TEMP%.

    L’attaquant utilise la commande nativeInvoke-WebRequest pour éviter de créer un binaire malveillant séparé et rester en ‘vivant de la terre’.

  • Script de Test de Régression :

    # -------------------------------------------------
    # Script de simulation pour le contact de domaine C2 Maverick
    # -------------------------------------------------
    $maliciousDomains = @("zapgrande.com","sorvetenopote.com")
    foreach ($domain in $maliciousDomains) {
        try {
            Write-Host "[*] Contacting C2 host: $domain"
            # Résolution de DNS (crée des logs de requêtes DNS)