セキュリティテスト

BloodHound ぶらっどはうんど

Active Directoryペネトレーションテスト権限昇格グラフ理論Neo4jレッドチーム
BloodHoundについて教えて

簡単に言うとこんな感じ!

会社のネットワーク内で「どこを経由すれば管理者権限が奪えるか」をグラフで見える化するツールだよ!攻撃者目線でActive Directoryの弱点を発見できるんだ。社内の「抜け道マップ」を先に作って対策できるってこと!


BloodHoundとは

BloodHoundは、Windowsドメイン環境(Active Directory)内の権限関係を収集・分析し、攻撃者が管理者権限を奪取するまでの経路(アタックパス)をグラフ形式で可視化するセキュリティ分析ツールです。2016年にセキュリティ研究者のAndy Robbins、Rohan Vasishtha、Will Schroederによってオープンソースで公開されました。

ツール名の「BloodHound(ブラッドハウンド)」は嗅覚の鋭い猟犬の名前で、まさに「匂いを辿るように攻撃経路を追跡する」イメージを表しています。内部ではグラフデータベースのNeo4jを使い、ユーザー・コンピュータ・グループ・ドメインをノード(点)、その間の信頼関係や権限をエッジ(線)として表現します。

企業のIT担当者にとっては「自社のActive Directoryがどれほど危ないか」を客観的に把握できる強力なツールです。ペネトレーションテスト(侵入テスト)やレッドチーム演習では欠かせない存在になっており、防御側(ブルーチーム)が攻撃者の視点を理解するためにも活用されます。


BloodHoundの仕組みと構造

BloodHoundは大きく「データ収集フェーズ」と「分析・可視化フェーズ」の2段階で動作します。

フェーズコンポーネント役割
データ収集SharpHound(C#製インジェスター)AD環境を列挙し、ユーザー・グループ・ACL・セッション情報を収集してJSONに出力
データ格納Neo4j(グラフDB)収集データをノード・エッジ構造で格納
可視化・分析BloodHound GUI(Electron製)Neo4jに接続し、グラフ表示・クエリ実行
クエリ言語CypherグラフDBへの問い合わせ(最短経路探索など)

SharpHoundが収集するデータ

SharpHoundがActive Directoryから収集する主な情報は以下のとおりです。

  • ユーザー情報:ドメインユーザー一覧、所属グループ、最終ログオン情報
  • グループメンバーシップ:グループのネスト(入れ子)構造
  • コンピューター情報:OSバージョン、ローカル管理者グループのメンバー
  • セッション情報:どのユーザーがどのマシンにログオンしているか
  • ACL(アクセス制御リスト):特定オブジェクトへの書き込み・変更権限
  • GPO・OU構造:グループポリシーオブジェクトと組織単位の関係

代表的なアタックパスの種類

パス名内容
DCSync攻撃ドメインコントローラーからパスワードハッシュを複製できる権限経路
Kerberoastingサービスアカウントのチケットを取得してオフラインで解析
Pass-the-Hashハッシュ値を使ってパスワードなしで認証する経路
Unconstrained Delegation委任設定が甘いコンピューターを踏み台にする経路
AdminSDHolder悪用管理者グループへの意図しない権限継承

歴史と背景

  • 2016年:DEF CON 24でAndy Robbinsらが初公開。Active Directoryの複雑な信頼関係を攻撃者が視覚化できることが衝撃を与えた
  • 2016〜2018年:GitHubでオープンソース公開後、ペネトレーションテスターの間で急速に普及。SharpHoundによるデータ収集が標準化
  • 2019年:BloodHound 2.0リリース。GUIの大幅改善、Azureに関する情報収集の強化
  • 2021年BloodHound Community Edition(CE)BloodHound Enterpriseに分岐。Enterpriseはリスクスコアリングや継続的監視機能を持つ商用版
  • 2022年:BloodHound CEが完全に書き直され、バックエンドをNeo4j + Goに移行。スケーラビリティが大幅に向上
  • 現在:防御側ツールとしての地位も確立。MicrosoftのDefender for Identityなどのセキュリティ製品もBloodHoundと同様の分析手法を採用

Active Directory攻撃経路の視覚化

BloodHoundが解析するActive Directoryの関係構造と、攻撃経路探索の流れを図示します。

BloodHound — アタックパス探索の仕組み Active Directoryドメイン環境 一般ユーザー jsmith@corp.local 一般PC WORKST-01 IT管理グループ IT_Admins サーバー FILE-SERVER-01 Domain Admins ドメイン管理者 ドメインコントローラー DC-01 メンバー ログオン 所属 管理 権限 🐕 BloodHoundが発見するアタックパス(最短経路) jsmith → WORKST-01(セッション) → IT_Admins(ローカル管理者) → Domain Admins(メンバー) → DC-01 「一般ユーザーから4ステップでドメイン管理者になれる!」をBloodHoundが自動で発見・可視化

BloodHound CEとBloodHound Enterpriseの比較

項目Community Edition(CE)Enterprise
費用無料(OSS)有料(サブスク)
主な用途ペネトレーションテスト・学習継続的セキュリティ監視
データ収集手動(SharpHound実行)自動・定期収集
リスクスコアリングなしあり(優先度付け)
Azure/Entra ID対応部分的フル対応
レポート機能限定的充実

防御側(ブルーチーム)でのBloodHound活用

BloodHoundは攻撃者のツールというイメージが強いですが、防御側にとっても非常に有効です。

[防御側の活用フロー]

1. SharpHoundで自社AD環境を定期スキャン

2. BloodHoundで「Domain Adminsへの最短経路」を確認

3. 不要なグループメンバーシップ・ACLを特定

4. 権限の最小化(Least Privilege)を実施

5. 定期的に再スキャンして改善効果を測定

関連する規格・RFC

※ BloodHoundはツール・実装であり、特定のRFCや国際規格に直接準拠するものではありません。ただし、分析対象となるActive Directoryや認証プロトコルには関連規格があります。

規格・RFC番号内容
RFC 4120Kerberos認証プロトコル(BloodHoundが分析するKerberoastingの基盤)
RFC 2251LDAP v3(Active Directoryのディレクトリサービスプロトコル)
RFC 4511LDAP: The Protocol(LDAPの現行主要RFC)

関連用語

  • Active Directory — Windowsドメイン環境のユーザー・端末・権限を一元管理するディレクトリサービス
  • ペネトレーションテスト — 実際の攻撃者と同じ手法でシステムの脆弱性を検証するセキュリティ評価手法
  • Kerberos — Windowsドメインで使われるチケットベースの認証プロトコル
  • 権限昇格 — 低権限ユーザーが管理者権限を不正に取得する攻撃手法
  • レッドチーム — 実際の攻撃者を模倣して組織のセキュリティを試験する専門チーム
  • 最小権限の原則 — ユーザーやプロセスに必要最低限の権限のみ付与するセキュリティ設計原則
  • Mimikatz — Windowsのメモリからパスワードやハッシュをダンプするセキュリティツール
  • Neo4j — BloodHoundのバックエンドで使われるグラフデータベース