Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/p0dalirius/sharehound
偵察ネットワークマッピング構成監査情報収集ポストエクスプロイトネットワークセキュリティペネトレーションテストレッドチーミング
GitHubp0dalirius/sharehound

ShareHound

ネットワーク共有のアクセス権をBloodHound OpenGraphsへ簡単にマッピングするPythonツール

リポジトリを見る
310273ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ShareHound — ネットワーク共有のアクセス権をBloodHound OpenGraphsへ簡単にマッピングするPythonツール | Kitploit
ウェブサイト

ShareHound: BloodHound OpenGraph を使用したネットワーク共有の権限マッピング

ネットワーク共有のアクセス権限を BloodHound OpenGraph にマッピングするためのツールです。
Get BloodHound Enterprise Get BloodHound Community

関連ブログ記事を読む: https://specterops.io/blog/2025/10/30/sharehound-an-opengraph-collector-for-network-shares/

2つの実装

このリポジトリには ShareHound の2つの実装が含まれています。どちらも同じ目標(SMB共有のアクセス許可から BloodHound OpenGraph JSON を生成すること)を共有していますが、言語、ランタイム、機能セットが異なります。ワークフローに合う方を選んでください。

実装パス作者最適な用途
PythonPython/Remi Gascou (@podalirius_) @ SpecterOpsリファレンス実装。拡張やスクリプト化が容易
GoGo/Javier Azofra @ Siemens Healthineers大規模スキャン(60,000 台以上のホスト)、チェックポイント、静的バイナリ

各サブディレクトリには、インストール、使用法、設定の詳細を記載した独自の README があります。

  • Python/README.md
  • Go/README.md

機能(共通)

  • ドメインのネットワーク共有とその権限を BloodHound OpenGraph 形式でマッピング
  • ShareQL 言語による高度にカスタマイズ可能なルールマッチング
  • 共有のマルチスレッド検出(幅優先探索)
  • NTLM、Kerberos、パス・ザ・ハッシュ認証
  • CIDR レンジとターゲットファイルのサポート

Go 実装の追加機能

  • ZIP 圧縮ストリーミング出力(数百万のエッジを処理)
  • チェックポイントファイルによる再開可能なスキャン
  • 大規模環境でグラフサイズを大幅に削減する --effective-access-only モード
  • クロスプラットフォームの静的ビルド(Linux、Windows、macOS)

クイックスタート Cypher クエリ

OpenGraph を BloodHound にインポートしたら、以下のクエリで最も一般的なニーズをカバーできます。詳細については、各実装の README を参照してください。

共有へのフルコントロールアクセス権を持つプリンシパルを検索

root@kitploit:~
MATCH (p)-[r]->(s:NetworkShareSMB)
WHERE (p)-[:CanDelete]->(s)
  AND (p)-[:CanDsControlAccess]->(s)
  AND (p)-[:CanDsCreateChild]->(s)
  AND (p)-[:CanDsDeleteChild]->(s)
  AND (p)-[:CanDsDeleteTree]->(s)
  AND (p)-[:CanDsListContents]->(s)
  AND (p)-[:CanDsListObject]->(s)
  AND (p)-[:CanDsReadProperty]->(s)
  AND (p)-[:CanDsWriteExtendedProperties]->(s)
  AND (p)-[:CanDsWriteProperty]->(s)
  AND (p)-[:CanReadControl]->(s)
  AND (p)-[:CanWriteDacl]->(s)
  AND (p)-[:CanWriteOwner]->(s)
RETURN p,r,s

共有への書き込みアクセス権を持つプリンシパルを検索

root@kitploit:~
MATCH x=(p)-[r:CanWriteDacl|CanWriteOwner|CanDsWriteProperty|CanDsWriteExtendedProperties]->(s:NetworkShareSMB)
RETURN x

ファイル名で検索(大文字小文字を区別しない)

root@kitploit:~
MATCH p=(h:NetworkShareHost)-[:HasNetworkShare]->(s:NetworkShareSMB)-[:Contains*0..]->(f:File)
WHERE toLower(f.name) = toLower("flag.txt")
RETURN p

拡張子で検索(大文字小文字を区別しない)

root@kitploit:~
MATCH p=(h:NetworkShareHost)-[:HasNetworkShare]->(s:NetworkShareSMB)-[:Contains*0..]->(f:File)
WHERE toLower(f.extension) = toLower(".vmdk")
RETURN p

プリンシパルが実効的に読み取り可能なファイルを検索(Goのみ)

CanEffectiveRead / CanEffectiveWrite / CanEffectiveExecute エッジは、同じ SID が共有レベルと NTFS レベルの両方で一致する権限を持っている場合に Go 実装によって出力されます。つまり、SMB 経由で実際に許可されるアクセスです。

root@kitploit:~
MATCH p=(principal)-[:CanEffectiveRead]->(f:File)
RETURN p

クレジット

  • オリジナルプロジェクト: Remi Gascou (@podalirius_) @ SpecterOps — p0dalirius/ShareHound
  • Go 実装: Javier Azofra @ Siemens Healthineers
  • 関連ブログ記事: ShareHound: ネットワーク共有のための OpenGraph コレクター

コントリビューション

どちらの実装にもプルリクエストを歓迎します。新しい機能について先に議論したい場合は、イシューを開いてください。

ツールをダウンロード