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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/ghostpack/certify
認証と認可特権昇格脆弱性分析エクスプロイトペネトレーションテストレッドチーミング
GitHubghostpack/certify

Certify

C#ツールで、Active Directory Certificate Services (AD CS)の設定ミスを列挙し悪用するためのもので、証明書テンプレートの悪用、特権昇格、ドメイン永続化を可能にします。

リポジトリを見る
2.0k282928日前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

Certify

Certifyは、Active Directory証明書サービス(AD CS)における設定ミスを列挙し悪用するためのC#ツールです。

@harmj0y と @tifkin_ がCertifyおよび関連するAD CS研究(ブログおよびホワイトペーパー)の主な作者です。

目次

  • Certify
    • 使用方法
    • 防御に関する考慮事項
    • コンパイル手順
      • 補足:PowerShellを介したCertifyの実行
        • 補足の補足:PSRemotingを介したCertifyの実行
    • 所感
    • 謝辞

使用方法

コマンドの概要と包括的な使用法の詳細は、wiki にあります。

防御に関する考慮事項

Certifyは、2021年のBlack Hatでの講演「Certified Pre-Owned: Abusing Active Directory Certificate Services」と共にリリースされました。

予防と検出のガイダンスについては、ホワイトペーパーを参照してください。

コンパイル手順

Certifyのバイナリをリリースする予定はないため、ご自身でコンパイルする必要があります :)

Certifyは.NET 4.7.2に対してビルドされており、Visual Studio 2022 Community Editionと互換性があります。プロジェクトの.slnファイルを開き、「Release」を選択してビルドするだけです。

補足:PowerShellを介したCertifyの実行

CertifyをPowerShellラッパーを介してメモリ内で実行したい場合は、まずCertifyをコンパイルし、結果のアセンブリをBase64エンコードします。

root@kitploit:~
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Temp\Certify.exe")) | Out-File -Encoding ASCII C:\Temp\Certify.txt

次に、以下の方法でCertifyをPowerShellスクリプトに読み込むことができます("aa..."の部分はBase64エンコードされたCertifyアセンブリ文字列に置き換えてください)。

root@kitploit:~
$CertifyAssembly = [System.Reflection.Assembly]::Load([Convert]::FromBase64String("aa..."))

その後、Main()メソッドと任意の引数を次のように呼び出すことができます。

root@kitploit:~
[Certify.Program]::Main("enum-templates --filter-enabled --filter-vulnerable".Split())

補足の補足:PSRemotingを介したCertifyの実行

PSRemotingが出力を処理する方法のため、stdoutを文字列にリダイレクトして返す必要があります。幸い、Certifyにはそれを支援する関数があります。

補足:PowerShellを介したCertifyの実行の手順に従ってCertify.ps1を作成した場合は、スクリプトに以下のようなものを追加してください。

root@kitploit:~
[Certify.Program]::MainString("enum-templates --filter-enabled --filter-vulnerable")

その後、次のようなコマンドでPSRemotingを介してCertifyを実行できるはずです。

root@kitploit:~
$s = New-PSSession dc.theshire.local
Invoke-Command -Session $s -FilePath C:\Temp\Certify.ps1

または、Certifyの/outfile:C:\FILE.txt引数を使用すると、すべての出力ストリームを指定したファイルにリダイレクトできます。

所感

公開開示について:私たちは、攻撃ツール(CertifyおよびForgeCert)のリリースを、ホワイトペーパー公開後約45日間自己保留し、組織がActive Directory証明書サービスに関する問題に対処する機会を確保しました。また、両プロジェクトのYaraルール/IOCを先行的にリリースし、ホワイトペーパーと共に防御に特化したPowerShellプロジェクトPSPKIAuditも公開しました。しかし、組織やベンダーは、誰かが概念実証で可能性を証明するまで、「理論上の」攻撃に対する問題を修正したり検出を構築したりしないことが歴史的に多いと私たちは見ています。

謝辞

Certifyは、参考および着想として以下のオンラインリソースを使用しました。

  • C#から証明書を要求する際のこの投稿。
  • SAN指定に関するこのgist。
  • 秘密鍵のエクスポートに関するこのStackOverflowの投稿。
  • pkiExpirationPeriodの変換に関するこのPKISolutionsの投稿。
  • 登録エージェントのセキュリティDACLを説明するMS-CSRAのこのセクション。

AD CSの研究は、多くの他の人々の研究に基づいています。ホワイトペーパーに完全な説明がありますが、以下に要約します。

  • Benjamin Delpy氏:MimikatzとKekeoを使用したスマートカード/証明書に関する広範な研究。
  • PKI Solutions社:Active DirectoryにおけるPKIに関する優れた記事と、私たちの監査ツールキットのベースとなるPSPKI PowerShellモジュール。
  • Brian Komar氏の著書『Windows Server 2008 – PKI and Certificate Security』。
  • Microsoft提供の以下のオープン技術仕様書:
    • [MS-CERSOD]:Certificate Services Protocols Overview
    • [MS-CRTD]:Certificate Templates Structure
    • [MS-CSRA]:Certificate Services Remote Administration Protocol
    • [MS-ICPR]:ICertPassage Remote Protocol
    • [MS-WCCE]:Windows Client Certificate Enrollment Protocol
  • Christoph Falta氏のGitHubリポジトリ:証明書テンプレートへの攻撃に関する詳細(仮想スマートカードやACLベースの悪用のアイデアを含む)。
  • CQUREの記事「The tale of Enhanced Key (mis)Usage」:サブジェクト代替名の悪用に関する内容。
  • Keyfactorの2016年の記事「Hidden Dangers: Certificate Subject Alternative Names (SANs)」
  • @Elkement氏の記事「Sizzle @ hackthebox – Unintended: Getting a Logon Smartcard for the Domain Admin!」および「Impersonating a Windows Enterprise Admin with a Certificate: Kerberos PKINIT from Linux」:証明書テンプレートの設定ミスについての詳細。
  • Carl Sörqvist氏:これらの設定ミスの一部がどのように発生するかについての詳細で妥当なシナリオを「Supply in the Request Shenanigans」で解説。
  • Ceri Coburn氏:2020年の優れた投稿「Attacking Smart Card Based Active Directory Networks」:スマートカードの悪用とCertifyへの追加機能についての詳細。
ツールをダウンロード
  • Brad Hill氏:ホワイトペーパー「Weaknesses and Best Practices of Public Key Kerberos with Smart Cards」:セキュリティの観点からのKerberos/PKINITに関する優れた背景情報。