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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ghosthound — GhostHound は、Active Directory の tombstone reanimation(トゥームストーンの再活性化)を第一級の攻撃経路として表面化する BloodHound OpenGraph 拡張機能です。SHOW_DELETED を使用して削除済みオブジェクトを列挙し、それらを復元できるユーザーをマッピングし、再活性化されたアイデンティティが特権グループのメンバーシップを再取得したタイミングを明らかにします。 | Kitploit
ツール/GitHubGitHub/jvbotelho/ghosthound
特権昇格偵察エクスプロイト横移動情報収集ポストエクスプロイトペネトレーションテストレッドチーミング
GitHubjvbotelho/ghosthound

ghosthound

GhostHound は、Active Directory の tombstone reanimation(トゥームストーンの再活性化)を第一級の攻撃経路として表面化する BloodHound OpenGraph 拡張機能です。SHOW_DELETED を使用して削除済みオブジェクトを列挙し、それらを復元できるユーザーをマッピングし、再活性化されたアイデンティティが特権グループのメンバーシップを再取得したタイミングを明らかにします。

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

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有

GhostHound

Crates.io docs.rs OpenSSF Scorecard

GhostHound は、Active Directory 向けの BloodHound OpenGraph 拡張機能です。SharpHound やその他の AD コレクタはすべて CN=Deleted Objects をスキップします。削除済みオブジェクト(トゥームストーン)は、標準の BloodHound 攻撃経路分析では見えません。しかし、AD リサイクル ボックスとトゥームストーン再活性化の仕組みにより、十分な権限を持つプリンシパルが 1 つを復元し、それが表す任意の ID を乗っ取ることが可能です。GhostHound は、SHOW_DELETED コントロールを使用して LDAP 経由でトゥームストーンを列挙し、それぞれを再活性化できるユーザーを特定し、OpenGraph JSON ペイロードと model.json 拡張定義を出力するため、BloodHound CE v8+ はこれをグラフのファーストクラス部分としてレンダリングできます。

許可された使用に限ります。 これは、許可された侵入テストおよび検知ラボ研究を目的とした、オフェンシブセキュリティ / レッドチームツールです。明示的にテストを許可された Active Directory 環境でのみ実行してください。

前提条件

  • 対象ドメインに対する Administrators と同等の権限(または CN=Deleted Objects への読み取りアクセスが明示的に委任されていること)。非特権アカウントは、どの認証方法を使用してもコンテナをまったく見ることができません。これは AD によって強制される制限であり、GhostHound が回避できるものではありません。
  • LDAP (389) または LDAPS (636) でドメインコントローラへのネットワーク到達可能性。
  • 結果のグラフをインポートする場合は BloodHound CE v8+(コレクションと JSON 出力は、それがなくても単独で動作します)。

使用方法

root@kitploit:~
ghosthound -d ghost.local --dc-ip 10.0.0.10 -u alice -o tombstones.json

パスワードの解決順序: --password(避けること — ps//proc/<pid>/cmdline およびシェル履歴で参照可能)、次に LDAP_PASSWORD 環境変数、どちらも設定されていない場合は対話型プロンプト。

デフォルトでは、GhostHound は証明書の検証を有効にして LDAPS (636) で接続します。それが当てはまらない環境向けに 2 つのフラグがあります:

  • --disable-ldaps — 平文 LDAP (389) にフォールバックします。バインドパスワードが平文で送信されます。分離されたラボ以外では使用を避けてください。
  • --insecure-tls — LDAPS(暗号化された転送)を維持しつつ、証明書の検証をスキップします。トラストストアにない自己署名/ラボ証明書向けです。DC の証明書だけが問題である場合は、--disable-ldaps よりもこちらを優先してください。

--timeout-secs(デフォルト 30)は、初期接続と後続のすべての LDAP 操作の両方に制限を設けます。到達不能な DC や誤った --dc-ip が、ハングせずにその時間内で失敗するようになります。

完全なフラグ一覧は ghosthound --help を実行してください。

ワークスペース構成

GhostHound はライブラリファーストのワークスペースとして構築されています。根拠については docs/adr/0001-language-rust-library-first.md を参照してください:

  • bloodhound-opengraph: BloodHound OpenGraph JSON ビルダー(Python の bhopengraph に相当する Rust 版)。
  • ad-secdesc: 寛容なライセンスの、ntSecurityDescriptor/DACL/ACE 用のスクラッチ実装パーサー(既存の唯一の Rust 相当品が GPL-3.0 であるため、これを依存関係にしない理由は docs/adr/0003-security-descriptor-parsing-strategy.md を参照)。
  • ad-secdesc-oracle: ad-secdesc をその GPL-3.0 クレートとブラックボックスオラクルとして比較する、内部用・非公開の差分テストハーネス — デフォルトビルドおよび公開されたすべてのクレートの依存関係グラフから隔離されています。
  • ad-tombstone: LDAP SHOW_DELETED 列挙、AD リサイクル ボックスの状態モデリング、および再活性化権限の分析。
  • ghosthound: 上記を統括する CLI。

BloodHound へのインポート

  1. BloodHound CE の OpenGraph Management ページで、crates/ad-tombstone/model.json を一度アップロードして、GhostHound_TombstoneUser/GhostHound_TombstoneComputer/GhostHound_TombstoneGroup ノード種別と、GhostHound_CanReanimate/GhostHound_WasMemberOf/GhostHound_SameAs リレーションシップ種別を登録します(すべてトラバース可能として登録されるため、最短経路クエリに参加できます)。
  2. GhostHound が生成した JSON を(UI または取り込み API 経由で)通常の OpenGraph データペイロードとしてアップロードします。
  3. crates/ad-tombstone/bridge_shadow_nodes.cypher を Neo4j に対して直接実行します(BloodHound CE の組み込み Cypher 検索バーは読み取り専用であり、これを拒否します):
    root@kitploit:~
    docker exec -i <graph-db-container> cypher-shell -u neo4j -p <password> < crates/ad-tombstone/bridge_shadow_nodes.cypher
    
    GhostHound から既存の AD プリンシパル(Domain Admins など)へのエッジは、BloodHound がすでに持っている実際のノードではなく、プレースホルダノードに着地します — これは OpenGraph 取り込みの制限であり、このデータのバグではありません。docs/adr/0006-opengraph-cross-source-node-identity.md を参照してください。このスクリプトはそれらをブリッジし、パスが実際にトラバース可能にします。インポートのたびに再実行しても安全です。

ブリッジされると、再活性化パスは通常のトラバース可能なパスとしてレンダリングされます — 削除前に Domain Admins メンバーだったトゥームストーンは、Reanimate-Tombstones 権限を持つすべてのプリンシパルから到達可能であり、実際の Domain Admins ノードにブリッジされます:

ホームラボのテスト実行による GhostHound の再活性化パス: GhostHound_CanReanimate 権限を持つ複数のプリンシパルがトゥームストーン化されたユーザーを指し、そのユーザーは GhostHound_WasMemberOf エッジでプレースホルダノードに接続され、GhostHound_SameAs を介して実際の Domain Admins グループにブリッジされています。

サプライチェーン体制

このプロジェクトは、初日から高い信頼性のセキュリティを優先しています(docs/adr/0005-supply-chain-openssf-posture.md):

  • コピーレフト/GPL の厳格な禁止と脆弱性監査のための cargo deny。
  • OpenSSF Scorecard ワークフロー。
  • 生のバイナリ記述子を解析する際のパニック安全性を確保するための cargo fuzz。
  • 基盤ライブラリには unsafe を使用しない。

設計根拠

docs/adr/ ディレクトリには、この設計の背後にある決定事項(言語選択、認証スコープ、ad-secdesc のライセンス制約、AD リサイクル ボックスのデータモデル、サプライチェーン体制)が記録されており、docs/research/tombstone-viability-findings.md には基礎となる調査があります。

ツールをダウンロード
  • crates/ad-tombstone/queries.json のスタータークエリをインポートし、必要に応じて crates/ad-tombstone/privilege_zones.cypher を一度実行して、Tier Zero OU 配下のトゥームストーンを高価値としてタグ付けします — これもステップ 3 と同じ理由で、検索バーではなく cypher-shell が必要です(その SET も更新句であるため)。