- From the BloodHound CE interface as a pre-compiled binary
- ⚙️ → Download Collectors, and click the button Download SharpHound
- From the SharpHound releases as precompiled binaries
- Build it from source with the code on the SharpHound repository
Basic Usage
You can collect plenty of data with SharpHound CE by simply running the binary itself with no flags set:- Security group memberships
- Domain trusts
- Abusable rights on Active Directory objects
- Group Policy links
- OU tree structure
- Several properties from computer, group and user objects
- SQL admin links
- The members of the local administrators, remote desktop, distributed COM, and remote management groups
- Active sessions, which SharpHound CE will attempt to correlate to systems where users are interactively logged on
The Session Loop Collection Method
BloodHound uses graph theory to find attack paths in Active Directory, and the more data you have, the more likely you are to find and execute attack paths successfully. Much of the data you initially collect with SharpHound CE will not likely change or require updating over the course of a typical red team assessment - security group memberships, Active Directory permissions, and Group Policy links change relatively rarely. That data can be collected one time, and not again. User sessions are a bit different because users, especially privileged users, log on and off different systems daily. How many systems does a typical help desk user or server admin log into on any given day? SharpHound CE’s Session Loop collection method makes this very easy:Running SharpHound CE from a Non Domain-Joined System
While not an officially supported collection method, and not a collection method we recommend you do, it is possible to collect data for a domain from a system that is not joined to that domain. To do so, carefully follow these steps:- Configure your system DNS server to be the IP address of a domain controller in the target domain.
- Spawn a CMD shell as a user in that domain using `runas` its
/netonly
flag. You will be prompted to enter a password. Enter the password and hit enter.
- A new CMD window will appear. If you type `whoami`, you will not see the name of the user you’re impersonating. This is because of the
/netonly
flag: the instance of CMD will only authenticate as that user when you authenticate to other systems over the network, but you are still the same user you were before when authenticating locally. - Verify you’ve got valid domain authentiation by using the `net` binary. If you can see the SYSVOL and NETLOGON folders, you’re good.
- Run SharpHound CE, using the
-d
flag to specify the AD domain you want to collect information from. You can also use any other flags you wish.