ChromeKatz 直接从Chrome 进程内存中转储 cookie

ChromeKatz 直接从Chrome 进程内存中转储 cookie

ChromeKatz简介

适用于 Chrome 和 Edge 的 Cookie 转储程序

CookieKatz 是一个允许操作员直接从进程内存转储 Chrome、Edge 或 Msedgewebview2 中的 cookie 的项目。基于 Chromium 的浏览器在启动时从磁盘 cookie 数据库加载所有 cookie。

特点

  1. 支持从 Chrome 的 Incontio 和 Edge 的 In-Private 进程转储 cookie
  2. 运行提升时访问其他用户浏览器的 cookie
  3. 从 webview 进程中转储 cookie
  4. 无需接触磁盘上的数据库文件
  5. 解密 cookie 不需要 DPAPI 密钥
  6. 从小型转储文件中离线解析 cookie

不利的一面是,即使在内存中找到正确偏移的方法目前很稳定并且适用于多个不同的版本,但它肯定会在未来的某个时候崩溃。不支持 32 位浏览器安装,也不支持 CookieKatz 的 32 位版本。

目前仅转储常规 cookie。 Chromium 将分区 Cookie存储在不同的位置,并且它们目前不包含在转储中。

该解决方案由三个项目组成:CookieKatz(PE 可执行文件)、CookieKatz-BOF(Beacon 对象文件版本)和CookieKatzMinidump(小型转储解析器)。

ChromeKatz 直接从Chrome 进程内存中转储 cookie

构建和安装

在此处下载 CookieKatz-BOF 的最新版本。该 zip 文件包含已编译的 BOF 和用于运行它们的 CNA 脚本。

自己构建

您可以使用发布或调试配置和 x64 平台在 Visual Studio 上构建这两个项目。

BOF 版本是使用 Cobalt Strike 的 Visual Studio 模板bof-vs开发的。这意味着 CookieKatz-BOF 的调试配置将生成 exe 而不是 COFF 文件。您可以在此处阅读有关 Visual Studio 模板使用的更多信息。

您可以在VS 2022 的 x64 Native Tools Command Prompt中使用 nmake 编译自己的 BOF :

nmake all

用法

注意!当选择使用PID作为目标时,分别使用命令/list或cookie-katz-find来选择正确的子进程!

CookieKatz

示例:
.\CookieKatz.exe
    默认情况下,目标是第一个可用的 Chrome 进程
.\CookieKatz.exe /edge
    目标是第一个可用的 Edge 进程
.\CookieKatz.exe /pid:<pid>
    尝试以给定的 pid 作为目标,期望其为 Chrome 进程
.\CookieKatz.exe /webview /pid:<pid>
    目标是给定的 msedgewebview2 进程
.\CookieKatz.exe /list /webview
    列出可用的 webview 进程

标志:
    /edge       目标为当前用户 Edge 进程
    /webview    目标为当前用户 Msedgewebview2 进程
    /pid        尝试转储给定的 pid,例如,如果正在以提升权限运行,则可以转储其他用户的 pid
    /list       列出可作为目标的进程,与 /edge 或 /webview 一起使用以对其他浏览器进行目标设置
    /help       这就是你刚才所做的!也可以使用 -h

CookieKatz-BOF

beacon> help cookie-katz
Dump cookies from Chrome or Edge
Use: cookie-katz [chrome|edge|webview] [pid]

beacon> help cookie-katz-find
Find processes for Cookie-Katz
Use: cookie-katz-find [chrome|edge|webview]

CookieKatzMinidump

Usage:
    CookieKatzMinidump.exe <Path_to_minidump_file>

Example:
    .\CookieKatzMinidump.exe .\msedge.DMP

To target correct process for creating the minidump, you can use the following PowerShell command:
    Get-WmiObject Win32_Process | where {$_.CommandLine -match 'network.mojom.NetworkService'} | select -Property Name,ProcessId

制作人员

  • Henkru用于修复 BOF 版本崩溃并创建 CNA 脚本
  • B3arr0用于测试 BOF 版本并帮助消除错误
  • TheWover提供出色的 PEB 定义!
  • 0vercl0k用于创建 udmp-parser,它是小型转储解析的核心库

项目地址

GitHub:
https://github.com/Meckazin/ChromeKatz

转载请注明出处及链接

Leave a Reply

您的电子邮箱地址不会被公开。 必填项已用 * 标注