Il trojan bancario QBot usa la tecnica dello Smuggling dell’HTML per colpire gli utenti

Al momento stai visualizzando Il trojan bancario QBot usa la tecnica dello Smuggling dell’HTML per colpire gli utenti
  • Autore dell'articolo:
  • Categoria dell'articolo:news

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
tag anchor html
  • 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

Qbot 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 

dati criptati

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”.

Adobe file non visualizzato correttamente

Una volta estratto il file ZIP, ecco il file immagine ”REJ_2975” che, di nuovo, contiene a sua volta moltissimi file. 

estrazione file zip

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

loader DLL

Il payload viene quindi iniettato in wermgr.exe

loader DLL

Qbot: analisi della DLL

Il loader DLL del trojan Qbot in questo caso è un binario a 32bit compilato in Delphi, senza funzioni di esportazione

Loader dll  32 bit

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:
cartella dll

Comunicazioni C2

Come mostrato sotto, il processo wermgr.exe esegue connessioni ai seguenti IP “hard coded”

 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?