Sauna
kerbrute, ASREProast, DCSync
IP
LHOST: 10.10.14.15
RHOST: 10.129.95.180
Nmap
Port scan:
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
88/tcp open kerberos-sec
135/tcp open msrpc
139/tcp open netbios-ssn
389/tcp open ldap
445/tcp open microsoft-ds
464/tcp open kpasswd5
593/tcp open http-rpc-epmap
636/tcp open ldapssl
3268/tcp open globalcatLDAP
3269/tcp open globalcatLDAPsslScript scan:
Full scan:
Port 445 (crackmapexec)
Enumerate SMB shares with crackmapexec:
Here we learn that the NetBIOS name is sauna and the domain is egotistical-bank.local:

Port 80 (username enumeration)
Recall that crackmapexec found a domain name:
Add the following entry to /etc/hosts:
In "About Us", we found a list of potential usernames:

Write down a list of possible usernames and save them as users.txt:
This [firstname initial][lastname] username pattern is commonly used in HTB boxes. In real world, you may want to generate a list of potential usernames based on emails or company policy.
Port 88 (kerbrute)
Enumerate valid usernames with kerbrute:
Here we found a valid username fsmith@egotistical-bank.local:

Update users.txt:
Foothold (ASREProast)
Now we have a valid username fsmith and we don't know his password. In such scenario, we can try ASREProast in order to get a TGT ticket and crack it offline. To learn the theory behind ASREProast, read the following post:
ASREProast with GetNPUsers:
Note that the / in egotistical-bank.local/ is required, otherwise GetNPUsers won't recognize the string as a domain. It works:

Save the hash to a file named hash.txt:
Crack the TGT ticket with John:
The plaintext password is Thestrokes23:

Since port 5985 is open and we have a valid credential fsmith:Thestrokes23, we can get shell with Evil-WinRM:
Get a user shell as fsmith:

Lateral Movement (winPEAS)
Upload winPEAS via Evil-WinRM upload command and run it:
winPEAS found an AutoLogon credential svc_loanmanager:Moneymakestheworldgoround!:

However, the user svc_loanmanager does not exist. Further enumeration shows that there exists a user svc_loanmgr:

Try getting shell with credential svc_loanmgr:Moneymakestheworldgoround! via Evil-WinRM:
Get shell as svc_loanmgr:

Privilege Escalation (DCSync)
Upload adPEAS via Evil-WinRM upload command and run it:
adPEAS found that svc_loanmgr has DCSync rights:

Since we know the credential of svc_loanmgr, we can do DCSync with secretsdump from Kali:
secretsdump found Administrator's NTLM hash:

The NTLM hash is:
Recall that Evil-WinRM can do pass the hash, therefore we don't have to crack this hash. Try pass the hash with Evil-WinRM:
Get SYSTEM shell:

Last updated