jakobfriedl/tgt-monitor-bof
GitHub: jakobfriedl/tgt-monitor-bof
异步 BOF 实现 Kerberos TGT 票据自动监控与提取,用于红队后渗透阶段的凭据窃取与横向移动。
Stars: 66 | Forks: 3
# Kerberos TGT 监控 BOF
异步 Beacon Object File (BOF),用于监控 Kerberos 登录事件,并在捕获到新的 Kerberos TGT 时唤醒代理。类似于 Rubeus 的 `monitor` 命令,此 BOF 会无限期运行并定期检查系统上的 LSA 票据缓存。当检测到新的 TGT 时,它会打印票据元数据并输出 base64 编码的 kirbi blob,可用于通过 pass-the-ticket 攻击进行横向移动。
## 工作流程
在 Conquest 中,`tgt-monitor` BOF 通过一个独立的 COFF 加载器 DLL 在后台执行。执行过程包含以下关键步骤:

## 用法
需要将以下参数传递给目标文件:
| 名称 | 类型 | 描述 |
| --- | --- | --- |
| `interval` | `int` | 检查间隔时间(以秒为单位)。 |
| `targetUser` | `string` | 指定目标用户的不区分大小写的用户名。设置此字段后,仅检索该用户的 TGT。否则,将收集所有用户的 TGT。请注意,计算机账户名需以 `$` 结尾。 |
为了便于使用,本仓库提供了一个 [Conquest 模块](./dist/tgt-monitor.py),该模块实现了以下命令。
```
Usage: tgt-monitor [--interval interval] [--user user]
Example: tgt-monitor --interval 5 --user DC01$
Optional arguments:
--interval interval INT Polling interval in seconds (default: 60).
--user user STRING Target specific username only.
```

编码后的票据可直接与 `Rubeus.exe ptt /ticket:` 或 `impacket-ticketConverter` 一起使用,以便进行进一步的横向移动,如下方屏幕截图所示。在 [Conquest](https://github.com/jakobfriedl/conquest/) 中,可以使用 `ptt` 命令将票据直接注入到当前登录会话中,从而模拟目标用户。

## 编译
```
make
```
## 致谢
此 Beacon Object File 的实现基于以下项目:
- https://github.com/Ghostpack/Rubeus
- https://github.com/RalfHacker/Kerbeus-BOF
- https://github.com/wavvs/nanorobeus
标签:Active Directory, APT攻击, Base64编码, BOF, C2框架, Cobalt Strike, COFF Loader, Conpot, CTF学习, HTTP, Kerberoasting, LSA, Pass-the-Ticket, Plaso, Rubeus, TGT监控, Ticket Cache, Windows安全, 内网渗透, 域渗透, 安全学习资源, 安全攻防, 客户端加密, 异步执行, 攻击诱捕, 横向移动, 欺骗防御, 特权提升, 电子数据取证, 编程规范, 自动化部署