
Active Directoryオブジェクトのメタデータ、グループメンバーシップ、セッション、ACL、トラストを収集し、セキュリティ評価のためのBloodHound攻撃経路マッピングにデータを供給します。
SharpHound の最新ビルドは常にこちらにあります。
デプロイされている BloodHound CE インスタンスと互換性のある SharpHound のバージョンを確認するには、BloodHound CE の Web UI にログインし、⚙️(設定)→ Download Collectors をクリックします。次に、ユーザーインターフェースの「Download SharpHound」ボタンをクリックするか、表示されている SharpHound のバージョンを使用して、該当するリリースバイナリをダウンロードします。あるいは、対応するリリースコミットから SharpHound バイナリをコンパイルします。
SharpHound セクションを参照してください。これは BloodHound Community Edition ドキュメントの一部です。
このプロジェクトをビルドするには、.NET SDK を使用して以下を実行します。
dotnet restore
dotnet build
既定では、このプロジェクトは SharpHoundCommon ライブラリ の次のプレリリース版 -dev バージョンを対象にビルドされます(v4 ブランチを追跡)。
ライブラリのローカルコピーに対してビルドする場合は、_CommonLibPath プロパティと _RPCPath プロパティが正しい DLL を指していることを確認し、dotnet build -p:CommonSource=Local を実行します。
CommonLibsVersion にすでにプレリリースタグ(例:4.6.0-rc1)が含まれている場合、その正確なバージョンが Stable ソースと Dev ソースの両方にそのまま使用されます。
dotnet build # Dev (default)
dotnet build -p:CommonSource=Stable
dotnet build -p:CommonSource=Local
dotnet build --tl:off # To view CommonLib resolution logs
SharpHound は .Net 4.7.2 をターゲットとして設計されています。SharpHound は、ドメインユーザーのコンテキストで実行する必要があります。直接ログオンするか、RUNAS などの別の方法を使用します。
以下の一覧は、SharpHound がサポートする CLI 引数の詳細です。これらのオプションの詳細は、BloodHound CE コレクションドキュメント に記載されています。
-c, --collectionmethods (Default: Default) Collection Methods: Container, Group, LocalGroup, GPOLocalGroup,
Session, LoggedOn, ObjectProps, ACL, ComputerOnly, Trusts, Default, RDP, DCOM, DCOnly, UserRights,
CARegistry, DCRegistry, CertServices, WebClientService, NTLMRegistry,SMBInfo,LdapServices
-d, --domain Specify domain to enumerate
-s, --searchforest (Default: false) Search all available domains in the forest
--stealth Stealth Collection (Prefer DCOnly whenever possible!)
-f Add an LDAP filter to the pregenerated filter.
--distinguishedname Base DistinguishedName to start the LDAP search at
--computerfile Path to file containing computer names to enumerate
--outputdirectory (Default: .) Directory to output file too
--outputprefix String to prepend to output file names
--cachename Filename for cache (Defaults to a machine specific identifier)
--memcache Keep cache in memory and don't write to disk
--rebuildcache (Default: false) Rebuild cache and remove all entries
--randomfilenames (Default: false) Use random filenames for output
--zipfilename Filename for the zip
--nozip (Default: false) Don't zip files
--trackcomputercalls (Default: false) Adds a CSV tracking requests to computers
--zippassword Password protects the zip with the specified password
--prettyprint (Default: false) Pretty print JSON
--ldapusername Username for LDAP
--ldappassword Password for LDAP
--domaincontroller Override domain controller to pull LDAP from. This option can result in data loss
--ldapport (Default: 0) Override port for LDAP
--secureldap (Default: false) Connect to LDAP SSL instead of regular LDAP
--disablecertverification (Default: false) Disable certificate verification for secure LDAP
--disablesigning (Default: false) Disables Kerberos Signing/Sealing
--skipportcheck (Default: false) Skip checking if 445 is open
--portchecktimeout (Default: 500) Timeout for port checks in milliseconds
--skippasswordcheck (Default: false) Skip PwdLastSet age check when checking computers
--excludedcs (Default: false) Exclude domain controllers from session/localgroup enumeration (mostly for
ATA/ATP)
--throttle Add a delay after computer requests in milliseconds
--jitter Add jitter to throttle (percent)
--threads (Default: 50) Number of threads to run enumeration with
--skipregistryloggedon Skip registry session enumeration
--overrideusername Override the username to filter for NetSessionEnum
--realdnsname Override DNS suffix for API calls
--collectallproperties Collect all LDAP properties from objects
-l, --Loop Loop computer collection
--loopduration Loop duration (hh:mm:ss - 05:00:00 is 5 hours, default: 2 hrs)
--loopinterval Add delay between loops (hh:mm:ss - 00:03:00 is 3 minute)
--statusinterval (Default: 30000) Interval in which to display status in milliseconds
--localadminsessionenum Specify if you want to use a dedicated LOCAL user for session enumeration
--localadminusername Specify the username of the localadmin for session enumeration
--localadminpassword Specify the password of the localadmin for session enumeration
-v (Default: 2) Enable verbose output. Lower is more verbose
--help Display this help screen.
--version Display version information.
CommonSource(既定: Dev) | 解決されるパッケージ |
|---|
Dev | プレリリース(例:4.6.0-rc1)または次のパッチ -dev*(例:4.6.1-dev*) |
Stable | 現在の CommonLibsVersion(例:4.6.0) |
Local | ローカルの SharpHoundCommon DLL |