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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Certighost_CVE-2026-54121 — CVE-2026-54121(Certighost)的一键利用工具,针对AD CS证书身份欺骗。自动化执行机器账户创建、流量重定向、恶意CA、PKINIT以及NT哈希提取,以实现域沦陷。 | Kitploit
ツール/GitHubGitHub/trya9ain/certighost_cve-2026-54121
脆弱性分析エクスプロイトポストエクスプロイトペネトレーションテストレッドチーミング
GitHubtrya9ain/certighost_cve-2026-54121

Certighost_CVE-2026-54121

CVE-2026-54121(Certighost)的一键利用工具,针对AD CS证书身份欺骗。自动化执行机器账户创建、流量重定向、恶意CA、PKINIT以及NT哈希提取,以实现域沦陷。

リポジトリを見る

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
11時間32分前未レビュー
共有

certighost-oneclick

CVE-2026-54121(Certighost)ワンクリック悪用ツール —— ローカルラボ/認可テスト専用。

上流 PoC(@h0j3n 分析 / @aniqfakhrul 実装)をベースに改良した Windows ネイティブ版: 自作 WinDivert リダイレクタ(pydivert)を内蔵し、1コマンドで「アカウント作成 → リダイレクト → rogue リスニング → CA chase → ドメインコントローラ身分証明書 → PKINIT → DC マシンアカウント NT ハッシュ」を完了。 Server サービスを停止せず、ホストの設定を一切変更せず、終了時に即復元。

上流との差分(パッチ一覧)

パッチ説明
--redirect内蔵 WinDivert リダイレクタ(445 → --lsa-port、狭域フィルタ:listener IP のトラフィックのみハイジャック)。プロセス起動/終了に連動し、終了時に 445 を自動復元。公式 PortBender(公式成果物は CS 専用 32bit リフレクティブ DLL で単独実行不可)の代替
--lsa-portrogue LSA/SMB リスニングポートをパラメータ化(デフォルト 445;--redirect 時はデフォルト 8445)
os.geteuid ガード上流の root チェックが Windows でクラッシュ → hasattr ガード + Windows ポートヒント
準備完了チェックのパラメータ化上流のハードコード port_ok(127.0.0.1, 445) → args.lsa_port
PEP 723 ヘッダuv run certighost.py ... で直接実行、依存関係を自動解決(git-master impacket 含む)、環境汚染ゼロ
--new-computer-nameアカウント作成時のカスタム名(GHOST* 検知シグネチャ回避)
--new-computer-passアカウント作成時のカスタムパスワード(ドメインパスワードポリシー準拠必須)
random.randbytes polyfillimpacket git-master が smbserver インポート時に 3.9+ API を使用。3.8 系で必要、os.urandom で実装
終了処理で即退場GGWP 後に flush + os._exit()(impacket の非 daemon スレッドによる数分間のハングを根治)
終了コードの意味付け0 成功 / 1 失敗
<dc>.hash.txt 保存DC マシンアカウント NT ハッシュをファイルに書き込み(name:lm:nt の1行のみ)

使い方

① 事前チェック(読み取り専用、CA と悪用前提の確認):

root@kitploit:~
uv run check_ca.py -d bingo.com -dc-ip 192.168.16.144 -u zhaolei -p 'pass'

Enterprise CA 一覧、Machine テンプレートの発行・登録権限を出力(Domain Computers に Enroll が必要)。 CA マシンで chase フラグを別途確認:certutil -getreg policy\EditFlags( EDITF_ENABLECHASECLIENTDC が必要;Server 2016 デフォルトインストールで有効を実測確認済み)。

② ワンクリック悪用(Windows、管理者権限):

root@kitploit:~
uv run certighost.py -d bingo.com -u zhaolei -p '[email protected]' \
  --dc-ip 192.168.16.144 --listener <本機到達可能IP> --redirect \
  --new-computer-name MACH$ --new-computer-pass 'Your@Pw123!'

成果物3点セット(実行ディレクトリに自動保存):

ファイル内容
<dc>.pfxDC 身分証明書(PKINIT 材料)
<dc>.ccacheKerberos チケットキャッシュ
<dc>.hash.txtDC マシンアカウント NT ハッシュ(name:lm:nt の1行のみ)

③ クリーンアップ(作成アカウントの削除):

root@kitploit:~
uv run cleanup_ghost.py -d bingo.com -dc-ip 192.168.16.144 -u administrator -p 'pass' --prefix MACH

パラメータ(impacket スタイル)

パラメータ説明
-d / -u / -p / -Hドメイン / 低権限ユーザー / パスワード / NTLM ハッシュ
--dc-ipDC アドレス(必須)
--listener IProgue リスナー IP(複数 NIC 時は明示指定必須)
--redirectWindows コア:内蔵 WinDivert 445 リダイレクト(管理者 + pydivert 必要)
--lsa-port Nrogue LSA ポート(--redirect 時はデフォルト 8445)
--new-computer-nameアカウント作成時のカスタム名($ を自動付与)
--new-computer-passアカウント作成時のカスタムパスワード(existing パスと排他)
--computer-name/--computer-pass/--computer-hashMAQ 不要:制御済みマシンアカウントを再利用
--target-san DC01$偽装ターゲット指定(デフォルトで DC を自動検出)
--template証明書テンプレート(デフォルト Machine)
--ca / --ca-ipCA を手動指定
--debugプロトコル段階の全トレース

内部フロー

root@kitploit:~
Phase1  低権限ユーザーでマシンアカウント作成(MAQ パス自動 / --new-computer-* カスタム / --computer-* 既存再利用)
Phase2  [Windows] 内蔵 WinDivert リダイレクタ:listener_ip:445 -> :lsa_port
        狭域フィルタ(該当 IP のみ)、書き換え後のパケットはフィルタ対象外 = 再注入ループなし。ハンドルはプロセス終了でクローズ
Phase3  rogue サーバー:LDAP:389 + LSA/SMB:lsa_port(cdc/rmd chase に応答、DC 身分データを供給)
Phase4  マシン身分で証明書要求を送信(Machine テンプレート)、CA が rogue にコールバック → DC 身分証明書を発行
Phase5  PKINIT → KDC が PAC 内で DC マシンアカウント NT ハッシュを返却 → 抽出して .hash.txt に書き込み
Phase6  (後続)secretsdump DCSync → krbtgt → ドメイン全域掌握。cleanup_ghost で作成アカウントを削除

Linux での使い方は変更なし(root で 445/389 に直接バインド、--redirect なし)。

ハッシュ抽出メカニズム(DCSync ではない)

攻撃チェーンのハッシュ抽出は PKINIT → PAC → NT ハッシュ 経由であり、DCSync ではない:

  1. CA を騙して「身分 = DC マシンアカウント」の証明書を発行させる
  2. スクリプトが証明書で Kerberos PKINIT(公開鍵事前認証)を実行
  3. KDC が AS-REP の PAC_CREDENTIAL_INFO 内で該当アカウントの NT ハッシュを返却 (Kerberos プロトコルの設計動作:証明書認証時に NT ハッシュを PAC に格納し、NTLM レガシーアプリと互換)
  4. スクリプトが PAC を復号してハッシュを抽出 → 表示 + 保存

ハッシュ取得後に secretsdump で DCSync を行うのは第2段階の操作であり、ハッシュの取得元ではない。

パッケージング(単一ファイル exe、アーキテクチャ A 納品形態)

root@kitploit:~
# PowerShell 7
./build_exe.ps1              # デフォルト帯  (Win10 / Server 2016+)
./build_exe.ps1 3.10         # 互換帯  (Win8.1 / Server 2012 R2+)
./build_exe.ps1 legacy       # レガシー帯  (Win7 SP1 / Server 2008 R2 x64)

成果物 dist\certighost_x64.exe:19-27MB(帯による)、--uac-admin 自己昇格、ゼロ依存。 スクリプトが SHA256 チェックサムを自動出力。

レガシー帯(legacy)ビルド前提

python.org 公式 CPython 3.8.10 を以下のパスにインストールする必要あり(Win7 カーネルを サポートする最後の公式バイナリビルド。新しい UCRT API に非依存):

root@kitploit:~
D:\网安相关\Tools\Python\cpython-3.8.10-x64\

インストールコマンド(サイレント、PATH 書き込みなし、ランチャーなし):

root@kitploit:~
python-3.8.10-amd64.exe /quiet InstallAllUsers=0 TargetDir=D:\网安相关\Tools\Python\cpython-3.8.10-x64 PrependPath=0 Include_launcher=0

同時に PyInstaller==5.13.2(6.x bootloader は Win7 カーネル非対応)と cryptography==38.0.4(Rust ホイールは 38.x 以降 Win10+ を要求)を固定。いずれもスクリプト内で固定済み。

実機検証マトリクス

帯実機システムフルチェーン備考
デフォルトWin11✅
互換 3.10Win11 / Win10 / Server 2012 R2✅ ×3WinDivert 実機含む
レガシー legacyWin11 / Server 2008 R2 x64✅ ×2公式 3.8.10 + PyInstaller 5.13.2

PyInstaller+impacket はアンチウイルス検知の重災地帯である点に注意。配布前に自己評価すること。

実戦展開アーキテクチャ(2マシンモデル)

  • アーキテクチャ A(本ツールのデフォルト形態):exe 一式を外部通信可能な足場に配布(管理者権限必要)して直接実行。
  • アーキテクチャ B(貴重な足場):ツールはローカルに保持し、足場にはトンネルリモートフォワードのみ配置(389 直接バインド + 445 は 本ツールと同型のリダイレクトが必要)。

検知ポイント(ブルーチーム)

  • CA データベースに DC 身分宛に発行された不審な証明書(永続的残留)——フォレンジック第一のアンカー
  • CA イベント 4886/4887(証明書発行)と要求者-ターゲット身分の不一致(Elastic/Nextron に既存ルールあり)
  • 新規 GHOST*/カスタムマシンアカウント(4741)+ 低権限ユーザーによる CA への登録要求
  • 足場での WinDivert ドライバロードイベント(アーキテクチャ A/B 共通)

既知の制約

  • Enterprise CA + 低権限ユーザーの登録権限 + DC が 2026-07 パッチ未適用 + chase フラグ有効が必要
  • ターゲットはコンピュータアカウントのみ(Machine テンプレートの登録権限と dNSHostName 身分メカニズムによる制限) ただし DC マシンアカウント = DCSync = ドメイン全域であり、全ドメイン管理者取得と同等の効果
  • Server 2016 でフルチェーン実証済み。2012R2〜2025 は推測で可(同一 chase メカニズム)
  • アカウント作成パスは降格ラダー:LDAPS 失敗時は SAMR に自動フォールバック
  • PKINIT 段階で偶発的 ciphertext integrity failure:1回観測、リトライで回復
  • リダイレクタは IPv4 狭域設計、IPv6 シナリオは未カバー

ファイル一覧

root@kitploit:~
certighost.py            メイン exploit(上流 + Windows ネイティブ化パッチ + PEP 723)
certighost_redirect.py   自作 WinDivert 445 リダイレクタ(pydivert;--selftest/--e2e 自己テスト)
check_ca.py              事前チェック:CA/テンプレート/登録権限/chase フラグ(読み取り専用)
cleanup_ghost.py         後処理:作成アカウントの削除
build_exe.ps1            PyInstaller 単一ファイルパッケージング(pwsh7、3帯マトリクス、自動 SHA256)

上流と謝辞

  • オリジナル研究と PoC:@h0j3n(gist 分析)、@aniqfakhrul/CVE-2026-54121(上流実装)
  • Kudelski Security(脆弱性発見者);PortBender(Praetorian、リダイレクト手法の着想元)
  • pydivert(WinDivert 2.2.2 Python バインディング)
ツールをダウンロード