通过滥用带有签名的易受攻击驱动程序,利用 MmMapIoSpace 直接读取物理内存,从 LSASS 中提取凭据,从而绕过传统的用户态检测能力。
本工具由 Julian Peña 与 Eric Esquivel 合作开发。
此版本的 GhostKatz 使用了已公开披露为易受攻击的驱动程序。为获得最佳效果,GhostKatz 旨在配合暴露读取内存原语漏洞且加载时未被阻止/公开已知的内核驱动程序使用。本次公开发布不包括针对此前未公开驱动程序的利用代码。相反,该项目设计为模块化且可扩展,允许用户研究自己的驱动程序,并通过扩展 utils.c 中的读取内存原语函数来集成它们。在内部,我们已自动化发现和利用过程,并维护了几个带有编写好的利用代码的已签名内核驱动程序。
如果您想贡献,请参阅 贡献文档。
我们想开始学习如何利用内核驱动程序,并认为这将是一个很酷的项目。此外,当我们看到 Outflank 的 KernelKatz 工具并想使用它时受到了启发,但由于我们是学生,无法获得 Outflank 工具,因此我们自己制作了一个。
运行 make 编译 BOF。
将 ghostkatz.cna 攻击脚本加载到您的脚本管理器中。
要运行 GhostKatz,请使用命令 ghostkatz [logonpasswords/wdigest] -prv <provider id>。
您可以在 Beacon 控制台中运行帮助命令:help ghostkatz。
beacon> help ghostkatz
Synopsis: ghostkatz [logonpasswords/wdigest] -prv <provider id>
Description:
通过使用已签名的内核驱动程序读取物理内存来从 LSASS 中转储凭据。
Examples:
ghostkatz logonpasswords -prv 1
ghostkatz wdigest

以下是我们手动压力测试过的版本。主要版本(如 1607)在较小的内部版本更新中不应有破坏性变化。
[!警告] 尽管 GhostKatz 已经过全面测试,但如果您在生产环境中部署,应谨慎使用。GhostKatz 利用了易受攻击的内核驱动程序。错误可能导致蓝屏死机(BSOD)。
可利用 GhostKatz 的驱动程序
| ID | 供应商 | 驱动程序名称 | SHA256 |
|---|---|---|---|
| 1 | 东芝 (Toshiba) | TPwSav | 011df46e94218cbb2f0b8da13ab3cec397246fdc63436e58b1bf597550a647f6 |
| 2 | TechPowerUp | ThrottleStop | 16f83f056177c4ec24c7e99d01ca9d9d6713bd0497eeedb777a3ffefa99c97f0 |