3min Security

QR-codes omzeilen browserisolatie voor kwaadaardige C2-communicatie

QR-codes omzeilen browserisolatie voor kwaadaardige C2-communicatie

Mandiant heeft een nieuwe methode geïdentificeerd waarmee men browserisolatie kan omzeilen en command-and-control (C2)-operaties kunnen worden uitgevoerd via een QR-code.  

Browserisolatie (browser isolation technology) is een steeds populairdere beveiligingstechnologie die alle lokale webbrowserverzoeken via externe webbrowsers in een cloudomgeving of virtuele machines laat verlopen.  

Bescherming tegen kwaadaardige code

Alle scripts of content op de bezochte webpagina worden uitgevoerd op de externe browser in plaats van de lokale. De gerenderde pixelstream van de pagina wordt vervolgens teruggestuurd naar de lokale browser die het oorspronkelijke verzoek deed, waarbij alleen wordt weergegeven hoe de pagina eruitziet en het lokale apparaat wordt beschermd tegen schadelijke code. 

Veel command-and-control-servers gebruiken HTTP voor communicatie, wat doorgaans wordt gefilterd door browserisolatie, waardoor traditionele C2-modellen minder effectief worden.  

Mandiant ontwikkelde een techniek die deze beperkingen probeert te omzeilen. Dit meldt BleepingComputer. Hoewel de methode praktische beperkingen heeft, toont deze aan dat bestaande beveiligingsmaatregelen in browsers niet perfect zijn. Dit benadrukt het belang van een gelaagde verdediging (“defense in depth”). Hierbij combineert men meerdere beveiligingsmaatregelen.

C2-kanalen stellen aanvallers in staat om met geïnfecteerde systemen te communiceren, waardoor ze op afstand controle krijgen over het getroffen apparaat. Dit stelt hen in staat om commando’s uit te voeren, gegevens te exfiltreren, en meer.  

Gesandboxte omgeving

Browsers communiceren voortdurend met externe servers, en daarom worden isolatiemaatregelen toegepast om te voorkomen dat aanvallers gevoelige gegevens van het systeem bemachtigen. Dit gebeurt door de browser in een afzonderlijke, gesandboxte omgeving te laten draaien, zoals in de cloud of op een lokale virtuele machine.  

Bij actieve isolatie verwerkt de gesandboxte browser inkomende HTTP-verzoeken, en alleen de visuele inhoud van de pagina wordt naar de lokale browser gestreamd. Dit voorkomt dat scripts of commando’s de lokale browser bereiken en maakt het voor aanvallers moeilijker om C2-communicatie uit te voeren.  

De onderzoekers van Mandiant ontwikkelden een nieuwe techniek om moderne browserisolatiemechanismen te omzeilen. In plaats van commando’s in HTTP-reacties in te bedden, worden deze gecodeerd in een QR-code die visueel op een webpagina wordt weergegeven. Aangezien de visuele weergave van een webpagina niet wordt verwijderd tijdens isolatieverzoeken, kunnen de QR-codes de lokale browser bereiken die het verzoek initieerde.  

In het onderzoek van Mandiant fungeert de lokale browser van het “slachtoffer” als een headless client die wordt bestuurd door malware. Deze malware leest de ontvangen QR-code. En decodeert deze om de commando’s te verkrijgen.  

Mandiant heeft de aanval gedemonstreerd met een proof-of-concept (PoC). En wel op de nieuwste versie van Google Chrome. Hierbij integreerde men de implant met behulp van de External C2-functie van Cobalt Strike. Dit is een veelgebruikt pen-testhulpmiddel dat aanvallers vaak misbruiken.  

Beperkingen van de technologie

Hoewel de PoC aantoont dat de aanval haalbaar is, heeft de techniek enkele beperkingen:  

Beperkte data-overdracht
De datastroom is beperkt tot maximaal 2.189 bytes, ongeveer 74% van wat QR-codes maximaal kunnen bevatten. Bij problemen met het interpreteren van QR-codes moeten de pakketgroottes verder worden verkleind.  

Traagheid
Elke aanvraag duurt ongeveer 5 seconden. Dit beperkt de gegevensoverdracht tot ongeveer 438 bytes per seconde. Dit maakt de techniek ongeschikt voor het verzenden van grote hoeveelheden data. Of voor SOCKS-proxying.  

Extra beveiligingsmaatregelen
Factoren zoals domeinreputatie, URL-scanning, data loss prevention en heuristieken voor verzoeken kunnen in sommige gevallen deze aanval blokkeren. Of minder effectief maken.  

Hoewel deze QR-code-gebaseerde C2-techniek een lage bandbreedte heeft, kan het nog steeds gevaarlijk zijn als het niet wordt geblokkeerd. Beheerders in kritieke omgevingen wordt aanbevolen om te letten op abnormaal verkeer. En op headless browsers die in geautomatiseerde modus werken.