ShareHound — ネットワーク共有権限をBloodHound OpenGraphsへマッピングするツール
概要
ShareHoundは、ネットワーク共有(例:SMB共有)のアクセス権情報を収集し、その結果をBloodHoundのOpenGraphs形式で出力することで、組織内の共有リソースにおける権限関係を可視化するためのPythonツールです。収集した共有のアクセス許可(誰がどの共有にアクセスできるか)をグラフ化し、BloodHoundにインポートすることで、横展開の経路や特権昇格に悪用され得る共有設定を素早く発見できます。導入は簡潔で、BloodHoundワークフローに自然に組み込める設計です。
リポジトリの統計情報
- スター数: 18
- フォーク数: 0
- ウォッチャー数: 18
- コミット数: 3
- ファイル数: 13
- メインの言語: Python
主な特徴
- ネットワーク共有(SMBなど)のアクセス権を抽出してBloodHound OpenGraphs形式で出力可能。
- BloodHoundとの連携を前提にしており、既存のBloodHound解析フローに容易に統合できる。
- Pythonで書かれており、スクリプトとしての拡張や自動化がしやすい。
- 軽量でシンプルな設計のため、迅速な検査やスキャンに適したツール。
技術的なポイント
ShareHoundは「共有のアクセス権情報を収集 → BloodHound用のグラフに変換」というパイプラインを提供します。技術的には、ターゲット環境の共有一覧とそれぞれのアクセス許可(ユーザー/グループごとの読み取り・書き込み等)を取得し、BloodHoundが理解するOpenGraphsのノードとエッジにマッピングすることが中核機能です。出力されたOpenGraphsはそのままBloodHoundにインポートでき、共有を介した横展開経路や特定アカウントが持つ共有経由の影響範囲をグラフで追跡できます。典型的な活用シナリオは、ペネトレーションテストでの攻撃パス発見や、ブルーチームによる防御改善のための設定監査です。実装はPythonなので、既存のAD調査ツールチェーン(BloodHound、Impacket等)との連携や、出力形式のカスタマイズが行いやすく、CI/CDや自動化スクリプトへ組み込み可能です。
プロジェクトの構成
主要なファイルとディレクトリ:
- .github: dir — GitHub ActionsやIssueテンプレートなどのCI/管理関連設定が入る場所(リポジトリ標準)。
- .gitignore: file — バージョン管理から除外するファイルパターンが記載されています。
- MANIFEST.in: file — パッケージ配布用に含めるファイルを指定するための設定ファイル。
- Makefile: file — 開発/テスト/パッケージング用の簡易コマンドが定義されている可能性があります。
- README.md: file — ツールの目的、使い方、依存関係、例などが記載された主要ドキュメント。
- …他 8 ファイル — リポジトリ全体で13ファイル構成のため、実行スクリプト本体、パッケージ用メタファイル(setup.py/pyproject.toml等)、依存を列挙するファイルやライセンス、サンプル出力/テストなどが含まれていると想定されます。
これらのファイル群により、ツールの配布・インストール・実行・メンテナンスが整理されており、Pythonパッケージとしての配布(PyPIバッジがREADMEにある点より想定)やリリース管理が行われています。
まとめ
BloodHoundに共有権限を取り込むことで、共有を介した攻撃経路の可視化が容易になる実用的なツールです(約50字)。
リポジトリ情報:
- 名前: ShareHound
- 説明: A python tool to map the access rights of network shares into a BloodHound OpenGraphs easily
- スター数: 18
- 言語: Python
- URL: https://github.com/p0dalirius/ShareHound
- オーナー: p0dalirius
- アバター: https://avatars.githubusercontent.com/u/79218792?v=4
READMEの抜粋:
ShareHound: Mapping rights of network shares using bloodhound OpenGraph
A python tool to map the access rights of network shares into a BloodHound OpenGraphs easily