これは現在非推奨であり、代わりに SHARPHOUND を使用してください。この方法で収集したデータは BloodHound 4.1+ では動作しません。
SharpHound - BloodHound Ingestor の C# リライト
SharpHound を入手する
SharpHound の最新ビルドは常に BloodHound リポジトリ こちら にあります。
コンパイル手順
SharpHound は C# 9.0 の機能を使用して書かれています。このプロジェクトを簡単にコンパイルするには、Visual Studio 2019 を使用してください。
以前のバージョンの Visual Studio でコンパイルしたい場合は、Microsoft.Net.Compilers nuget パッケージをインストールできます。
プロジェクトをビルドすると、実行可能ファイルと、その実行可能ファイルをカプセル化した PowerShell スクリプトが生成されます。すべての依存関係はバイナリにまとめられます。
必要条件
SharpHound は .Net 4.5 をターゲットとして設計されています。SharpHound は、ログオン経由で直接、または RUNAS などの別の方法を通じて、ドメインユーザーのコンテキストから実行する必要があります。
詳細情報
使用方法
列挙オプション
- CollectionMethod - 使用する収集方法。このパラメータはカンマ区切りの値のリストを受け入れます。以下の値を指定できます(デフォルト: Default):
- Default - グループメンバーシップ収集、ドメイン信頼収集、ローカルグループ収集、セッション収集、ACL収集、オブジェクトプロパティ収集、SPNターゲット収集を実行します
- Group - グループメンバーシップ収集を実行します
- LocalAdmin - ローカル管理者コレクションを実行します
- RDP - リモートデスクトップユーザーコレクションを実行します
- DCOM - 分散COMユーザーコレクションを実行します
- PSRemote - リモート管理ユーザーコレクションを実行します
- GPOLocalGroup - グループポリシーオブジェクトを使用したローカル管理者コレクションを実行します
- Session - セッション収集を実行します
- ComputerOnly - ローカル管理者、RDP、DCOM、セッション収集を実行します
- LoggedOn - 特権セッション収集を実行します(ターゲットシステムに対する管理者権限が必要)
- Trusts - ドメイン信頼列挙を実行します
- ACL - ACLの収集を実行します
- Container - コンテナの収集を実行します
- DcOnly - LDAPのみを使用した収集を実行します。Group、Trusts、ACL、ObjectProps、Container、GPOLocalGroupを含みます。
- ObjectProps - LastLogonやPwdLastSetなどのプロパティのオブジェクトプロパティ収集を実行します
- All - GPOLocalGroupを除くすべての収集メソッドを実行します
- Domain - 特定のドメインを検索します。nullの場合は現在のドメインを使用します(デフォルト: null)
- Stealth - ステルス収集方法を実行します。すべてのステルスオプションはシングルスレッドです。
- ExcludeDomainControllers - 列挙からドメインコントローラーを除外します(Microsoft ATAフラグを回避します :))
- ComputerFile - コンピューター名/IPを読み込むファイルを指定します
- LdapFilter - 検索に追加するLDAPフィルター
- OverrideUserName - セッション列挙のユーザー名を上書きします(上級者向け)
- RealDNSName - APIコールのDNS名を上書きします
- CollectAllProperties - サブセットではなくすべての文字列LDAPプロパティを収集します
- WindowsOnly - オペレーティングシステムが *Windows* に一致するシステムにコンピューター収集を制限します
ループオプション
- Loop - コンピューター収集をループします
- LoopDuration - ループする時間
- LoopInterval - ループ間の待機時間
接続オプション
- DomainController - 接続するドメインコントローラーを指定します(デフォルト: null)
- LdapPort - LDAPが動作するポートを指定します(デフォルト: 0)
- SecureLdap - 通常のLDAPではなくセキュアLDAPを使用してADに接続します。デフォルトではポート636に接続します。
- LdapUsername - LDAPに接続するユーザー名。LDAPPasswordパラメータも必要です(デフォルト: null)
- LdapPassword - LDAPに接続するユーザーのパスワード。LDAPUserパラメータも必要です(デフォルト: null)
- DisableKerberosSigning - LDAP暗号化を無効にします。推奨されません。
パフォーマンスオプション
- PortScanTimeout - pingリクエストのタイムアウトをミリ秒単位で指定します(デフォルト: 2000)
- SkipPortScan - システムが起動しているかどうかを確認するためのpingリクエストをスキップするようSharpHoundに指示します
- Throttle - コンピューターへの各リクエスト後に遅延を追加します。値はミリ秒単位です(デフォルト: 0)
- Jitter - スロットルにパーセンテージのジッターを追加します(デフォルト: 0)
出力オプション
- OutputDirectory - JSONファイルを保存するフォルダー(デフォルト: .)
- OutputPrefix - JSONファイルに追加するプレフィックス(デフォルト: "")
- NoZip - JSONファイルをzipファイルに圧縮しません。JSONファイルをディスクに残します(デフォルト: false)
- EncryptZip - zipファイルにランダムに生成されたパスワードを追加します。
- ZipFileName - zipファイルの名前を指定します
- RandomizeFilenames - 出力ファイル名をランダム化します
- PrettyJson - JSONを複数行にインデントして出力し、可読性を向上させます。トレードオフとしてファイルサイズが増加します。
- DumpComputerStatus - コンピューターへの接続からのエラーコードをダンプします
キャッシュオプション
- CacheFileName - SharpHoundキャッシュのファイル名(デフォルト: .bin)
- NoSaveCache - キャッシュファイルをディスクに保存しません。このフラグがない場合、.binがディスクに保存されます。
- InvalidateCache - キャッシュファイルを無効にして新しいキャッシュを構築します
その他のオプション
- StatusInterval - 列挙中の進捗表示の間隔をミリ秒単位で設定します(デフォルト: 30000)