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 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 4120 | Kerberos認証プロトコル(BloodHoundが分析するKerberoastingの基盤) |
| RFC 2251 | LDAP v3(Active Directoryのディレクトリサービスプロトコル) |
| RFC 4511 | LDAP: The Protocol(LDAPの現行主要RFC) |
関連用語
- Active Directory — Windowsドメイン環境のユーザー・端末・権限を一元管理するディレクトリサービス
- ペネトレーションテスト — 実際の攻撃者と同じ手法でシステムの脆弱性を検証するセキュリティ評価手法
- Kerberos — Windowsドメインで使われるチケットベースの認証プロトコル
- 権限昇格 — 低権限ユーザーが管理者権限を不正に取得する攻撃手法
- レッドチーム — 実際の攻撃者を模倣して組織のセキュリティを試験する専門チーム
- 最小権限の原則 — ユーザーやプロセスに必要最低限の権限のみ付与するセキュリティ設計原則
- Mimikatz — Windowsのメモリからパスワードやハッシュをダンプするセキュリティツール
- Neo4j — BloodHoundのバックエンドで使われるグラフデータベース