BloodHound
Bloodhound allowed attackers to visualise the AD environment in a graph format with interconnected nodes. Each connection is a possible path that could be exploited to reach a goal.
First, we need to use Sharphound
, with it, we extract (obtain) the data, then used by Bloodhound
to analyze graphically.
Sharphound.ps1
- PowerShell script for running Sharphound. However, the latest release of Sharphound has stopped releasing the Powershell script version. This version is good to use with RATs since the script can be loaded directly into memory, evading on-disk AV scans.
Sharphound.exe
- A Windows executable version for running Sharphound.
AzureHound.ps1
- PowerShell script for running Sharphound for Azure (Microsoft Cloud Computing Services) instances. Bloodhound can ingest data enumerated from Azure to find attack paths related to the configuration of Azure Identity and Access Management.
Install BloodHound & Neoj4
# Install Docker Desktop or CLI.
mkdir /opt/bloodhound; cd !$
wget https://raw.githubusercontent.com/SpecterOps/BloodHound/refs/heads/main/examples/docker-compose/docker-compose.yml
sudo docker compose up --build
# Locate the randomly generated password in the terminal output of Docker Compose.
# Navigate to http://localhost:8080/ui/login. Login with a username of admin and the randomly generated password from the logs.
Downloading compatible SharpHound version with our BloodHound
Go to bloodhound GUI
Login
Settings (⚙)
Download Collectors
"Download SharpHound v<YOUR_VERSION> (.zip)"
Uncompress the .zip
Upload the SharpHound file to the victim
Executing SharpHound.exe
SharpHound.exe --CollectionMethods All --Domain za.tryhackme.com --ExcludeDCs
.\SharpHound.exe --CollectionMethods All --Domain za.tryhackme.com --ExcludeDCs --ZipFileName loot.zip
CollectionMethods - Determines what kind of data Sharphound would collect. The most common options are Default or All. Also, since Sharphound caches information, once the first run has been completed, you can only use the Session collection method to retrieve new user sessions to speed up the process.
Domain - Here, we specify the domain we want to enumerate. In some instances, you may want to enumerate a parent or other domain that has trust with your existing domain. You can tell Sharphound which domain should be enumerated by altering this parameter.
ExcludeDCs -This will instruct Sharphound not to touch domain controllers, which reduces the likelihood that the Sharphound run will raise an alert.
Executing SharpHound.ps1
. .\SharpHound.ps1
Invoke-Bloodhound -CollectionMethod All -Domain za.tryhackme.com -ExcludeDCs -ZipFileName loot.zip
Feeding BloodHound with the collected data
Move the .zip file to attacker machine.
BloodHound GUI.
Login.
Settings (⚙).
Administration.
File Ingest.
Upload File(s).
Upload the .zip file and wait til the Complete status appears.
Then:
Group Management.
Choose an object and "Open in Explore"
Or simply go to "Explore" and search things.
Last updated