コンテンツにスキップ

CertiHound - AD CS BloodHound 列挙 チートシート

CertiHound - AD CS BloodHound 列挙 チートシート

CertiHound は Active Directory Certificate Services(AD CS)列挙ツール。証明書テンプレートと CA 設定を LDAP 経由で収集し、BloodHound CE 互換形式でエクスポートします。PKI ノードと証明書悪用エッジ(ESC1–ESC スタイル攻撃パス)を BloodHound グラフに追加して、証明書ベースの権限昇格が古典的な AD 攻撃パスと並んで表示されるようにします。Certipy の ADCS 悪用と BloodHound の攻撃パス可視化のギャップを埋めます。

認可評価のみを対象。AD CS の列挙にはドメイン認証情報と許可が必要。

インストール

方法コマンド
pippip install certihound
ソースからリポジトリを git clone して、 pip install -e . 実行
要件ドメインへの LDAP アクセス。表示用に BloodHound CE v6
確認certihound --help

AD CS データ収集

certihound -u analyst -p '***' -d example.local \
  -dc dc01.example.local -o output/
フラグ目的
-u, --usernameドメインユーザー
-p, --passwordパスワード(またはハッシュ/Kerberos)
-d, --domainターゲットドメイン
-dc, --domain-controllerLDAP クエリ用 DC
-o, --outputJSON 出力ディレクトリ
--ldapsLDAPS(636)を使用

出力は BloodHound CE にインポートする JSON ファイル群です。

列挙対象

AD CS オブジェクト重要な理由
認証局登録/CA 設定、web 登録
証明書テンプレートESC 設定ミスの中核
登録権誰がどのテンプレートをリクエストできるか
テンプレートフラグENROLLEE_SUPPLIES_SUBJECT 、EKU など
CA 権限ManageCA / ManageCertificates 権限

表示される ESC 攻撃パス

ESC設定ミス
ESC1テンプレートがサブジェクト + auth EKU 提供を許可
ESC2任意用途 EKU テンプレート
ESC3登録エージェントテンプレート
ESC4脆弱なテンプレート ACL(書き込み可能テンプレート)
ESC6CA 上の EDITF_ATTRIBUTESUBJECTALTNAME2
ESC7脆弱な CA 権限
ESC8AD CS web 登録への NTLM リレー

CertiHound はこれらをエッジとしてエンコードしており、BloodHound は低権限ユーザーから Domain Admin へ証明書悪用を経由したパスを追跡できます。

BloodHound CE へのインポート

ステップ実行方法
1CertiHound を実行して JSON を生成
2BloodHound CE で、Ingest UI/API 経由で JSON をアップロード
3PKI ノード/エッジがグラフに表示される
4AD CS を走査する高価値ターゲットへのパスをクエリ

一般的なワークフロー

# AD CS を列挙して証明書攻撃パスを BloodHound CE にロード
certihound -u audit -p '***' -d corp.local -dc dc.corp.local -o adcs/
# → adcs/*.json を BloodHound CE にアップロード。以下をクエリ:
#   "shortest path to Domain Admins" (PKI エッジ含む)

# 実際の悪用には Certipy と組み合わせ

AD CS ツールキットの中での CertiHound

ツール役割
CertiHoundAD CS 列挙 → BloodHound CE グラフ
Certipy列挙と悪用 ESC1–ESC17
BloodHound攻撃パスの可視化/クエリ
NetExec広範な AD 収集 + リレー

リソース