SOC Prime Bias: Kritisch

12 Jan. 2026 17:55

MuddyWater’s Rust-Dreh: Im Inneren des RustyWater-Implantats

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Folgen
MuddyWater’s Rust-Dreh: Im Inneren des RustyWater-Implantats
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

MuddyWater startete eine Spear-Phishing-Kampagne, die auf diplomatische, maritime, finanzielle und Telekommunikationsorganisationen im Nahen Osten abzielte. Die Angreifer verwendeten präparierte Word-Dokumente mit eingebetteten Makros, um RustyWater, ein Rust-basiertes Implantat, zu installieren. Nach der Installation bleibt die Malware durch einen Run-Registrierungsschlüssel bestehen, kommuniziert über HTTP mit der Kommandozentrale und injiziert Code in explorer.exe, um in normale Benutzeraktivitäten zu verschmelzen. Das Implantat enthält Anti-Analyse-Schutzmaßnahmen und unterstützt modulares Post-Compromise-Handling, um die Kontrolle des Angreifers zu erweitern.

Untersuchung

Das TRIAD-Team von CloudSEK analysierte das bösartige Dokument, stellte die hex-codierte Nutzlast wieder her und identifizierte die Rust-ausführbare Datei reddit.exe. Statische Inspektion zeigte die Nutzung der Reqwest-Bibliothek für HTTP-basiertes C2, einen Vektor Exception Handler-Mechanismus zur Anti-Debugging und Persistenz über den CurrentUser Run-Registrierungspfad. Dynamische Tests bestätigten die Prozessinjektion in explorer.exe und asynchrones C2-Verhalten mit zufälligen Rückrufzeiten. Die Untersuchung erfasste wichtige Indikatoren, einschließlich Hashes, Registrierungshinweisen und bösartigen Domains, die für die Kommunikation verwendet wurden.

Minderung

Beobachten Sie verdächtige Änderungen an HKCUSoftwareMicrosoftWindowsCurrentVersionRun, insbesondere Einträge, die auf Binärdateien unter ProgramData verweisen. Erkennen Sie makrogesteuerte Ausführungsketten, bei denen Office cmd.exe über WScript.Shell startet. Fügen Sie Netzwerkdetektionen für HTTP-Verkehrsmuster hinzu, die mit JSON → Base64 → XOR-Kodierung übereinstimmen, und für Beaconing mit zufälliger Jitter. Stärken Sie die E-Mail-Kontrollen, um Makro-fähige Word-Anhänge von unbekannten oder nicht vertrauenswürdigen Absendern zu blockieren oder unter Quarantäne zu stellen.

Reaktion

Wenn RustyWater-Aktivitäten erkannt werden, isolieren Sie den Endpunkt und erstellen Sie ein Speicherabbild, um Injektions-fokussierte Forensik zu unterstützen. Entfernen Sie den bösartigen Run-Schlüssel für die Persistenz und löschen Sie alle abgelegten Dateien in ProgramData. Blockieren Sie die identifizierten C2-Domains und IPs an den Perimeterkontrollen. Erweitern Sie die Jagd, um verwandte Makro-Aktivitäten und explorer.exe-Injektionsartefakte in der gesamten Umgebung zu identifizieren, um eine vollständige Eindämmung zu gewährleisten.

graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#c2f0c2 classDef registry fill:#ffd9b3 classDef data fill:#d9d9ff %% Knoten action_phishing[„<b>Aktion</b> – <b>T1566.001 Spearphishing-Anhang</b><br/>Eine E-Mail mit einem schädlichen Word-Dokument wird an das Opfer gesendet“] class action_phishing action file_doc[„<b>Datei</b> – <b>Name</b>: Cybersecurity.doc<br/><b>Typ</b>: Word-Dokument mit VBA-Makro“] class file_doc file action_user_execution[„<b>Aktion</b> – <b>T1204.002 Bösartige Datei</b><br/>Das Opfer öffnet das Dokument und startet die Ausführung“] class action_user_execution action technique_vba_macro[„<b>Technik</b> – <b>T1059.005 Visual Basic</b><br/>Das VBA-Makro führt schädliche Aktionen aus“] class technique_vba_macro technique file_ini[„<b>Datei</b> – <b>Name</b>: CertificationKit.ini<br/><b>Zweck</b>: Skript wird über WMI ausgeführt“] class file_ini file technique_native_api[„<b>Technik</b> – <b>T1106 Native API</b><br/>Makro erstellt COM-Objekte zur Systeminteraktion“] class technique_native_api technique technique_wmi[„<b>Technik</b> – <b>T1047 WMI</b><br/>WMI startet das .ini-Skript“] class technique_wmi technique technique_reflective_loading[„<b>Technik</b> – <b>T1620 Reflective Loading</b><br/>Hex-codierte Payload wird im Speicher dekodiert und auf die Festplatte geschrieben“] class technique_reflective_loading technique technique_process_injection[„<b>Technik</b> – <b>T1055.002 PE-Injektion</b><br/>Shellcode wird in explorer.exe injiziert“] class technique_process_injection technique process_explorer[„<b>Prozess</b> – <b>Name</b>: explorer.exe“] class process_explorer process technique_persistence[„<b>Technik</b> – <b>T1547 Persistenz</b><br/>Run-Registryschlüssel wird erstellt“] class technique_persistence technique registry_run[„<b>Registry</b> – <b>Schlüssel</b>: HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run“] class registry_run registry technique_encrypted_channel[„<b>Technik</b> – <b>T1573 Verschlüsselter Kanal</b><br/>C2-Verkehr ist verschlüsselt“] class technique_encrypted_channel technique technique_symmetric_crypto[„<b>Technik</b> – <b>T1573.001 Symmetrische Kryptografie</b><br/>XOR/Base64 werden zur Datenverschleierung verwendet“] class technique_symmetric_crypto technique technique_credential_hooking[„<b>Technik</b> – <b>T1056.004 Credential API Hooking</b><br/>API-Hooking erfasst Anmeldedaten“] class technique_credential_hooking technique credentials[„<b>Daten</b> – <b>Typ</b>: Abgefangene Anmeldedaten“] class credentials data %% Verbindungen action_phishing –>|liefert| file_doc file_doc –>|vom Benutzer geöffnet| action_user_execution action_user_execution –>|löst aus| technique_vba_macro technique_vba_macro –>|erstellt| file_ini technique_vba_macro –>|verwendet| technique_native_api technique_native_api –>|ruft auf| technique_wmi technique_wmi –>|führt aus| file_ini file_ini –>|lädt| technique_reflective_loading technique_reflective_loading –>|führt zu| technique_process_injection technique_process_injection –>|injiziert in| process_explorer process_explorer –>|ermöglicht| technique_persistence technique_persistence –>|schreibt| registry_run registry_run –>|unterstützt| technique_encrypted_channel technique_encrypted_channel –>|nutzt| technique_symmetric_crypto technique_symmetric_crypto –>|schützt| technique_credential_hooking technique_credential_hooking –>|erfasst| credentials

Angriffsfluss

Simulationsausführung

Voraussetzung: Die Telemetrie & Basis-Prüfung muss bestanden sein.

Begründung: In diesem Abschnitt wird die präzise Ausführung der gegnerischen Technik (TTP) beschrieben, die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und die Erzählung spiegeln die identifizierten TTPs direkt wider und zielen darauf ab, die von der Erkennungslogik erwartete Telemetrie zu erzeugen.

  • Angriffserzählung & Befehle:
    Ein APT-Operator erhält eine Spear-Phishing-E-Mail mit einem bösartigen, makroaktivierten Office-Anhang. Beim Öffnen legt das Makro zwei Nutzlastdateien ab—Cybersecurity.doc and CertificationKit.ini—in das ProgramData -Verzeichnis, um sie an einem von vielen Anwendungen als vertrauenswürdig angesehenen Ort zu verbergen. Das Makro verwendet PowerShell, um die Dateien zu schreiben, was Sysmon-Datei-Erstellungsereignisse auslöst, die die Erkennungsregel überwacht.

  • Regressionstest-Skript:

    # -------------------------------------------------
    # MuddyWater APT Dateiabwurfsimulation (Windows)
    # -------------------------------------------------
    $progData = $Env:ProgramData
    
    # Definieren Sie den Nutzlastinhalt (Dummy-Daten für Tests)
    $docContent = "Dies ist ein Mock-Cybersecurity-Dokument für Tests zur Erkennung."
    $iniContent = "[Einstellungen]`nSchlüssel=Wert`n"
    
    # Erstellen von Cybersecurity.doc
    $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc"
    $docContent | Out-File -FilePath $docPath -Encoding UTF8
    
    # Erstellen von CertificationKit.ini
    $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini"
    $iniContent | Out-File -FilePath $iniPath -Encoding UTF8
    
    Write-Host "MuddyWater Simulationsdateien erstellt:"
    Write-Host "`t$docPath"
    Write-Host "`t$iniPath"
    # -------------------------------------------------
  • Bereinigungskommandos:

    # Entfernen von Simulationsartefakten
    Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue
    Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue
    Write-Host "Simulationsdateien entfernt."