BloodHound


BloodHound is a powerful tool used by adversaries to visualize and analyze Active Directory relationships, allowing them to quickly identify and exploit potential attack paths and privilege escalation opportunities within a network. It automates the reconnaissance phase of an attack, helping attackers pinpoint weak points and ultimately compromise Active Directory environments.

Python Ingestor


┌──(kali㉿kali)-[~/…/htb/labs/timelapse/bloodhound]
└─$ KRB5CCNAME=../svc_deploy@dc01.timelapse.htb.ccache bloodhound-python -d TIMELAPSE.HTB -u svc_deploy -k -no-pass -dc dc01.timelapse.htb --dns-tcp -ns $IP --zip -c All       
INFO: Found AD domain: timelapse.htb
INFO: Using TGT from cache
INFO: Found TGT with correct principal in ccache file.
INFO: Connecting to LDAP server: dc01.timelapse.htb
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 4 computers
INFO: Connecting to LDAP server: dc01.timelapse.htb
INFO: Found 11 users
INFO: Found 55 groups
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: 
INFO: Querying computer: 
INFO: Querying computer: 
INFO: Querying computer: dc01.timelapse.htb
INFO: Ignoring host dc01.timelapse.htb since its reported name  does not match
INFO: Done in 00M 13S
INFO: Compressing output into 20231025073136_bloodhound.zip

Using the Python implementation of BloodHound ingestor with the TGT of the svc_deploy account, I can pull out all the domain information

Prep


┌──(kali㉿kali)-[~/…/htb/labs/timelapse/bloodhound]
└─$ sudo neo4j console
directories in use:
home:         /usr/share/neo4j
config:       /usr/share/neo4j/conf
logs:         /usr/share/neo4j/logs
plugins:      /usr/share/neo4j/plugins
import:       /usr/share/neo4j/import
data:         /usr/share/neo4j/data
certificates: /usr/share/neo4j/certificates
licenses:     /usr/share/neo4j/licenses
run:          /usr/share/neo4j/run
Starting Neo4j.
 
┌──(kali㉿kali)-[~/…/htb/labs/timelapse/bloodhound]
└─$ bloodhound

Starting up neo4j and bloodhound

Ingested domain data has been uploaded

svc_deploy


The svc_deploy account also has the membership to the Remote Management Users group. This was already picked up by ldapdomaindump earlier

ReadLAPSPassword


as expected at this point, the svc_deploy account has a transitive readlapspassword privileges to the DC01 host This appears to be the direct route to compromise the target domain

Domain Admins


Although there are 3 additional domain users with memberships to the Domain Admins Group, there appears to be no direct route to them

Domain Computers


Those 3 additional computer accounts appear to be out of reach As discovered previously, there aren’t any network address assigned to them