Cheat Sheet Hacking
  • 🌐Generic Ideas
    • File Transfer
    • Reverse Shell
    • Cracking Tricks
    • Tunneling and Port Forwarding
    • Reversing
    • OSINT
    • Phishing
  • 🐕‍🦺Port enumeration
    • Reconnaissance
    • 53 - DNS
    • 80,443 - Web
      • Identify php.ini file used
      • Exploitation
        • File Upload
        • XXS
    • 445 - SMB
    • 389, 636, 3268 - LDAP(S)
  • LINUX THINGS
    • Enumeration
    • Privilege Escalation
      • Writable $PATH
  • WINDOWS THINGS
    • Enumeration
    • Useful Commands
    • Active Directory Methodology
      • Commands to create AD environment
      • Attacks
        • Kerberos
          • User enumeration
          • ASREP-Roast
          • Kerberoasting
          • ASREP-Roast VS Kerberoasting
          • Golden Ticket
          • Resource Based Constrained Delegation
        • Secrets dump
        • Pass The Hash
        • Dump NTDS
        • Tickets
          • TGT
        • NTML Password Spray
        • LDAP Authentication
          • LDAP Pass-back
          • Rogue LDAP Server
        • SMB Relay (LLNMR, NTB-NS & WPAD)
        • NTLM Relay
        • Tools to exploit AD things
        • SCF Files
      • Kerberos
      • SAM & LSA secrets
      • Enumeration
        • BloodHound
        • PowerView
          • CheatSheet of Commands
        • Set DNS & DOMAIN
      • Resources
      • RunAs
      • Post Explotation
        • Persistence
        • Mimikatz
      • Common used tools
  • 🕳️Pivoting
    • Port Forwarding
    • Socks Forwarding
    • Routing
    • Web Fuzzing
    • Transfer files
    • Metasploit
      • Single Pivot
      • Double Pivot
    • Burp Suite
  • 🎛️Hardware
    • Physical attacks
  • 🌕Buffer Overflow
    • Introduction
    • Stack-Based
      • Introduction
        • Spiking
        • Fuzzing
        • Find Offset
        • Overwrite EIP
        • Find module
        • Find Badchars
        • Shellcode
  • 🐳Docker
    • Commands
    • Practical examples
  • 💡Useful things
    • Burp Suite
      • Proxy Activation
    • Linux Commands
    • Recreate multipart/form-data request
      • Python
      • HTML & netcat
    • TTY
    • Templates for reports (exams)
    • Tmux
    • Other cheat sheets
Powered by GitBook
On this page
  • Install BloodHound & Neoj4
  • Downloading compatible SharpHound version with our BloodHound
  • Executing SharpHound.exe
  • Executing SharpHound.ps1
  • Feeding BloodHound with the collected data
  1. WINDOWS THINGS
  2. Active Directory Methodology
  3. Enumeration

BloodHound

PreviousEnumerationNextPowerView

Last updated 6 months ago

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.

GitHub - SpecterOps/BloodHound: Six Degrees of Domain AdminGitHub
All SharpHound Flags, Explained — BloodHound 3.0.3 documentation
Logo
Logo