CSIRT Toscana

Under the Hood: analisi tecnica di un payload di phishing adattivo (BL01/250925/CSIRT-ITA)

Data:
25 Settembre 2025

Sintesi

Questo CSIRT ha recentemente analizzato i meccanismi di una sofisticata campagna di phishing, caratterizzata da codice offuscato progettato per sottrarre informazioni sensibili alle potenziali vittime, che interagisce attivamente con un server di comando e controllo (C2) al fine di aumentare la credibilità dell’attacco.

Descrizione e potenziali impatti

Questo CSIRT ha recentemente analizzato i meccanismi di una sofisticata campagna di phishing, veicolata tramite un link verso un documento da visionare tramite il servizio lecito PDFfiller (Figura 1) .

Figura 1-Link al servizio lecito
Figura 1-Link al servizio lecito

Il documento in questione si presenta come un presunto file PDF (Figura 2), apparentemente legittimo, che per essere visualizzato richiede un’autenticazione da parte dell’utente.

Figura 2-Documento fake
Figura 2-Documento fake

A tal fine, viene proposto alla vittima un link che la indirizza verso una pagina di login malevola (Figura 3), progettata per simulare un ambiente di autenticazione lecito e carpire le credenziali di accesso.

Figura 3-Pagina di login fasulla
Figura 3-Pagina di login fasulla

La suddetta schermata di login contiene del codice JavaScript offuscato volto a sottrarre informazioni sensibili agli utenti che, una volta eseguito, interagisce attivamente con un server di comando e controllo (C2), il quale guida dinamicamente il comportamento della pagina, nel tentativo di aumentare la credibilità dell’attacco attraverso risposte contestuali e flussi simulati di autenticazione.

Di seguito è riportata un’analisi dei meccanismi utilizzati per eseguire il payload malevolo.

Analisi del codice offuscato

Il codice della landing page di login presenta un payload offuscato diviso in 2 parti: la prima deputata a verificare che non vi siano controlli di debug attivi: in caso positivo l’utente verrà reindirizzato verso un noto sito di eCommerce. In caso contrario il codice prosegue con l’esecuzione della seconda parte (Figura 3) che contiene la logica malevola.

Figura 4-Codice Offuscato
Figura 4-Codice Offuscato

La decodifica avviene a runtime e prevede la concatenazione del contenuto di più variabili contenenti ognuna una porzione in Base64 del payload cifrato finale.

Le variabili hj e pp contengono rispettivamente il vettore di inizializzazione ( IV ) e la chiave AES di decrittazione.

L’algoritmo prevede prima la decodifica del payload da Base64 e successivamente la decrittazione tramite AES; infine converte l’array di byte decifrati in una stringa UTF-8 per ottenere il codice HTML/JavaScript in chiaro (Figura 5), pronto per essere eseguito durante le fasi di rendering della pagina.

Figura 5-Codice decodificato
Figura 5-Codice decodificato

Proseguendo l’analisi del codice deoffuscato, è stato individuato un secondo stadio di offuscamento: il testo contiene un ulteriore payload incorporato, codificato in Base64 (Figura 6).

Figura 6-Payload finale
Figura 6-Payload finale

Questa parte contiene il core del payload che contiene la logica di esecuzione e comunicazione con il C2.

Analisi del Core

Il payload analizzato rappresenta un kit di phishing avanzato che combina interfacce predefinite, un server C2 e offuscamento multi-stadio per massimizzare l’efficacia dell’attacco. La strategia server-side consente di variare in tempo reale l’esperienza dell’utente, mostrando schermate diverse e adattando il comportamento del sito in base alle risposte ricevute, come richieste OTP, errori, blocchi temporanei o redirect finali. Tutti gli scenari e le logiche necessarie per il furto di credenziali sono già incorporati nel codice, rendendo il phishing credibile e difficile da rilevare con analisi statiche.

Di seguito un elenco delle peculiarità analizzate:

1.1 Simulazione di interfacce di login

  • Genera interfacce di login opportunamente predisposte, che ripropongono loghi e riferimenti di servizi legittimi (Microsoft, Okta, GoDaddy, Apple o Netflix).
  • Implementa animazioni e transizioni per aumentare la credibilità e l’autenticità dell’interfaccia.

1.2 Raccolta ed esfiltrazione delle credenziali

  • Le credenziali inserite dall’utente vengono cifrate localmente con AES (modalità CBC) usando una chiave statica definita nel codice (1234567890123456).
  • I dati cifrati vengono successivamente inviati al server C2 tramite richieste HTTP di tipo POST (Figura 7).
  • Il server C2 risponde con payload cifrati che il client decodifica localmente e che contengono istruzioni per veicolare il flusso di esecuzione (vds punto 1.3).

1.3 Interazione avanzata e scenari predefiniti

  • Il codice contiene scenari predefiniti già integrati: login fallito, richiesta OTP, verifica e-mail/telefono, blocco account, redirect finale,
  • Ogni possibile risposta del server (es. otp sent, approved, error, protectaccount) attiva una sezione specifica del comportamento già presente nella pagina HTML.
  • Il portale simula vari metodi di autenticazione: OTP via SMS, app Authenticator, chiamate vocali, ecc.

1.4 Evasione e offuscamento

  • Le URL generate per la comunicazione verso il C2 sono dinamiche e casuali, rendendo più difficile il rilevamento automatico delle richieste POST.
  • Il codice rileva le caratteristiche del browser per adattare comportamenti e interfacce.
  • Sono presenti strumenti che controllano i dati inseriti dall’utente per verificare se contengono domini presenti in una lista nera, impedendo così l’elaborazione di input provenienti da determinati siti.

2. Tracciamento, telemetria e temporizzazione

  • Il client tiene traccia se l’utente ha già visitato la pagina tramite la variabile pagevisitedalready; se è la prima visita invia un evento pagevisit con btoa(userAgent) al server per identificare utenti unici.
  • Sono presenti timer di disconnessione: dopo un periodo di inattività, il portale mostra messaggi come “ We didn’t hear from you ” o “ Try again later ” per simulare timeout e aumentare la pressione psicologica.
  • Sono altresì previsti messaggi di errore simulati: “ Too many attempts ”, “ We didn’t hear from you ”, “ account locked ” – utilizzati per esortare l’utente a riprovare, fornire ulteriori dati o variare il canale di autenticazione.
  • Infine, è previsto anche un meccanismo di blocco temporaneo a seguito di troppi tentativi. Vengono visualizzate schermate che simulano il blocco dell’account, utili a persuadere la vittima nel seguire istruzioni aggiuntive (es. fornire e-mail alternativa, telefono, ecc.).

3. Tipologie di interfacce presenti nel codice

  • PDF mode (uname_pdf, sections_pdf): simula di ambienti documentali, utile per phishing legato a documenti da visualizzare o firmare.
  • DOC mode (uname_doc, sections_doc): simula un ambiente tipo Microsoft Word/Office.
  • Live mode (*_live): fornisce interfacce dinamiche per prodotti Microsoft, quali MS 365 e Outlook, con flussi di autenticazione avanzati (OTP, Authenticator).
  • Standard mode (uname, pwd, otp): mostra un’interfaccia generica, utilizzata in contesti non specifici.
Figura 7-Porzione di codice per l'esfiltrazione
Figura 7-Porzione di codice per l’esfiltrazione

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;
  • non accedere a collegamenti internet o a relativi contenuti esterni se non si è certi dell’affidabilità della risorsa;
  • accertarsi della legittimità dei siti che richiedono l’inserimento dei propri dati d’accesso;
  • abilitare l’autenticazione a più fattori (MFA) su tutti gli account aziendali e personali per ridurre l’impatto di eventuali credenziali compromesse;
  • utilizzare soluzioni di filtraggio e-mail avanzate che analizzano allegati, link e domini sospetti prima che raggiungano l’utente finale;
  • monitorare e bloccare domini e URL sospetti a livello di firewall o proxy, riducendo la possibilità di comunicazioni con server di phishing;
  • verificare la presenza di certificati SSL/TLS validi sui siti di login e diffidare di quelli privi o scaduti;
  • isolare e analizzare link o allegati sospetti in sandbox o ambienti controllati prima di aprirli;
  • implementare alerting e log centralizzati per rilevare tentativi di accesso non autorizzati o comportamenti anomali degli utenti;
  • aggiornare costantemente software e browser per ridurre il rischio di sfruttamento di vulnerabilità note.

Change log

Versione Note Data
1.0 Pubblicato il 25-09-2025 25/09/2025

Il presente articolo è un prodotto originale di csirt.gov.it, riproposto qui a solo scopo di aumentarne la visibilità. Può essere visualizzato in versione originale al seguente link

Ultimo aggiornamento

25 Settembre 2025, 17:30