SpecterOps описала захват сессий Chrome и Edge через DevTools

Исследователи SpecterOps представили технику CDP-Enable-BOF, которая включает Chrome DevTools Protocol внутри уже работающего Google Chrome или Microsoft Edge в Windows. При наличии выполнения кода на компьютере оператор может получить доступ к cookies, сохранённым данным и аутентифицированным сессиям браузера. Метод рассчитан на x64-системы и требует запущенного процесса браузера.
Отладка запускается внутри существующего процесса
Разработка не использует уязвимость Chrome или Edge и не относится к удалённым атакам на браузер. Это сценарий после компрометации: атакующему уже необходимо выполнить код на устройстве и получить достаточный доступ для манипуляций с целевым процессом.
BOF находит окно и процесс Chrome либо Edge, загруженный модуль chrome.dll или msedge.dll, а затем разрешает внутренние символы Chromium по маскированным байтовым сигнатурам. После выделения удалённой памяти и установки временной оконной процедуры он вызывает внутреннюю функцию StartRemoteDebuggingServer на потоке пользовательского интерфейса браузера.
Авторы объясняют выбор UI-потока необходимостью надёжной работы в окружениях с CFG, TLS и CET. Публичный репозиторий указывает протестированные версии Chrome 147.0.7727.102 и Edge 147.0.3912.98; сигнатуры зависят от версии. В репозитории есть сценарии для получения новых сигнатур после обновлений, но совместимость встроенных сигнатур с более поздними сборками не заявлена.
Какие данные и действия доступны через CDP
После активации конечной точки CDP-Toolkit может запросить состояние cookies через Storage.getCookies без чтения базы cookies с диска. Также заявлен сбор истории, закладок, установленных расширений, снимков экрана и метаданных сохранённых паролей через CDP и внутренние страницы браузера.
Для восстановления сохранённых паролей инструмент использует механизм автозаполнения Chromium для подходящего origin, а затем считывает значения полей имени пользователя и пароля через CDP. Возможен и интерактивный захват браузера: создание фоновой цели для трансляции экрана либо проксирование HTTP- и HTTPS-запросов через цель с действующей аутентификацией.
В режиме трансляции в работающем экземпляре остаются cookies, хранилище браузера, корпоративная аутентификация, поведение WebAuthn, расширения и специфичный для браузера JavaScript. Поэтому защита от переноса украденных cookies на другое устройство не обязательно останавливает операции внутри уже скомпрометированного браузера. Google указывала, что Device Bound Session Credentials, доступные пользователям Windows в Chrome 146, привязывают обновление сессии к аппаратно защищённому ключу; SpecterOps не описывает извлечение такого закрытого ключа.
На что смотреть командам защиты
Google изменила поведение удалённой отладки в Chrome 136: параметры --remote-debugging-port и --remote-debugging-pipe игнорируются для стандартного каталога профиля без нестандартного --user-data-dir. В исправлениях Chrome и связанных атаках были собраны другие сведения об исправлениях Chrome и связанных атаках, а новая техника идёт иным путём — запускает сервер отладки из уже работающего процесса.
SpecterOps рекомендует искать признаки инъекций в chrome.exe и msedge.exe. В документации Microsoft Sysmon Event ID 8 соответствует CreateRemoteThread, а Event ID 10 — ProcessAccess; Microsoft отмечает, что второе событие может создавать большой объём журналов и обычно требует фильтрации ожидаемой активности.
Практический вывод для бизнеса: при расследовании компрометации конечной точки нужно рассматривать запущенный браузер как источник действующих сессий, а мониторинг доступа к его процессам и предотвращение выполнения кода на рабочих станциях включать в приоритетные меры защиты.

