QBot, conosciuto anche come Qakbot, QuackBot o Pinkslipbot è un trojan bancario osservato per la prima volta nel 2007. Oggi Qbot è una minaccia persistente contro le aziende ed ha conquistato un posto stabile nel novero dei più importanti e pericolosi trojan bancari. Nel corso degli anni ha cambiato la tecnica iniziale di attacco per distribuire payload: dalle macro VBA, alle macro Excel 4, all’exploit di vulnerabilità come Follina ecc..
Recentemente i nostri Quick Heal Security Labs hanno individuato una nuova tecnica di attacco da parte di Qbot, chiamata “Smuggling dell’HTML” o per renderlo in italiano “contrabbando dell’HTML”. Ecco i dettagli
Che cosa è un attacco di Smuggling dell’HTML?
Lo Smuggling dell’HTML è un attacco vettore nel quale un attaccante “contrabbanda” script dannosi criptati o payload integrati. Per farlo, utilizza i documenti HTML 5 o script JavaScript.
Esistono più modi per attaccare una vittima utilizzando questa tecnica:
- usando un tag anchor:
il tag anchor HTML “a” definisce un collegamento ipertestuale che collega una pagina ad un’altra. Crea un hyperlnk a una altra pagina web, file, location o verso qualsiasi URL. Anche per scaricare un file ospitato su un qualsiasi server si può usare un tag anchor. Ad esempio
- usando un blob Javascript:
i blob Javascript sono oggetti composti da una raccolta di byte contenenti i dati archiviati in un file. I dati BLOB vengono archiviati nella memoria dell’utente. Queste raccolte di dati sono usate “nello stesso posto” in cui sarebbe stato usato un altro file già presente. In altre parole i Blob possono essere usati per costruire oggetti simili a file su un client: questi file possono essere poi passati nelle API JavaScript che prevedono l’uso di URL. Ad esempio, i byte del file payload.exe possono essere forniti come input JS in un Blob JS: il blob può così essere compilato e scaricato sul lato utente; - l’uso di elementi integrati:questa tecnica consiste nell’integrare in un documento HTML applicazioni esterne, che generalmente sono contenuti multimediali come audio e video. Questi documenti HTML possono quindi essere usati come contenitori per plugin-in integrati, come le animazioni flash.
Smuggling dell’HTML: perché questa tecnica è così utilizzata?
Quando la vittima apre il documento HTML, questo decripta i file integrati e li salva localmente. A causa di questi pattern criptati, nessun contenuto dannoso passa attraverso la rete, aggirando filtri di rete e firewall: il file dannoso viene infatti “composto” direttamente sulla macchina della vittima. Ecco spiegato il grande successo di questa tipologia di attacco.
Qbot: la catena di infezione
In uno dei documenti analizzati, i nostri ricercatori hanno scoperto che un elemento HTML integrato è stato creato con il metodo “document.createElement”. Una tecnica furba per distribuire i payload in archivi ZIP. Nell’immagine sotto si possono vedere i dati criptati in base64 per il file ZIP
Durante l’apertura del file HTML, l’utente viene indotto a pensare tramite alcune schermate fake di stare scaricando un file ZIP: lo ZIP invece è già integrato nel file HTML. Nell’immagine si vede anche la password di questo archivio “abc555”.
Una volta estratto il file ZIP, ecco il file immagine ”REJ_2975” che, di nuovo, contiene a sua volta moltissimi file.
Il file REJ è quello responsabile del condurre ulteriormente l’attacco. Lo scopo di questo file è infatti quello di eseguire lo script “riprocessato” nella cartella “oslo”. Successivamente, lo script eseguirà il loader DLL finale di Qbot, chiamato “counteractively.dat”, come mostrato in figura
Il payload viene quindi iniettato in wermgr.exe
Qbot: analisi della DLL
Il loader DLL del trojan Qbot in questo caso è un binario a 32bit compilato in Delphi, senza funzioni di esportazione
Come Qbot ottiene la persistenza
Qbot usa il registro di sistema e l’auto replicazione per ottenere la persistenza. Una volta eseguito il payload, Qbot ottiene la persistenza con due passaggi:
- copia sé stesso nella cartella %AppData%\Roaming\Microsoft\{RandomStrings};
- crea una voce di registro che punta sul payload.
- La creazione della cartella e la DLL sono caricate tramite regsvr32.exe:
Comunicazioni C2
Come mostrato sotto, il processo wermgr.exe esegue connessioni ai seguenti IP “hard coded”
Per concludere
Disabilitare JavaScript, nella maggior parte degli ambienti, non è fattibile perché troppi sistemi e applicazioni web legittime ne fanno uso. In aggiunta a ciò, molti framework JavaScript legittimi usano tecniche di offuscamento per minimizzare le dimensioni dei file e migliorare la velocità delle applicazioni web. Insomma, bloccare i JavaScript offuscati non è un’opzione pratica.
Di conseguenza, si consiglia agli utenti di prestare massima attenzione alle email sospette con allegati HTML. Le funzionalità di protezione degli antivirus Quick Heal mettono al riparo da questa tipologia di rischio.
Temi per la tua sicurezza online?