Pivot de MuddyWater vers Rust : à l’intérieur de l’implant RustyWater
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
MuddyWater a lancé une campagne de spear-phishing ciblant des organisations diplomatiques, maritimes, financières, et de télécommunications à travers le Moyen-Orient. Les attaquants se sont appuyés sur des documents Word armés avec des macros intégrées pour déployer RustyWater, un implant basé sur Rust. Une fois installé, le malware persiste via une clé de registre Run, communique avec le command-and-control sur HTTP, et injecte du code dans explorer.exe pour se fondre dans l’activité normale de l’utilisateur. L’implant intègre des garde-fous anti-analyse et supporte une fonctionnalité de post-compromission modulaire pour étendre le contrôle de l’attaquant.
Enquête
L’équipe TRIAD de CloudSEK a analysé le document malveillant, récupéré la charge utile encodée en hexadécimal, et identifié l’exécutable Rust reddit.exe. L’inspection statique a montré l’utilisation de la bibliothèque reqwest pour le C2 basé sur HTTP, un mécanisme de Vectored Exception Handler pour l’anti-débogage, et la persistance via le chemin de registre CurrentUser Run. Les tests dynamiques ont confirmé l’injection de processus dans explorer.exe et le comportement C2 asynchrone avec une temporisation de rappel aléatoire. L’enquête a compilé des indicateurs clés, y compris des hachages, des artefacts de registre, et les domaines malveillants utilisés pour les communications.
Atténuation
Surveillez les modifications suspectes à HKCUSoftwareMicrosoftWindowsCurrentVersionRun, en particulier les entrées qui pointent vers des binaires stockés sous ProgramData. Détectez les chaînes d’exécution entraînées par des macros où Office lance cmd.exe via WScript.Shell. Ajoutez des détections réseau pour les modèles de trafic HTTP cohérents avec l’encodage JSON → Base64 → XOR et pour le beaconing avec une gigue aléatoire. Renforcez les contrôles de messagerie pour bloquer ou mettre en quarantaine les pièces jointes Word avec macros d’expéditeurs inconnus ou non fiables.
Réponse
Si une activité RustyWater est détectée, isolez le point final et acquérez une image mémoire pour soutenir la criminalistique axée sur l’injection. Supprimez la persistance de la clé Run malveillante et effacez tous les fichiers déposés dans ProgramData. Bloquez les domaines C2 et les IP identifiés aux contrôles de périmètre. Étendez la chasse pour identifier les activités de macro associées et les artefacts d’injection explorer.exe dans tout l’environnement pour assurer un confinement complet.
Flux d’attaque
Détections
Extension inhabituelle de fichier exécutable (via creation_processus)
Voir
Points de persistance possibles [ASEPs – Ruche Software/NTUSER] (via événement_registre)
Voir
Processus suspect sans arguments (via cmdline)
Voir
Processus enfant MSOffice suspect (via cmdline)
Voir
IOCs (HashSha256) pour détecter : Reborn in Rust : Muddy Water Evolue Outils avec RustyWater Implant
Voir
Détection de l’exécution de l’implant RustyWater Muddy Water [Création de processus Windows]
Voir
Détection des artefacts de spear-phishing APT Muddy Water [Événement fichier Windows]
Voir
Exécution de Simulation
Condition préalable : Le contrôle préliminaire de télémétrie et de base doit avoir été 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 reflètent directement les TTPs identifiés et visent à générer la télémétrie exacte attendue par la logique de détection.
-
Narratif et commandes de l’attaque :
Un opérateur APT reçoit un email de spear-phishing avec une pièce jointe Office malveillante dotée de macro. Lors de l’ouverture, le macro dépose deux fichiers de charge utile—Cybersecurity.docandCertificationKit.ini—dans lerépertoire ProgramData pour les cacher dans un emplacement de confiance par de nombreuses applications. Le macro utilise PowerShell pour écrire les fichiers, ce qui déclenche des événements de création de fichier Sysmon que la règle de détection surveille.directory to hide them in a location trusted by many applications. The macro uses PowerShell to write the files, which triggers Sysmon file‑create events that the detection rule monitors. -
Script de test de régression :
# ------------------------------------------------- # Simulation de dépôt de fichier APT MuddyWater (Windows) # ------------------------------------------------- $progData = $Env:ProgramData # Définir le contenu de la charge utile (données de test factices) $docContent = "Il s'agit d'un document de cybersécurité fictif utilisé pour le test de détection." $iniContent = "[Paramètres]`nClé=Valeur`n" # Créer Cybersecurity.doc $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc" $docContent | Out-File -FilePath $docPath -Encoding UTF8 # Créer CertificationKit.ini $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini" $iniContent | Out-File -FilePath $iniPath -Encoding UTF8 Write-Host "Fichiers de simulation MuddyWater créés :" Write-Host "`t$docPath" Write-Host "`t$iniPath" # ------------------------------------------------- -
Commandes de nettoyage :
# Supprimer les artefacts de simulation Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue Write-Host "Fichiers de simulation retirés."