Kit di phishing che utilizzano operazioni bit a bit per eludere il rilevamento
17 marzo 2026
Di David Johnson e del team di ricerca sulle minacce di Mimecast
- Gli autori dei kit di phishing stanno implementando tecniche di offuscamento che utilizzano operazioni di controllo a livello di bit per sovvertire la logica tradizionale del flusso di controllo
- Questa tecnica aumenta notevolmente i tempi di analisi, trasformando le istruzioni condizionali leggibili in operazioni matematiche compresse
- Gli autori degli attacchi utilizzano operazioni a livello di bit per filtrare i visitatori indesiderati, tra cui strumenti di sicurezza, dispositivi mobili e browser headless
Cosa stiamo osservando
Gli autori delle minacce stanno utilizzando operazioni di controllo dei bit per occultare pagine web che, nella maggior parte dei casi, hanno lo scopo di raccogliere credenziali. Anziché ricorrere a semplici istruzioni condizionali, stanno condensando più verifiche in complesse operazioni bit a bit. Ciò rende il codice notevolmente più difficile da analizzare e allunga i tempi necessari ai sistemi di rilevamento per identificare questi kit.
Gli autori degli attacchi ricorrono a queste operazioni per una serie di motivi, tra cui quello di filtrare i visitatori indesiderati — ricercatori nel campo della sicurezza, scanner automatici, dispositivi mobili, browser senza interfaccia grafica — rendendo al contempo estremamente difficile per i team di risposta agli incidenti comprendere quale sia l’effettiva funzione del codice quando lo individuano.
Come funziona il flusso di controllo e perché è importante
Il flusso di controllo descrive il modo in cui un programma passa da un'istruzione all'altra. In termini semplici, il flusso di controllo rispecchia i processi decisionali umani.
Si consideri la decisione di portare con sé un ombrello: tale azione dipende dal fatto che piova o meno. Questa logica si traduce come segue: SE fuori piove, ALLORA portate con voi un ombrello.
Nella programmazione, questa stessa logica condizionale determina quali azioni il codice eseguirà in base allo stato delle variabili. Il flusso di controllo comprende tre categorie principali:
- Istruzioni condizionali (if-else, switch) — decisioni basate su condizioni
- Istruzioni di ciclo (for, while, do-while) — azioni ripetute
- Istruzioni di salto (break, continue, return, goto) — reindirizzamento dell’esecuzione del programma
Nel contesto dei kit di phishing, ciò si traduce in una logica condizionale che determina le modalità di interazione della pagina web con la vittima.
In che modo gli autori degli attacchi interrompono il flusso di controllo
Nel tentativo di nascondere il flusso di controllo, gli autori dei kit di phishing raggruppano più istruzioni condizionali utilizzando operazioni bit a bit. Anziché creare istruzioni if-else separate per ciascuna condizione, assegnano valori binari che possono essere recuperati e valutati collettivamente.
Esempio di scenario:un kit di phishing progettato per prendere di mira gli utenti di computer fissi all’interno di una specifica organizzazione potrebbe filtrare le connessioni provenienti da dispositivi mobili. Questo concetto si estende a numerose situazioni relative alle caratteristiche dei visitatori attesi rispetto a quelle degli ospiti inattesi.
L'obiettivo è limitare l'interazione da parte di persone o macchine non autorizzate, in particolare ricercatori nel campo della sicurezza e strumenti di scansione automatizzati. Inoltre, questi controlli monitorano il comportamento degli utenti sulla pagina di phishing, rilevando se la velocità di digitazione del testo risulta innaturale o se il visitatore tenta di aprire gli strumenti di sviluppo.
Ricorrendo alle operazioni a livello di bit, i kit di phishing ostacolano notevolmente le attività di analisi, rendendo difficile per i team di sicurezza comprendere la reale funzionalità del codice.
Tre livelli di offuscamento che stiamo osservando
Livello 1: Codice leggibile standard
Nelle tipiche implementazioni dei kit di phishing, i controlli condizionali si presentano sotto forma di codice semplice:Questo codice è immediatamente comprensibile. Un analista può individuare rapidamente che il kit verifica la presenza di dispositivi mobili e di indicatori di browser headless, utilizzando istruzioni if annidate per gestire quattro possibili combinazioni. Il flusso logico rimane trasparente e facilmente tracciabile.
Livello 2: Introduzione ai bit di flag
Il livello successivo di offuscamento introduce operazioni a livello di bit, pur mantenendo una certa leggibilità:
Il codice rimane parzialmente leggibile, ma introduce la manipolazione dei bit. Ogni condizione imposta un bit specifico all’interno della variabile ` flags `. Abbiamo 4 variabili che possiamo impostare su valori binari:
- isMobile = 0001 (bit 0)
- noCookies = 0010 (bit 1)
- hasAutomationAPIs = 0100 (bit 2)
- isHeadless = 1000 (bit 3)
Queste quattro condizioni binarie danno origine a 16 stati possibili (da 0000 a 1111), che rappresentano la situazione in cui nessuna delle variabili corrisponde, quella in cui tutte le variabili corrispondono e qualsiasi combinazione tra queste due. Un analista è comunque in grado di individuare i controlli condizionali, ma per comprendere come venga utilizzata in seguito la variabile `flags` è necessario approfondire l'analisi.
Livello 3: Offuscamento avanzato
Questa fase finale dell'offuscamento prevede l'utilizzo di tecniche di offuscamento avanzate basate su array esadecimali, denominazioni insolite delle variabili e complesse operazioni bit a bit:
Questo codice sembra molto più complesso, ma in sostanza fa la stessa cosa del secondo esempio (con alcune combinazioni leggermente più articolate).
- Dichiara le variabili per i controlli quali isMobile, Cookies, AutomationAPIs.
- Verifica ciascuna delle variabili, imposta il bit corrispondente a 0 o 1 (vero o falso) e le salva tutte insieme in una nuova variabile `_0xe`. La funzione contiene inoltre alcuni valori a cui si fa riferimento ma che non vengono utilizzati altrove; ciò ha lo scopo di confondere gli analisti e di far loro perdere più tempo.
- Viene eseguito un popcount nella variabile `_0x10`. Popcount è un metodo che consente di contare il numero di 1 presenti (verrà utilizzato per determinare il numero totale di variabili presenti).
- La variabile `_0x11` gestisce le combinazioni comprese tra 0000 e> e 1111; qui vengono prese in considerazione tutte le combinazioni possibili.
- Le due variabili rimanenti, `_0x12` e `_0x13`, svolgono le funzioni descritte in precedenza: una verifica se i bit più significativi sono impostati, mentre l’altra esamina il valore nel suo complesso per verificare se supera una determinata soglia.
La logica alla base di tutti gli esempi è simile: verificare le caratteristiche dei visitatori e decidere cosa visualizzare. Tale complessità è volta esclusivamente a far perdere tempo agli analisti e a ostacolare il rilevamento automatico.
Cosa accade in natura
Sulla base degli esempi analizzati dal team Mimecast Threat Research, quando viene implementata in campagne che portano a pagine finalizzate alla raccolta di credenziali, questa logica offuscata determina prevalentemente se visualizzare il modulo di phishing o reindirizzare l’utente verso contenuti innocui.
Se il codice rileva strumenti di automazione, browser headless, cookie mancanti o dispositivi mobili (a seconda del profilo di destinazione), reindirizza silenziosamente il visitatore verso un sito web legittimo, senza lasciare alcuna traccia di intenti malevoli. I ricercatori di sicurezza che analizzano l’URL rilevano contenuti innocui, mentre gli utenti presi di mira visualizzano il modulo per la raccolta delle credenziali.
Questa strategia selettiva prolunga in modo significativo la durata operativa delle campagne di phishing, poiché i sistemi di sicurezza automatizzati non riescono a individuare i comportamenti dannosi durante le scansioni iniziali.
Obiettivi
Tecnica diffusa a livello globale, osservata in diverse famiglie di kit di phishing che prendono di mira vari settori e regioni
Aspetti relativi al rilevamento
L'uso di operazioni bit a bit su un sito può essere considerato insolito nel contesto di una tipica pagina web. Quando si riscontrano operazioni a livello di bit, è opportuno prendere in considerazione anche altri indicatori (anzianità del dominio, certificato, dettagli di consegna, ecc.) per stabilire se un sito sia legittimo o meno.
Mantenete il vostro vantaggio competitivo nell’ambito dell’intelligence sulle minacce
Unitevi alle migliaia di professionisti della sicurezza che si affidano ai nostri avvisi selezionati con cura, alle analisi degli esperti e agli IOC delle campagne per difendersi dalle più recenti minacce informatiche.
La registrazione è andata a buon fine
La ringraziamo per essersi iscritto per ricevere gli aggiornamenti relativi alle nostre notifiche sulle informazioni relative alle minacce.
Vi ricontatteremo!