SOC Prime Bias: Kritisch

12 Jan 2026 14:55 UTC

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.

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."