Il CAPTCHA è tra le tecnologie più utilizzate per limitare gli accessi non autorizzati a un sito Web. Tuttavia, questo strumento è ormai sempre più utilizzato dai criminali moderni all’interno di campagne di phishing.
Cos’è un CAPTCHA
Chiunque utilizzi quotidianamente il web conosce bene il termine CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart), acronimo che identifica un sistema di sicurezza informatica progettato per distinguere tra utenti umani e bot automatici. I CAPTCHA in cui ci imbattiamo normalmente richiedono di completare una semplice attività, come identificare immagini contenenti oggetti specifici, risolvere un piccolo puzzle o inserire una sequenza di caratteri visualizzati in modo distorto.
Nonostante il funzionamento semplice, un CAPTCHA viene utilizzato per prevenire attività automatizzate estremamente dannose per i siti web, come l’invio massiccio di moduli o attacchi brute-force su credenziali di accesso, verificando che di fronte al computer ci sia un essere umano e non un programma automatico.
Negli anni, la tecnologia di questi strumenti si è evoluta fino ad arrivare ai reCAPTCHA, che utilizzano tecniche ancora più avanzate come il monitoraggio del comportamento dell’utente. Di questa categoria fanno parte script che rilevano l’attività dell’utente all’interno di un portale, caselle di ricerca come “I am not a robot”, e altri script che agiscono dietro le quinte di una pagina web.
L’uso dei CAPTCHA nelle campagne di phishing
La fiducia riposta comunemente dagli utenti in questa tecnologia può portare a un generale sottovalutazione dei rischi legati al suo utilizzo. È proprio per questo motivo che sempre più threat actor sfruttano i CAPTCHA per eseguire truffe ai danni degli utenti meno attenti che, se non adeguatamente formati, potrebbero spalancare la porta ad attacchi di vario tipo.
Uno scenario comune riguarda l’uso di PowerShell falsi, spesso inseriti all’interno di campagne di phishing mirate, realizzati per distribuire malware come i cosiddetti payload, tra cui reverse shell o infostealer. Queste campagne sfruttano pagine web di proprietà dei criminali informatici, costruite appositamente per imitare pagine legittime, nonché CAPTCHA falsi.
Come avviene il phishing con CAPTCHA falso
Fase 1: la pagina di phishing
Come molti attacchi che sfruttano l’inconsapevolezza dell’utente, tutto parte da una pagina di phishing dall’apparenza legittima. Questa pagina può imitare una piattaforma conosciuta, ad esempio una pagina di login sul sito web di una banca o un’e-mail da parte di un provider di servizi di pagamento, e ha lo scopo di convincere l’utente a interagire con essa. A prima vista, chi non ha un’adeguata formazione su questo tema potrebbe non percepire le lievi differenze tra la pagina fasulla e la controparte reale, come un font diverso, errori di ortografia o problemi di formattazione.

Fase 2: l’uso di un CAPTCHA falso
Una volta giunto nella pagina falsa, l’utente viene spinto a eseguire varie azioni, in questo caso a verificare la propria identità con un CAPTCHA falso che nasconde attività dannose in background. Uno dei casi più recenti è quello dell’infostealer chiamato Lumma Stealer: dopo il clic dell’utente sul pulsante “Verifica”, il malware richiede di eseguire alcune azioni insolite rispetto alle normai procedure richieste da un CAPTCHA. Nello screen seguente, la schermata chiede all’utente aprire lo strumento Esegui e di incollare un contenuto premendo la combinazione CTRL + V, per poi premere Invio.



Fase 3: l’inganno del copia-incolla
Dietro le quinte, il clic sul CAPTCHA attiva un codice JavaScript nascosto che esegue un’operazione malevola. Nel caso di Lumma Stealer, questo codice copia automaticamente un comando PowerShell negli appunti dell’utente, preparandolo all’esecuzione senza che questi se ne accorga. Il comando in questione è un PowerShell Dropper, un codice che scarica ed esegue un payload dannoso.



Approfondimento: cos’è un PowerShell Dropper
Un elemento critico di questi attacchi è l’uso di un PowerShell dropper. Si tratta di uno script PowerShell il cui scopo è “rilasciare” o scaricare un payload dannoso e lanciarlo sul sistema della vittima. Questa tecnica è particolarmente efficace perché PowerShell è spesso abilitato di default su macchine Windows, ed è un potente strumento di amministrazione che, se compromesso, può essere utilizzato per eseguire azioni dannose.
Fase 4: l’esecuzione del payload
A questo punto, l’utente potrebbe trovarsi in difficoltà e non sapere come procedere. Di conseguenza, istruito dalla pagina di phishing, verrà indotto a seguire le istruzioni del CAPTCHA. Procederà quindi a eseguire CTRL + V per incollare il contenuto copiato, ossia il comando PowerShell. Il comando incollato e successivamente eseguito lancia un payload malevolo sul dispositivo dell’utente, che può includere:
- Reverse shell: permette agli attaccanti di ottenere l’accesso remoto al sistema della vittima.
- Infostealer: malware progettato per rubare informazioni sensibili come password, cookie di navigazione, dati bancari, e altre credenziali.
Alla categoria degli infostealer appartiene il già citato Lumma Stealer, un malware specializzato nel furto di informazioni sensibili e nella comunicazione con un server Command and Control (C2), ovvero il server remoto utilizzato dagli attaccanti per controllare le attività del malware e ricevere i dati rubati.
Fase 5: il furto di informazioni e il controllo remoto
Una volta che il malware è attivo, comincia a raccogliere dati sensibili dall’utente e li invia al server Command and Control. In parallelo, con una reverse shell, l’attaccante può ottenere un accesso completo al sistema della vittima, eseguendo ulteriori comandi, installando altri malware, o rubando dati più specifici. Il tutto avviene senza che l’utente se ne accorga.
Lumma Stealer: l’analisi del SOC Cyberlys
Per comprendere meglio le conseguenze di un attacco che sfrutta un falso CAPTCHA, presentiamo un’analisi dettagliata dell’infostealer che abbiamo descritto nei paragrafi precedenti, Lumma Stealer.
Download del file di archivio
La fase iniziale dell’analisi dell’analisi ha previsto il download di un file di archivio .zip, ottenuto tramite un comando PowerShell. Questo file rappresenta uno degli elementi usati dagli attaccanti per distribuire il malware. Nello screenshot seguente, è possibile osservare i dettagli tecnici del comando usato per scaricare l’archivio contenente il payload dannoso.



Estrazione dell’archivio
Una volta estratto il file .zip, il suo contenuto è stato esaminato rivelando la presenza di diversi file, tra cui un eseguibile denominato “Setup.exe”. Questo eseguibile costituisce il payload, ovvero il codice malevolo che l’attaccante intende installare sul sistema della vittima per esfiltrare dati o eseguire altre azioni dannose.



Esecuzione e analisi del payload
L’esecuzione di Setup.exe ha permesso di svolgere un’analisi dinamica del malware. Dato che LummaStealer è complesso e altamente offuscato, l’analisi statica è risultata dispendiosa e limitante. È stato quindi eseguito Setup.exe in un ambiente controllato, monitorando il comportamento del malware con ProcessHacker.
Durante l’analisi, il payload ha creato due processi; uno di questi, denominato “SearchIndexer.exe,” è stato inizialmente avviato in stato di sospensione, suggerendo l’utilizzo del Process Hollowing, una tecnica di injection in cui un processo legittimo viene sovrascritto dal codice malevolo.



Dopo la riattivazione del processo, è stato estratto il payload finale dalla memoria utilizzando PE-Sieve, uno strumento utile per il dump di shellcode o Portable Executable (PE) direttamente dalla memoria. Il dump ha rivelato un PE offuscato chiamato 5000.exe, che utilizza tecniche di evasione avanzate (come IsDebuggerPresent, Trigonometry e VM Evasion) per interrompere il suo funzionamento in ambienti di analisi.



Recupero della configurazione del malware
Per proseguire, sono state decriptate alcune stringhe utilizzando uno script Python in IDA, recuperando informazioni di configurazione interne del malware. Questo passaggio ha rivelato dettagli critici sulle modalità operative del malware e sulle istruzioni ricevute per eseguire il furto di informazioni.
SHA256: identificatore univoco generato dall’algoritmo SHA256 che consente di riconoscere con precisione il file analizzato. Questo hash serve come impronta digitale per individuare varianti note del malware confrontandolo con database di hash dannosi.
- 9b94e4c0a4edf5bf35c3c05e6a26d17590671c780b82467e2939588b58a33b41
CS IP: l’elenco dei C2 IP (Command and Control IP Addresses) mostra gli indirizzi IP utilizzati dal malware per connettersi ai server di controllo e ricevere istruzioni. Bloccare questi IP è essenziale per interrompere la comunicazione del malware con i server di comando e limitare le sue azioni dannose.
- stitchmiscpaew[.]shop
- grassemenwji[.]shop
- commisionipwn[.]shop
- charistmatwio[.]shop
- basedsymsotp[.]shop
- complainnykso[.]shop
- ignoracndwko[.]shop
- proffoduwnuq[.]shop
- preachstrwnwjw[.]shop.
Build ID: un identificatore associato a una specifica versione o variante del malware, utile per tracciare e catalogare le varianti del malware in esame.
- MeHdy4–pl8vrs3
IoC: Indicatori di Compromissione, come URL sospetti, file hash e domini, che segnalano attività dannosa. Gli IoC sono fondamentali per individuare la presenza del malware in rete e facilitare le operazioni di contenimento e rimozione della minaccia.
- URL: newvideozones[.]click/verify-captcha.v2.html
- URL: pub-9c4ec7f3f95c448b85e464d2b533aac1[.]r2[.]dev/a.txt
- URL: pub-9c4ec7f3f95c448b85e464d2b533aac1[.]r2[.]dev/peltgon[.]zip
- Dropper: 19d04a09e2b691f4fb3c2111d308dcfa2651328dfddef701d86c726dce4a334a
- Payload finale: 9b94e4c0a4edf5bf35c3c05e6a26d17590671c780b82467e2939588b58a33b41
LEGGI ANCHE: Che cos’è la fase di eradication e perché è fondamentale nel processo di incident response