mcpField
C
conducting-internal-reconnaissance-with-bloodhound-ce

conducting-internal-reconnaissance-with-bloodhound-ce

github.com/mukul975セキュリティ35.2k161 回インストール8 週間前に更新
リポジトリ

conducting-internal-reconnaissance-with-bloodhound-ce について

BloodHound CEを使ったActive Directory内部調査を支援する、許可を得たセキュリティテスト向けスキルです。導入、データ収集、グラフ分析、Cypherクエリ、攻撃経路の報告を扱います。

主な機能

  1. 01BloodHound CEの導入
  2. 02ADデータの収集と取り込み
  3. 03最短攻撃経路の分析
  4. 04カスタムCypherクエリの実行
  5. 05攻撃経路の文書化

活用シーン

  1. 01ADの権限と関係の監査
  2. 02Domain Adminへの経路の特定
  3. 03ACL、委任、Kerberoastingリスクの評価

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill conducting-internal-reconnaissance-with-bloodhound-ce

インストール後、Claude Code で/conducting-internal-reconnaissance-with-bloodhound-ceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE
assets/
template.md
references/
api-reference.md
standards.md
workflows.md
scripts/
agent.py
process.py

詳細

BloodHound CE を使用した内部偵察

法的通知: このスキルは、許可を得たセキュリティテストおよび教育目的に限って使用してください。所有していないシステム、またはテストの書面による許可を得ていないシステムに対する無許可の使用は違法であり、コンピューター詐欺に関する法律に違反する可能性があります。

概要

BloodHound Community Edition(CE)は、SpecterOps が開発した最新のウェブベースの Active Directory 偵察プラットフォームで、グラフ理論を使って AD 環境内の隠れた関係や攻撃経路を明らかにします。従来の BloodHound アプリケーションとは異なり、BloodHound CE は専用のグラフデータベースを備えた PostgreSQL バックエンドを使用し、パフォーマンスの向上、最新のウェブ UI、強化された API 機能を提供します。レッドチームは BloodHound CE を使用して、AD オブジェクト、ACL、セッション、グループメンバーシップ、信頼関係を収集し、侵害された低権限アカウントから Domain Admins などの価値の高いターゲットに至る攻撃経路を可視化します。SharpHound コレクター(CE 用の v2)は Active Directory からデータを収集し、AzureHound は Azure AD / Entra ID 環境からデータを収集します。

使用するタイミング

  • BloodHound CE による内部偵察を伴うセキュリティ評価を実施するとき
  • 関連するセキュリティイベントへのインシデント対応手順に従うとき
  • 定期的なセキュリティテストや監査活動を実施するとき
  • 実地テストを通じてセキュリティ制御を検証するとき

前提条件

  • レッドチームの概念とツールに関する知識
  • 安全に実行できるテスト環境またはラボ環境へのアクセス
  • 必要な依存関係をインストール済みの Python 3.8+
  • テスト活動に対する適切な許可

目標

  • Docker Compose を使用して BloodHound CE サーバーをデプロイする
  • SharpHound v2 または BloodHound.py を使用して AD データを収集する
  • 収集したデータを BloodHound CE にインポートし、グラフ分析を行う
  • 所有するプリンシパルから Domain Admins への最短攻撃経路を特定する
  • ACL ベースの攻撃経路、Kerberoast が可能なアカウント、委任の悪用を発見する
  • 高度な攻撃経路分析のためにカスタム Cypher クエリを実行する
  • エンゲージメントの文書化用に攻撃経路レポートを生成する

MITRE ATT&CK マッピング

  • T1087.002 - アカウントの検出:ドメインアカウント
  • T1069.002 - 権限グループの検出:ドメイングループ
  • T1482 - ドメイン信頼の検出
  • T1615 - グループポリシーの検出
  • T1018 - リモートシステムの検出
  • T1033 - システム所有者/ユーザーの検出
  • T1016 - システムネットワーク構成の検出

ワークフロー

フェーズ 1:BloodHound CE のデプロイ
  1. Docker Compose を使用して BloodHound CE をデプロイします。
    curl -L https://ghst.ly/getbhce -o docker-compose.yml
    docker compose pull
    docker compose up -d
    
  2. https://localhost:8080 でウェブインターフェースにアクセスします。
  3. デフォルトの管理者認証情報(Docker ログに表示)でログインします。
    docker compose logs | grep "Initial Password"
    
  4. 直ちにデフォルトの管理者パスワードを変更します。
フェーズ 2:SharpHound v2 によるデータ収集
  1. SharpHound v2 を侵害された Windows ホストに転送します。
    # Execute full collection
    .\SharpHound.exe -c All --outputdirectory C:\Temp
    
    # DCOnly collection (LDAP only, stealthier)
    .\SharpHound.exe -c DCOnly
    
    # Session collection for logged-on user mapping
    .\SharpHound.exe -c Session --loop --loopduration 02:00:00
    
    # Collect from specific domain
    .\SharpHound.exe -c All -d child.domain.local
    
  2. 代替手段:Linux から BloodHound.py を使用します。
    bloodhound-python -u user -p 'Password123' -d domain.local -ns 10.10.10.1 -c All
    
  3. 生成された ZIP ファイルを分析用ワークステーションに持ち出します。
フェーズ 3:データのインポートと初期分析
  1. BloodHound CE のウェブインターフェース(File Ingest)から収集したデータをアップロードします。
  2. インターフェースで侵害されたアカウントを「Owned」としてマークします。
  3. 組み込みの分析クエリを実行します。
    • Domain Admin への最短経路
    • DA への経路がある Kerberoast 可能なユーザー
    • AS-REP Roast が可能なユーザー
    • DCSync 権限を持つユーザー
    • 制約なし委任が設定されたコンピューター
フェーズ 4:カスタム Cypher クエリ
  1. BloodHound CE の検索バーでカスタム Cypher クエリを実行します。
    // Find shortest path from owned principals to Domain Admins
    MATCH p=shortestPath((n {owned:true})-[*1..]->(m:Group {name:"DOMAIN [email protected]"}))
    RETURN p
    
    // Find Kerberoastable users with path to DA
    MATCH (u:User {hasspn:true})
    MATCH p=shortestPath((u)-[*1..]->(g:Group {name:"DOMAIN [email protected]"}))
    RETURN p
    
    // Find computers with sessions of DA members
    MATCH (c:Computer)-[:HasSession]->(u:User)-[:MemberOf*1..]->(g:Group {name:"DOMAIN [email protected]"})
    RETURN c.name, u.name
    
    // Find ACL-based attack paths (GenericAll, WriteDACL, GenericWrite)
    MATCH p=(u:User)-[:GenericAll|GenericWrite|WriteDacl|WriteOwner|ForceChangePassword*1..]->(t)
    WHERE u.owned = true
    RETURN p
    
    // Find users who can DCSync
    MATCH (u)-[:MemberOf*0..]->()-[:DCSync|GetChanges|GetChangesAll*1..]->(d:Domain)
    RETURN u.name, d.name
    
    // Find computers with LAPS but readable by non-admins
    MATCH (c:Computer {haslaps:true})
    MATCH p=(u:User)-[:ReadLAPSPassword]->(c)
    RETURN p
    
フェーズ 5:攻撃経路の優先順位付け
  1. 特定した攻撃経路を次の基準で評価します。
    • ホップ数(短いほど優先度が高い)
    • ステルス要件(目立つ手法を避ける)
    • 各ホップで利用できるツール
    • 各ステップで検知される可能性
  2. 優先度が最も高い経路の実行計画を作成します。
  3. チェーン内の各ステップに必要なツールを特定します。
  4. 各手法の OPSEC 上の考慮事項を計画します。

ツールとリソース

ツール目的プラットフォーム
BloodHound CEWeb ベースのグラフ分析プラットフォームDocker
SharpHound v2AD データ収集(.NET、CE 用)Windows
BloodHound.pyAD データ収集(Python)Linux
AzureHoundAzure AD / Entra ID データ収集クロスプラットフォーム
PlumHoundBloodHound の自動レポート作成Python
BloodHound Query Libraryコミュニティの Cypher クエリリポジトリWeb

主な攻撃経路の種類

経路の種類説明例
ACL の悪用設定ミスのある ACL を悪用しますDA グループに対する GenericAll
KerberoastingサービスアカウントのパスワードをクラックしますSPN アカウント → DA
AS-REP Roasting事前認証を必要としないアカウントを攻撃します事前認証なしのユーザー → パスワードのクラック
委任の悪用無制約または制約付きの委任を悪用しますコンピューター → DA になりすます
GPO の悪用特権 OU に適用された GPO を変更しますGPO の書き込み → DA でのコード実行
セッションハイジャック侵害されたホスト上の DA セッションを利用します管理者セッション → トークンの窃取

検証基準

  • BloodHound CE がデプロイされ、アクセス可能である
  • 対象範囲内のすべてのドメインから SharpHound v2 のデータを収集済みである
  • データを BloodHound CE に正常にインポート済みである
  • 所有するプリンシパルをインターフェース上でマーク済みである
  • Domain Admin への最短経路を特定済みである
  • ACL ベースの攻撃経路を文書化済みである
  • Kerberoast 可能なアカウントと AS-REP Roast 可能なアカウントを一覧化済みである
  • 高度な分析のためにカスタム Cypher クエリを実行済みである
  • 実行可能性とステルス性に基づいて攻撃経路を優先順位付け済みである
  • 特定したすべての経路と証拠を含むレポートを作成済みである

コメント