SOC Prime Bias: Critico

12 Jan 2026 14:55 UTC

La svolta di MuddyWater verso Rust: all’interno dell’impianto RustyWater

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
La svolta di MuddyWater verso Rust: all’interno dell’impianto RustyWater
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

MuddyWater ha lanciato una campagna di spear-phishing mirata a organizzazioni diplomatiche, marittime, finanziarie e di telecomunicazioni in tutto il Medio Oriente. Gli attaccanti si sono affidati a documenti di Word compromessi con macro incorporate per distribuire RustyWater, un impianto basato su Rust. Una volta installato, il malware persiste tramite una chiave di registro Run, comunica con il comando e controllo tramite HTTP e inietta codice in explorer.exe per mimetizzarsi con le normali attività dell’utente. L’impianto incorpora salvaguardie anti-analisi e supporta funzionalità post-compromesso modulari per estendere il controllo dell’attaccante.

Indagine

Il team TRIAD di CloudSEK ha analizzato il documento dannoso, recuperato il payload codificato in esadecimale e identificato l’eseguibile Rust reddit.exe. L’ispezione statica ha mostrato l’uso della libreria reqwest per C2 basato su HTTP, un meccanismo di gestore di eccezioni vettoriali per l’anti-debugging e la persistenza tramite il percorso del registro CurrentUser Run. I test dinamici hanno confermato l’iniezione di processo in explorer.exe e il comportamento asincrono di C2 con tempi di richiamo casuali. L’indagine ha compilato indicatori chiave, inclusi hash, artefatti di registro e i domini dannosi usati per le comunicazioni.

Mitigazione

Controllare eventuali modifiche sospette a HKCUSoftwareMicrosoftWindowsCurrentVersionRun, in particolare le voci che puntano a binari archiviati in ProgramData. Rilevare catene di esecuzione drive macro dove Office avvia cmd.exe tramite WScript.Shell. Aggiungere rilevamenti di rete per schemi di traffico HTTP coerenti con JSON → Base64 → XOR encoding e per beaconing con jitter casuale. Rafforzare i controlli e-mail per bloccare o mettere in quarantena allegati Word abilitati per le macro provenienti da mittenti sconosciuti o non attendibili.

Risposta

Se viene rilevata un’attività di RustyWater, isolare il punto terminale e acquisire un’immagine di memoria per supportare la forense incentrata sull’iniezione. Rimuovere la persistenza della chiave Run dannosa ed eliminare eventuali file scaricati in ProgramData. Bloccare i domini e gli IP di C2 identificati nei controlli perimetrali. Espandere la caccia per identificare attività macro correlate e artefatti di iniezione explorer.exe in tutto l’ambiente per garantire un completo contenimento.

Flusso di attacco

Esecuzione Simulazione

Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere superato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) concepita per attivare la regola di rilevamento. I comandi e il racconto riflettono direttamente i TTP identificati e mirano a generare l’esatta telemetria attesa dalla logica di rilevamento.

  • Narrativa & Comandi di Attacco:
    Un’operatore APT riceve un’email di spear-phishing con un allegato Office abilitato per macro dannose. All’apertura, la macro scarica due file payload—Cybersecurity.doc and CertificationKit.ini—nella directory ProgramData per nasconderli in una posizione fidata da molte applicazioni. La macro usa PowerShell per scrivere i file, il che attiva eventi file-create Sysmon che la regola di rilevamento monitora.

  • Script Test Regressione:

    # -------------------------------------------------
    # Simulazione di drop di file APT MuddyWater (Windows)
    # -------------------------------------------------
    $progData = $Env:ProgramData
    
    # Definire contenuti payload (dati fittizi per test)
    $docContent = "Questo è un falso documento di Cybersecurity utilizzato per testare il rilevamento."
    $iniContent = "[Impostazioni]`nChiave=Valore`n"
    
    # Crea Cybersecurity.doc
    $docPath = Join-Path -Path $progData -ChildPath "Cybersecurity.doc"
    $docContent | Out-File -FilePath $docPath -Encoding UTF8
    
    # Crea CertificationKit.ini
    $iniPath = Join-Path -Path $progData -ChildPath "CertificationKit.ini"
    $iniContent | Out-File -FilePath $iniPath -Encoding UTF8
    
    Write-Host "File di simulazione MuddyWater creati:"
    Write-Host "`t$docPath"
    Write-Host "`t$iniPath"
    # -------------------------------------------------
  • Comandi di Pulizia:

    # Rimuovere artefatti di simulazione
    Remove-Item -Path "$Env:ProgramDataCybersecurity.doc" -ErrorAction SilentlyContinue
    Remove-Item -Path "$Env:ProgramDataCertificationKit.ini" -ErrorAction SilentlyContinue
    Write-Host "File di simulazione rimossi."