Mandiant ha identificato un nuovo metodo per aggirare la tecnologia di isolamento del browser e ottenere operazioni di comando e controllo tramite codici QR. L'isolamento del browser è una tecnologia di sicurezza sempre più diffusa che indirizza tutte le richieste del browser web locale tramite browser remoti ospitati in un ambiente cloud o macchine virtuali. Tutti gli script o i contenuti sulla pagina web visitata vengono eseguiti sul browser remoto anziché su quello locale. Il flusso di pixel renderizzato della pagina viene quindi inviato al browser locale che ha effettuato la richiesta originale. Verrà visualizzato solo l'aspetto della pagina e il dispositivo locale sarà protetto da qualsiasi codice dannoso. Molti server di comando e controllo utilizzano HTTP per la comunicazione. Ciò causa l'isolamento del browser remoto per filtrare il traffico dannoso e rende inefficaci questi modelli di comunicazione.
La nuova tecnica di Mandiant tenta di aggirare queste restrizioni. Sebbene presenti alcune limitazioni pratiche, dimostra che le protezioni di sicurezza esistenti nei browser sono tutt'altro che perfette. I canali C2 consentono comunicazioni dannose tra aggressori e sistemi compromessi. Ciò offre agli attori remoti il controllo sul dispositivo violato e la possibilità di eseguire comandi, esfiltrare dati e altro ancora. Poiché i browser interagiscono costantemente con server esterni per progettazione, vengono attivate misure di isolamento per impedire agli aggressori di accedere a dati sensibili degli utenti. Quando l'isolamento è attivo, il browser isolato gestisce le richieste HTTP in arrivo e solo il contenuto visivo della pagina viene trasmesso in streaming al browser locale. Ciò significa che gli script o i comandi nella risposta HTTP non raggiungono mai il target. In questo modo gli aggressori non possono accedere direttamente alle risposte HTTP o di iniettare comandi dannosi nel browser.
Mandiant: come funziona la tecnica dannosa basata sul QR Code
La nuova tecnica per aggirare i meccanismi di isolamento browser moderni è ingegnosa. Invece di incorporare comandi nelle risposte HTTP, l'aggressore li codifica in un codice QR visualizzato su una pagina web. Poiché il rendering visivo di una pagina non viene rimosso durante le richieste di isolamento del browser, i codici QR possono tornare al client che ha avviato la richiesta. Nello studio di Mandiant, il browser locale della "vittima" è un client headless controllato da malware che ha precedentemente infettato il dispositivo. Questo cattura il codice QR recuperato e lo decodifica per ottenere le istruzioni. Mandiant ha mostrato un attacco al browser Google Chrome, integrando l'impianto tramite la funzionalità External C2 di Cobalt Strike, kit di pen-testing ampiamente abusato.
Sebbene Mandiant dimostri che l'attacco è fattibile, la tecnica non è impeccabile, soprattutto considerando l'applicabilità nel mondo reale. Innanzitutto, il flusso di dati è limitato a un massimo di 2.189 byte, che è circa il 74% del massimo di dati che i codici QR possono trasportare. Inoltre, i pacchetti devono ridursi ulteriormente in termini di dimensioni se ci sono problemi nella lettura dei codici QR sull'interprete del malware. In secondo luogo, bisogna tenere conto della latenza, poiché ogni richiesta impiega circa 5 secondi. Ciò limita la velocità di trasferimento dati a circa 438 byte/sec. Tale tecnica non è quindi adatta per inviare grandi payload o facilitare il proxy SOCKS.
Infine, Mandiant afferma che il suo studio non ha preso in considerazione misure di sicurezza aggiuntive. Queste includono la reputazione del dominio, la scansione degli URL, ecc. Sebbene la tecnica C2 basata su codice QR di Mandiant sia difficile da applicare, potrebbe essere pericolosa se non bloccata. Pertanto, si raccomanda agli amministratori in ambienti critici di monitorare il traffico anomalo e i browser headless che operano in modalità di automazione.