Chrome DevTools-techniek maakt het mogelijk om geverifieerde sessies te kapen in live Windows-browsers

Cybersecurity-onderzoekers hebben een post-exploitatietechniek gedetailleerd beschreven die het Chrome DevTools Protocol (CDP) mogelijk maakt binnen een actief Google Chrome- of Microsoft Edge-proces op Windows, waardoor een operator toegang krijgt tot cookies, opgeslagen gegevens en geverifieerde browsersessies.

Bij deze techniek wordt ervan uitgegaan dat een operator al code uitvoert op de Windows-host en wordt er geen misbruik gemaakt van een beveiligingsprobleem in Chrome of Edge.

De vereiste van voorafgaande code-uitvoering en voldoende toegang om het doelproces te manipuleren plaatst de techniek in een beperkter post-compromisscenario dan een op afstand exploiteerbare browserfout.

SpecterOps zei dat verdedigers kunnen zoeken naar tekenen van procesinjectie gericht op chrome.exe en msedge.exe met behulp van Sysmon Event ID’s 8 en 10.

“Sinds app-gebonden encryptie is ingeschakeld, hebben we een toename gezien van aanvallers die Chrome Remote Debugging gebruiken om cookies te extraheren”, zei Google in een bericht uit maart 2025.

Google veranderde het gedrag van Chrome voor foutopsporing op afstand, te beginnen met Chrome 136, nadat het een toename had waargenomen van aanvallers die Chrome Remote Debugging gebruikten om cookies te extraheren na de introductie van App-Bound Encryption (ABE). Het bedrijf zei dat diefstal van cookies met behulp van de foutopsporingsinterface al sinds 2018 wordt besproken.

Chrome 136 negeert de schakelaars –remote-debugging-port en –remote-debugging-pipe wanneer ze de standaard Chrome-gegevensmap targeten, tenzij ze vergezeld gaan van een niet-standaard –user-data-dir. De niet-standaard gegevensmap gebruikt een andere coderingssleutel, die volgens Google de gegevens van Chrome beschermt tegen aanvallers.

Volgens SpecterOps neemt de CDP-Enable-BOF een ander pad door de foutopsporingsserver te activeren vanuit een bestaand chrome.exe- of msedge.exe-proces. Het x64 Beacon Object File (BOF) stelt vervolgens de bestaande context van de browser bloot via een aangevraagde CDP-poort.

CDP in de actieve browser

Het BOF bouwt voort op eerder werk van DeathFlamingo, die documenteerde hoe CDP in december 2025 in een actieve Edge-browser werd geïnjecteerd, en op Cedric Van Bockhavens ‘Modern Session Hijacking by Living off the DevTools Protocol’, die de repository beide als basis voor het project noemt.

Op een hoog niveau voert CDP-Enable-BOF de volgende stappen uit:

  • Vindt het gevraagde live Chrome- of Edge-proces en het venster op het hoogste niveau.
  • Zoekt de geladen module chrome.dll of msedge.dll.
  • Lost interne Chromium-symbolen op met behulp van gemaskeerde bytehandtekeningen.
  • Wijst extern geheugen toe voor twee kleine stubs en een contextblok.
  • Installeert tijdelijk een externe vensterprocedure.
  • Voert de laatste aanroep uit op de thread van de browsergebruikersinterface.
  • Roept de interne StartRemoteDebuggingServer-functie van Chromium aan op de aangevraagde poort.

De repository zei dat het uitvoeren van de laatste oproep op de thread van de gebruikersinterface van de browser wordt gebruikt om de techniek betrouwbaar te maken in de aanwezigheid van CFG-, TLS- en CET-gevoelige uitvoering. De BOF vereist een actief browserproces en is beperkt tot x64-systemen.

In de openbare repository wordt niet in alle gevallen vermeld of beheerdersrechten vereist zijn.

The Hacker News heeft contact opgenomen met SpectreOps voor opheldering over privilegevereisten en compatibiliteit met de huidige browser en zal dit verhaal bijwerken bij elk antwoord.

Browserovername via CDP

Zodra het eindpunt beschikbaar is, kan de CDP-Toolkit van SpecterOps rechtstreeks met de browser communiceren of de interne WebUI-oppervlakken ervan automatiseren. De belangrijkste post-exploitatieworkflows worden hieronder vermeld:

  • Cookie-verzameling gebruikt Storage.getCookies om de cookiestatus van de browser op te vragen zonder de cookiedatabase van schijf te lezen.
  • Verzameling van browsergegevens kan geschiedenis, bladwijzers, geïnstalleerde extensies, schermafbeeldingen en opgeslagen wachtwoordmetagegevens ophalen via CDP en browser-gerenderde pagina’s.
  • Herstel van opgeslagen wachtwoord kan de autofill-workflow van Chromium uitoefenen op basis van een overeenkomende oorsprong en de resulterende gebruikersnaam- en wachtwoordveldwaarden lezen via CDP.
  • Browser overname kan een offscreen- of achtergrondbrowserdoel maken voor interactieve screencasting, of proxy-HTTP- en HTTPS-verzoeken via browserdoelen met de geverifieerde status van het slachtoffer.

De screencast-modus laat cookies, browseropslag, bedrijfsauthenticatiestatus, WebAuthn-gedrag, extensies en browserspecifiek JavaScript-gedrag achter in de Chrome- of Edge-instantie die op het aangetaste systeem draait.

De proxymodus doet upstream-verzoeken via browserdoelen die de geverifieerde status van het slachtoffer op het gecompromitteerde eindpunt dragen, waarbij cookies en de user-agent van de browser worden bewaard waar CDP ze openbaar maakt.

De Device Bound Session Credentials (DBSC) van Google, die beschikbaar zijn geworden voor Windows-gebruikers met Chrome 146, binden sessievernieuwing aan een door hardware ondersteunde sleutel en zijn ontworpen om te voorkomen dat gestolen cookies op een ander apparaat worden vernieuwd.

SpectreOps beschrijft niet het extraheren van die privésleutel. Het bedrijf zei dat het werken via de geauthenticeerde browsercontext bescherming kan omzeilen die bedoeld is om herhaling buiten het apparaat te voorkomen.

Detectie- en versielimieten

De Sysmon-documentatie van Microsoft identificeert Event ID 8 als CreateRemoteThread, dat registreert wanneer een proces een thread in een ander proces creëert, en Event ID 10 als ProcessAccess, dat registreert wanneer het ene proces een ander proces opent.

Microsoft merkt op dat gebeurtenis-ID 8 code-injectie kan aangeven, terwijl ProcessAccess aanzienlijke logboekregistratie kan genereren en over het algemeen moet worden gebruikt met filters die de verwachte activiteit verwijderen.

The Hacker News bevestigde op 14 augustus via GitHub dat de openbare BOF Chrome 147.0.7727.102 en Edge 147.0.3912.98 nog steeds als geteste versies vermeldt en de handtekeningen als versiespecifiek beschrijft.

Latere browserversies gedocumenteerd door Google en Microsoft omvatten het volgende:

  • Chroom: In de repository wordt 147.0.7727.102 vermeld zoals getest. Google heeft Chrome 151.0.7922.47/.48 op 22 juli verplaatst naar Early Stable voor een klein percentage Windows- en macOS-gebruikers.
  • Rand: De repository vermeldt 147.0.3912.98 zoals getest. Microsoft’s Stable release notes lijst 151.0.4129.78, uitgebracht op 10 augustus, als de nieuwste stabiele build vanaf 14 augustus.

De repository biedt scripts voor het afleiden van nieuwe handtekeningen wanneer browserupdates ervoor zorgen dat de symboolresolutie mislukt, maar het stelt niet vast dat de gebundelde handtekeningen onveranderd werken ten opzichte van latere browserversies.

De ontwikkeling komt een dag nadat AmnesiaStealer werd onthuld en richt zich op macOS-gebruikers met een stream_module die een operator verborgen, interactieve controle geeft over een Chromium-browser.

Jamf Threat Labs zei dat de component toetsenbord-, muis-, scroll-, navigatie- en tabbladbeheer ondersteunt via CDP, en dat het tijdens de analyse cookies in platte tekst exporteert, terwijl het Windows-onderzoek van SpecterOps CDP activeert in het reeds actieve Chrome- of Edge-proces van het slachtoffer.

Thijs Van der Does