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.
graph TB %% Definizioni delle Classi classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef file fill:#e6e6e6 classDef process fill:#c2f0c2 classDef registry fill:#ffd9b3 classDef data fill:#d9d9ff %% Nodi action_phishing[“<b>Azione</b> – <b>T1566.001 Allegato di Spearphishing</b><br/>Un’email con un documento Word dannoso viene inviata alla vittima”] class action_phishing action file_doc[“<b>File</b> – <b>Nome</b>: Cybersecurity.doc<br/><b>Tipo</b>: Documento Word con macro VBA”] class file_doc file action_user_execution[“<b>Azione</b> – <b>T1204.002 File dannoso</b><br/>La vittima apre il documento e avvia l’esecuzione”] class action_user_execution action technique_vba_macro[“<b>Tecnica</b> – <b>T1059.005 Visual Basic</b><br/>La macro VBA esegue azioni malevole”] class technique_vba_macro technique file_ini[“<b>File</b> – <b>Nome</b>: CertificationKit.ini<br/><b>Scopo</b>: Script eseguito tramite WMI”] class file_ini file technique_native_api[“<b>Tecnica</b> – <b>T1106 API Nativa</b><br/>La macro crea oggetti COM per interagire con il sistema”] class technique_native_api technique technique_wmi[“<b>Tecnica</b> – <b>T1047 WMI</b><br/>WMI viene utilizzato per eseguire lo script .ini”] class technique_wmi technique technique_reflective_loading[“<b>Tecnica</b> – <b>T1620 Caricamento Riflessivo</b><br/>Il payload codificato in esadecimale viene decodificato in memoria e scritto su disco”] class technique_reflective_loading technique technique_process_injection[“<b>Tecnica</b> – <b>T1055.002 Iniezione PE</b><br/>Il shellcode viene iniettato in explorer.exe”] class technique_process_injection technique process_explorer[“<b>Processo</b> – <b>Nome</b>: explorer.exe”] class process_explorer process technique_persistence[“<b>Tecnica</b> – <b>T1547 Persistenza</b><br/>Viene creata una chiave Run nel Registro”] class technique_persistence technique registry_run[“<b>Registro</b> – <b>Chiave</b>: HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run”] class registry_run registry technique_encrypted_channel[“<b>Tecnica</b> – <b>T1573 Canale Cifrato</b><br/>Il traffico C2 è cifrato”] class technique_encrypted_channel technique technique_symmetric_crypto[“<b>Tecnica</b> – <b>T1573.001 Crittografia Simmetrica</b><br/>XOR/Base64 nascondono i dati”] class technique_symmetric_crypto technique technique_credential_hooking[“<b>Tecnica</b> – <b>T1056.004 Hooking API Credenziali</b><br/>L’hooking API cattura le credenziali”] class technique_credential_hooking technique credentials[“<b>Dati</b> – <b>Tipo</b>: Credenziali catturate”] class credentials data %% Connessioni action_phishing –>|consegna| file_doc file_doc –>|aperto dall’utente| action_user_execution action_user_execution –>|attiva| technique_vba_macro technique_vba_macro –>|crea| file_ini technique_vba_macro –>|usa| technique_native_api technique_native_api –>|chiama| technique_wmi technique_wmi –>|esegue| file_ini file_ini –>|carica| technique_reflective_loading technique_reflective_loading –>|porta a| technique_process_injection technique_process_injection –>|inietta in| process_explorer process_explorer –>|abilita| technique_persistence technique_persistence –>|scrive| registry_run registry_run –>|supporta| technique_encrypted_channel technique_encrypted_channel –>|usa| technique_symmetric_crypto technique_symmetric_crypto –>|protegge| technique_credential_hooking technique_credential_hooking –>|cattura| credentials
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."