CSIRT Toscana

ThunderKitty: campagna di phishing volta alla diffusione di Infostealer (BL01/250319/CSIRT-ITA)

Data:
20 Marzo 2025 07:10

Sintesi

Questo CSIRT ha recentemente rilevato una nuova campagna di phishing a tema “Aggiornamento Antivirus” con impatto su utenze italiane, volta a veicolare malware con la capacità di carpire informazioni sensibili ed ottenere la persistenza sui sistemi compromessi.

Descrizione e potenziali impatti

Questo CSIRT ha recentemente rilevato la diffusione di una nuova variante malware classificabile come Stealer/Loader, altamente sofisticato e distribuito tramite campagne di phishing con impatto su utenze italiane.

La distribuzione avviene attraverso e-mail fraudolente che simulano comunicazioni lecite provenienti dal “Team di Sicurezza” aziendale, che esortano l’utenza ad aprire un archivio allegato al fine di aggiornare il proprio prodotto antivirus (Figura1).

Figura 1 – E-mail fraudolenta

L’allegato denominato “AntiVirus_Upgradefile.zip” contiene un omonimo eseguibile che, qualora estratto e avviato, attiva un payload dannoso che risulterebbe in grado di:

  • eseguire codice dinamico tramite moduli Python;
  • raccogliere dati sensibili dal sistema, nel particolare cookie e credenziali da browser;
  • accedere alle informazioni relative a wallet di criptovalute;
  • carpire eventuali credenziali FTP per ampliare la portata dell’infezione;
  • stabilire comunicazioni crittografate con un server C2, tramite Telegram;
  • mantenere la persistenza sul sistema e nascondere le proprie tracce tramite tecniche avanzate di evasione.

Le capacità elencate e le modalità di comportamento del malware suggeriscono che quest’ultimo sia una fork, opportunamente predisposta, del Trojan/Stealer denominato “ThunderKitty”.

INFEZIONE E VERIFICA AMBIENTE

Il messaggio tenta di far leva sulla sensibilità dell’utente nei confronti del tema della sicurezza al fine di ottenere l’esecuzione di codice arbitrario con privilegi elevati.

Dalle prime analisi si evidenzia che il malware risulta progettato per superare i sistemi di analisi automatizzata:

  • utilizza tecniche volte a ritardare l’esecuzione del proprio codice per eludere un eventuale sandbox;
  • analizza l’interazione utente col sistema per assicurarsi che la propria esecuzione non avvenga in un ambiente di analisi;
  • esegue query WMI per rilevare l’eventuale utilizzo di ambienti virtualizzati;
  • verifica la presenza in esecuzione di processi tipici riconducibili ad un ambiente virtuale, quali:
    • vmtoolsd.exe
    • vgauthservice.exe
    • VGAuthService.exe
  • utilizza apposite API per verificare se il processo inerente al malware è in esecuzione tramite debugger, al fine di modificare il proprio comportamento ed evitare la rilevazione;
  • crea molteplici processi gemelli per ingannare i sistemi di rilevamento e prevenire la terminazione non prevista dell’istanza principale del codice malevolo;
  • disabilita l’ambiente di ripristino di Windows tramite “reagentc.exe /disable” per impedire il ripristino del sistema in caso di infezione;
  • inietta il proprio codice all’interno di processi leciti (come explorer.exe) per nascondere le proprie azioni.

Successivamente, il malware manipola i token di accesso di Windows per garantire un’esecuzione con privilegi elevati.

Inoltre, per ogni file utilizzato durante la propria esecuzione:

  • modifica il Timestamp, al fine di ostacolare la corretta ricostruzione degli eventi tramite timeline;
  • marca opportunamente quest’ultimo per la successiva cancellazione, al fine di minimizzare le tracce di esecuzione sul sistema target.

Qualora superati i controlli e le operazioni preliminari descritti in precedenza, il codice malevolo estrae la libreria python313.dll , incorporata nel payload, per creare un ambiente Python standalone all’interno del sistema.

Successivamente provvede a caricare dinamicamente alcuni moduli Python, tra i quali _rust.pyd, _socket.pyd e _bz2.pyd, al fine di estendere le funzionalità di rete e di manipolazione dati del malware.

Completata la configurazione dell’ambiente Python, il malware estrae ed esegue un binario di supporto “tmpbf01_ryf.exe” che carica diverse librerie DLL (tra le quali libcrypto-3.dll, trattata più avanti) ed estrae il payload finale dell’infostealer presente all’interno dell’archivio ThunderKitty.zip utilizzato per la successiva raccolta di dati sensibili.

RACCOLTA DI DATI SENSIBILI

Tramite il comando taskkill il malware termina l’esecuzione di eventuali browser attivi, quali Chrome, Edge, Brave, Opera e Firefox, che potrebbero bloccare l’accesso ai relativi file di configurazione e ai cookie.

Raccoglie quindi i dati sensibili da tali browser, accedendo anche alle informazioni eventualmente memorizzate nelle estensioni installate.

Successivamente, tenta di accedere a directory, file specifici e keystore per carpire chiavi private dei wallet di criptovalute quali:

  • Bitcoin
  • Monero
  • Ethereum
  • Exodus
  • Armory
  • Jaxx
  • Atomic
  • Coinomi
  • DashCore
  • Electrum
  • Guarda

COMUNICAZIONE CON IL C2 ED ESFILTRAZIONE

Dopo aver raccolto i dati sensibili, il malware procede alla trasmissione verso il server C2.

Prima di fare ciò utilizza le componenti _bz2.pyd o _lzma.pyd per ridurre le dimensioni dei dati raccolti e procede con la cifratura degli stessi tramite le funzionalità della libreria libcrypto-3.dll.

Successivamente il malware stabilisce una connessione tramite HTTPS verso le api di Telegram api.telegram.org: nel dettaglio il modulo Python _rust.pyd, legato alla libreria cryptography/hazmat, suggerisce l’utilizzo di algoritmi di cifratura avanzata (AES, RSA) per le comunicazioni con il server C2 e l’offuscamento nella trasmissione dei dati esfiltrati.

Azioni di mitigazione

Gli utenti e le organizzazioni possono far fronte a questa tipologia di attacchi verificando scrupolosamente le e-mail ricevute e attivando le seguenti misure aggiuntive:

  • fornire periodiche sessioni di formazione finalizzate a riconoscere il phishing, diffidando da comunicazioni inattese;
  • verificare scrupolosamente i mittenti delle comunicazioni ricevute e la relativa attendibilità;
  • disabilitare la funzione di salvataggio automatico delle password all’interno dei browser; in alternativa è consigliabile utilizzare un apposito gestore delle password;
  • creare policy di restrizione per impedire l’esecuzione di file eseguibili (quali .exe, .dll, .py) dalle cartelle temporanee %TEMP% e %APPDATA%;
  • configurare le policy di sistema per impedire il caricamento (Side-Loading) di DLL non firmate da percorsi non sicuri (%TEMP%, %APPDATA%);
  • valutare l’innalzamento dei livelli di monitoraggio volti ad evidenziare traffico inatteso verso destinazioni inconsuete, quali api.telegram.org, ove non di tipico utilizzo.

Change log

Versione Note Data
2.0 Pubblicato il 19-03-2025 19/03/2025
Il presente articolo è un prodotto originale di csirt.gov.it, riproposto qui a solo scopo di aumentarne la visibilità.