BloodHound
The default password for the target domain was hard-coded into the Description attribute of a user. While the password did not work for the original user, a simple password spray attack revealed that it worked for another user; melanie
. It was later then validated and used to request for a TGT
Here, I will get bloodhound going to understand the target domain better
Ingestion
┌──(kali㉿kali)-[~/…/htb/labs/resolute/bloodhound]
└─$ KRB5CCNAME=../melanie.ccache bloodhound-python -u melanie -d MEGABANK.LOCAL -k -ns $IP -dc resolute.megabank.local --dns-tcp --zip -no-pass -c All
Password:
INFO: Found AD domain: megabank.local
INFO: Using TGT from cache
INFO: Found TGT with correct principal in ccache file.
INFO: Connecting to LDAP server: resolute.megabank.local
INFO: Found 1 domains
INFO: Found 1 domains in the forest
INFO: Found 2 computers
INFO: Connecting to LDAP server: resolute.megabank.local
INFO: Found 28 users
INFO: Found 54 groups
INFO: Found 2 gpos
INFO: Found 6 ous
INFO: Found 19 containers
INFO: Found 0 trusts
INFO: Starting computer enumeration with 10 workers
INFO: Querying computer: MS02.megabank.local
INFO: Querying computer: Resolute.megabank.local
INFO: Done in 00M 18S
INFO: Compressing output into 20230610191407_bloodhound.zip
Using the TGT of the melanie
user, I am able to authenticate to the target KDC to run the ingestor for bloodhound
Although bloodhound-python prompted me for password, I did not provide any, and it worked out just fine.
Additionally, the -no-pass
flag of bloodhound-python doesn’t seem to be functional
BloodHound
┌──(kali㉿kali)-[~/…/htb/labs/resolute/bloodhound]
└─$ sudo neo4j console
[sudo] password for kali:
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/resolute/bloodhound]
└─$ bloodhound
Firing up neo4j and bloodhound
Ingested data uploaded
melanie
The current user,
melanie
, doesn’t appear to have any outbound object control
This leaves me only to connect directly to the DC host via WinRM
ryan
The
ryan
user being part of the Contractors
group provides a transitive group membership to the DnsAdmins
group.
This is worth noting since the Contractors
group is a none default group as initially discovered earlier via ldapdomaindump