La svolta di MuddyWater verso Rust: all’interno dell’impianto RustyWater
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
Rilevamenti
Estensione Insolita di File Eseguibile (via process_creation)
Visualizza
Punti di Persistenza Possibili [ASEPs – Software/NTUSER Hive] (via registry_event)
Visualizza
Processo Sospetto Senza Argomenti (via cmdline)
Visualizza
Processo Figlio MSOffice Sospetto (via cmdline)
Visualizza
IOC (HashSha256) per rilevare: Rinascita in Rust: Muddy Water Evolves Tooling con RustyWater Implant
Visualizza
Rilevamento dell’Esecuzione dell’Impianto Muddy Water RustyWater [Windows Process Creation]
Visualizza
Rilevamento degli Artefatti Spear-Phishing Muddy Water APT [Windows File Event]
Visualizza
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.docandCertificationKit.ini—nelladirectory ProgramDataper 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."