Недавно узнал об интересном инструменте ChromeKatz, который позволяет извлекать чувствительную информацию из памяти браузеров на базе Chromium. На данный момент ChromeKatz состоит из двух проектов: CookieKatz для извлечения куки и CredentialKatz для извлечения паролей.
Еще по теме: CVE-2024–4761 — опасная уязвимость Chrome
Извлечение паролей Chrome используя ChromeKatz
Давайте сначала рассмотрим CredentialKatz. Этот инструмент позволяет извлекать все учетные данные из менеджера учетных данных Chrome и Edge.
Браузеры Chromium хранят пароли в зашифрованном виде, но по какой-то причине в классе PasswordReuseDetectorImpl есть массив passwords_with_matching_reused_credentials_, который содержит все учетные данные в открытом виде. Причем как локально сохраненные пароли, так и синхронизированные с учетной записью.
Возможности:
- Можно извлечь учетные данные браузеров других пользователей при запуске с повышенными правами.
- Не требуются ключи DPAPI для расшифровки.
- Нет необходимости обращаться к файлу базы данных на диске.
- Можно анализировать менеджер учетных данных офлайн из файла дампа памяти.
CredentialKatz доступен в трех вариантах: исполняемый файл PE, Beacon Object File и парсер минидампов.
Вот пример запуска экзешника:
1 2 3 4 |
.\CredentialKatz.exe .\CredentialKatz.exe /edge .\CredentialKatz.exe /pid: .\CredentialKatz.exe /edge /pid: |
Флаги:
- /edge — для Edge
- /pid — указать конкретный PID
- /list — список доступных процессов
- /help — справка
Для Beacon Object File команды выглядят так:
1 2 |
beacon> credential-katz [chrome|edge] [pid] beacon> cookie-katz-find [chrome|edge] |
Парсер минидампов используется следующим образом:
1 |
.\CredentialKatzMinidump.exe .\msedge.DMP |
Извлечение куки Chrome используя ChromeKatz
Теперь о CookieKatz. Он позволяет извлекать куки напрямую из памяти процесса Chrome, Edge или Msedgewebview2.
Возможности:
- Поддержка режима инкогнито.
- Доступ к кукам браузеров других пользователей при запуске с повышенными правами.
- Извлечение куки из процессов Webview.
- Нет необходимости обращаться к файлу базы данных на диске.
- Не требуются ключи DPAPI для расшифровки.
- Можно анализировать куки офлайн из файла дампа памяти.
Однако есть и минус — метод поиска правильных смещений в памяти может перестать работать в будущих версиях браузеров. Также не поддерживаются 32-битные установки браузеров.

Как видите, тулзу даже можно подружить с Cobalt Strike.
Примеры запуска исполняемого файла:
1 2 3 4 5 |
.\CookieKatz.exe .\CookieKatz.exe /edge .\CookieKatz.exe /pid: .\CookieKatz.exe /webview /pid: .\CookieKatz.exe /list /webview |
Для Beacon Object File:
1 2 |
beacon> cookie-katz [chrome|edge|webview] [pid] beacon> cookie-katz-find [chrome|edge|webview] |
Парсер минидампов:
1 |
.\CookieKatzMinidump.exe .\msedge.DMP |
Чтобы собрать проекты, можно использовать Visual Studio с конфигурацией Release или Debug для платформы x64. Для BOF версии можно использовать nmake в x64 Native Tools Command Prompt:
1 |
nmake all |
В целом ChromeKatz — отличный инструмент для извлечения чувствительной информации из Chrome.
ПОЛЕЗНЫЕ ССЫЛКИ:
- Как вытащить куки из Chrome на Python
- Извлечение паролей из Chrome на Python
- Извлечение данных из браузера Chrome Firefox Edge