{
	"id": "7b415f7e-548c-4144-9ac6-96ee8fb34ad5",
	"created_at": "2026-04-06T00:07:53.37526Z",
	"updated_at": "2026-04-10T13:11:47.917104Z",
	"deleted_at": null,
	"sha1_hash": "09759bf9edd9a34b4aac4e6f479e02d11f7e5769",
	"title": "Analisi di una campagna Lumma Stealer con falso CAPTCHA condotta attraverso domino italiano compromesso",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 1657394,
	"plain_text": "Analisi di una campagna Lumma Stealer con falso CAPTCHA\r\ncondotta attraverso domino italiano compromesso\r\nArchived: 2026-04-05 12:46:13 UTC\r\nUna delle tattiche più recenti adottate da Lumma Stealer per ingannare le vittime è l’impiego di CAPTCHA falsi,\r\nprogettati per indurre gli utenti a eseguire script dannosi.\r\nQuesto metodo si sta dimostrando estremamente efficace per gli attaccanti poiché sfrutta la fiducia che gli utenti\r\nripongono nelle sfide CAPTCHA, generalmente percepite come controlli di sicurezza legittimi per verificare\r\nl’identità umana.\r\nIn una campagna osservata dal CERT-AGID nel mese di ottobre 2024, le vittime venivano avvisate di una\r\npresunta vulnerabilità di sicurezza nei loro repository GitHub e invitate a cliccare su un link sospetto. All’apertura\r\ndel link, si trovavano di fronte a un falso CAPTCHA che le istruiva a copiare ed eseguire uno script PowerShell\r\ntramite la funzione WIN+R (Esegui). Questo processo portava direttamente all’infezione del sistema con il\r\nmalware Lumma Stealer.\r\nDominio italiano compromesso con kit Lumma Stealer\r\nFalsa Captcha su dominio italiano compromesso\r\nLa scorsa settimana, il CERT-AGID si è imbattuto in un dominio italiano, basato su una versione obsoleta del\r\nCMS WordPress, che è stato compromesso e sfruttato per diffondere il malware Lumma Stealer. L’analisi del\r\ncodice sorgente ha rivelato la presenza di uno script JavaScript codificato in Base64, inserito in modo furtivo,\r\nprogettato per generare un falso CAPTCHA esclusivamente per le visite provenienti da sistemi operativi MS\r\nWindows:\r\nhttps://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso/\r\nPage 1 of 5\n\nScript inserito nel codice sorgente della home page\r\nUna volta seguite le istruzioni fornite dal falso CAPTCHA, viene eseguito il seguente script PowerShell, il cui\r\ncompito è quello di scaricare un file da una risorsa remota ed eseguirlo.\r\nCodice PowerShell eseguito sul sistema\r\nAnalisi dello script PowerShell\r\nIl file sh è un nuovo script PowerShell di 10MB, composto da circa 22.000 righe di codice. L’esecuzione dello\r\nscript nelle sandbox online non ha prodotto risultati utili, poiché è in grado di rilevare la natura dell’ambiente,\r\nrendendo quindi necessaria un’analisi manuale.\r\nAnalizzando attentamente il contenuto è possibile notare una funzione, denominata fdsjnh , che legge una lista\r\ndi numeri ( charcode ), li converte in una stringa e li interpreta come una sequenza codificata in Base64.\r\nSuccessivamente decodifica la stringa Base64 per ottenere un array di byte e poi li trasforma applicando\r\nun’operazione XOR con una chiave specifica.\r\nfunction fdsjnh { $arRmAtH = New - Object sYsTEm.CoLLectiONS.arRAyLISt; FOR ($i = 0; $i - le\r\n$dsAHg78dAS.Length - 1; $i++) { $arRmAtH.Add([char]$dsAHg78dAS[$i]) | Out - Null }; $z = $arRmAtH -\r\njoin \"\"; $Enc = [SYStEM.TEXt.ENcODinG]::UTF8; $XoRKEy = $Enc.$BBB(\"$GdFsODSAO\"); $strinG =\r\n$Enc.GetString([systEm.coNVerT]::FromBase64String($z)); $byteSTriNG = $Enc.$BBB($strinG); $xoRdData =\r\n$(for ($i = 0; $i - lt $byteSTriNG.length; ) { for ($j = 0; $j - lt $XoRKEy.length; $j++) {\r\nhttps://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso/\r\nPage 2 of 5\n\n$byteSTriNG[$i] - bxor $XoRKEy[$j]; $i++; if ($i - ge $byteSTriNG.Length) { $j = $XoRKEy.length } } }\r\n); $xoRdData = $Enc.GetString($xoRdData); return $xoRdData }\r\nLa chiave XOR\r\nLa chiave XOR è associata alla variabile $GdFsODSAO ed è derivata dalla riassegnazione di variabili in un codice\r\nlungo 18.000 righe. Senza questa chiave, non è possibile decodificare correttamente il contenuto.\r\nLa soluzione più rapida per ottenere la chiave XOR è stata quella di isolare il codice fino alla dichiarazione della\r\nvariabile $GdFsODSAO , aggiungendo una riga allo script per salvare il valore in un file (denominato xorkey.txt )\r\ned eseguirlo sulla sandbox AnyRun.\r\nSet-Content C:\\Users\\admin\\Desktop\\xorkey.txt $GdFsODSAO;\r\nDecodifica della chiave XOR sfruttando AnyRun\r\nLa chiave XOR ottenuta è AMSI_RESULT_NOT_DETECTED , che rappresenta il valore restituito dall’API AMSI\r\n(Antimalware Scan Interface) di Microsoft ed indica che il contenuto analizzato non è stato identificato come\r\ndannoso o sospetto dal software antivirus.\r\nDecodifica della funzione principale\r\nA questo punto è possibile utilizzare la chiave all’interno della funzione fdsjnh per decodificare il contenuto. A\r\ntal proposito, è stato sviluppato il seguente codice Python per eseguire la decodifica:\r\nimport base64 # Array di byte dsAHg78dAS = [83,50,53,122,68,84, ...] def fdsjnh(): # Converte l'array\r\ndi byte in una stringa z = ''.join([chr(byte) for byte in dsAHg78dAS]) # Decodifica Base64\r\ndecoded_string = base64.b64decode(z).decode('utf-8') # Chiave XOR xor_key =\r\n\"AMSI_RESULT_NOT_DETECTED\".encode('utf-8') # Decodifica XOR byte_string = decoded_string.encode('utf-8') xord_data = bytearray( byte ^ xor_key[i % len(xor_key)] for i, byte in enumerate(byte_string) ) #\r\nhttps://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso/\r\nPage 3 of 5\n\nRestituisce il risultato decodificato come stringa return xord_data.decode('utf-8') # Stampa risultato\r\nprint(fdsjnh())\r\nIl codice restituito dalla funzione fdsjnh è nuovamente uno script PowerShell di 2 MB, contenente una variabile\r\n$a a cui è assegnata una lunga stringa codificata in Base64. Da questa stringa si ottiene un file eseguibile (EXE)\r\nche si rivela essere proprio il malware Lumma Stealer.\r\nEseguibile Lumma Stealer ottenuto dal Base64 presente nello script PowerShell\r\nAccount Steam Community per i C2\r\nLumma Stealer continua a sfruttare il consueto profilo della Steam Community per ottenere i domini dei server di\r\ncommand and control (C2) in forma codificata ROT15, ai quali invia i dati esfiltrati come credenziali, wallet e\r\ninformazioni personali. Inoltre, attraverso questi server, riceve aggiornamenti su nuovi codici da eseguire e\r\nulteriori file da scaricare.\r\nhttps://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso/\r\nPage 4 of 5\n\nProfilo Steam Community contenente i C2 cifrati\r\nAzioni intraprese\r\nA valle di questa analisi, i responsabili del sito compromesso sono stati informati ed invitati a risolvere\r\nprontamente il problema. Nel frattempo, la campagna è stata censita ed i relativi Indicatori di Compromissione\r\n(IoC) sono stati diffusi tramite il feed IoC del CERT-AGID.\r\nIndicatori di Compromissione\r\nAl fine di rendere pubblici i dettagli per il contrasto di questa campagna, vengono di seguito riportati gli indicatori\r\nrilevati, già diramati attraverso il Feed IoC del CERT-AGID a tutti gli enti le pubbliche amministrazioni\r\naccreditate.\r\nLink: Download IoC\r\nSource: https://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-comprom\r\nesso/\r\nhttps://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso/\r\nPage 5 of 5",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"Malpedia"
	],
	"origins": [
		"web"
	],
	"references": [
		"https://cert-agid.gov.it/news/analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso/"
	],
	"report_names": [
		"analisi-di-una-campagna-lumma-stealer-con-falso-captcha-condotta-attraverso-domino-italiano-compromesso"
	],
	"threat_actors": [],
	"ts_created_at": 1775434073,
	"ts_updated_at": 1775826707,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/09759bf9edd9a34b4aac4e6f479e02d11f7e5769.pdf",
		"text": "https://archive.orkl.eu/09759bf9edd9a34b4aac4e6f479e02d11f7e5769.txt",
		"img": "https://archive.orkl.eu/09759bf9edd9a34b4aac4e6f479e02d11f7e5769.jpg"
	}
}