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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/marcgoam/cve-2026-54121-certighost
認証と認可特権昇格脆弱性分析エクスプロイト横移動ペネトレーションテスト敵対的攻撃
GitHubmarcgoam/cve-2026-54121-certighost

CVE-2026-54121-CertiGhost

CVE-2026-54121 (Certighost) AD CS DCなりすましPoC。パッチ適用済みのSAN処理 + MAQセーフなアカウント再利用。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

CVE-2026-54121 (Certighost) - パッチ適用済みフォーク

CVE-2026-54121(別名 Certighost)の概念実証ツールの動作するフォークです。 元の研究とPoCは @H0j3n と @aniqfakhrul によるもので、詳細な分析は以下にあります:

  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26

このフォークは、要求されたSANを尊重するCAでPKINITが成功しない原因となっていたSAN処理を修正し、--target-san の解析を強化し、コンピュータアカウントの処理を再設計して ms-DS-MachineAccountQuota を使い尽くさないようにしています。

使用方法

特権ポート389と445を必要とする不正LDAP/SMBサービスを使用するため、rootで実行してください。

root@kitploit:~
sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10

正常に完了すると、対象の証明書 (.pfx) とKerberosキャッシュ (.ccache) が現在の作業ディレクトリに書き込まれます。

このスクリプトの動作

  1. 安定した単一のコンピュータアカウント(初回実行時に作成される CERTIGHOST$)を再利用するか、--computer-name で指定されたアカウントを使用します。
  2. 不正なリスナーを2つ起動します: ポート445のSMB/LSAサーバーとポート389のLDAPサーバーです。
  3. そのコンピュータアカウントとして証明書要求を送信し、管理対象IPを指すカスタム cdc 属性(--listener で指定、省略時は自動検出)と、対象DCのDNS名を持つ rmd 属性を埋め込みます。
  4. CAは不正なLSA/LDAPリスナーに接続して戻ります。リスナーは作成したアカウントとして認証し(Netlogon経由で実際のDCに検証される)、CAのルックアップに対して代わりに対象DCのID(sAMAccountName、SID、dNSHostName)を返答します。
  5. CAはDCに属する有効な証明書を発行します。
  6. スクリプトはDCのpfxを使用してPKINITを実行し、.ccache とNTハッシュを要求します。

このフォークの変更点

1. SAN修正(PKINITを成功させる)

元の実装では、CSRの subjectAltName 拡張と SAN:dns= 要求属性の両方に、対象DCのFQDN ではなく 不正コンピュータの ホスト名を使用して証明書SANを構築していました。そのため、要求されたSANを尊重するCAでは、発行された証明書に不正アカウントの dNSHostName が含まれ、PKINITがそれを誤ったプリンシパルにマッピングして、次のエラーで失敗していました:

root@kitploit:~
KDC_ERR_CLIENT_NAME_MISMATCH(Reserved for PKINIT)

SANは現在、対象DCの dNSHostName(rmd_value / target_dns)を使用します。これはPKINITがマシンアカウントをマッピングする値です。発行される証明書は DNS:<dc>.<domain> を提示し、AS-REQはDCとして完了します。

2. 堅牢な --target-san

--target-san は、短い NAME 形式のみではなく、MEEREEN、MEEREEN$、またはFQDN meereen.essos.local(sAMAccountName または dNSHostName で照合)のいずれも受け付けるようになりました。

3. コンピュータアカウントの再利用(MAQ枯渇なし)

元の実装では、実行のたびに新しいランダムな GHOST********$ アカウントを作成していました。ms-DS-MachineAccountQuota を介して作成されたコンピュータアカウントは Domain Admins が所有する(作成者ではない)ため、低特権ユーザーは それらを削除できず、実行を繰り返すと孤児アカウントでクォータ(デフォルト10)をすぐに使い果たしていました。

このフォークは単一の安定したアカウント(CERTIGHOST$、存在しない場合にのみ作成)を再利用するため、クォータは増えず、実行間でクリーンアップするものもありません。

4. 残存アカウントの警告

アカウントが初めて作成されると、スクリプトはADに残されることを示す警告を表示します:

root@kitploit:~
[!] WARNING: computer account CERTIGHOST$ was created and is left in AD.

このアカウントは後続の実行で再利用するために残されます。完全に削除するには、オブジェクト所有者であるDomain Adminで削除してください:

root@kitploit:~
Get-ADComputer CERTIGHOST | Remove-ADComputer -Confirm:$false

要件

  • Python 3
  • impacket
  • cryptography、pyasn1、asn1crypto、pycryptodomex

参照

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121
  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
  • https://github.com/aniqfakhrul/CVE-2026-54121 (元のPoC)

免責事項

正規のセキュリティテストおよび教育目的にのみ使用してください。明示的にテスト許可を得たシステムに対してのみ使用してください。

ツールをダウンロード