Forest HackTheBox Walkthrough: Mastering Active Directory Exploitation
Hack The Box's Forest machine is a classic Windows "Easy" box that serves as a cornerstone for learning Active Directory (AD) exploitation. Despite its "Easy" rating, many users find it challenging because it requires a deep understanding of AD misconfigurations, particularly AS-REP Roasting and DACL abuse.
This walkthrough provides a comprehensive guide to gaining a foothold and escalating to Domain Admin. Phase 1: Reconnaissance and Enumeration
The first step is identifying the attack surface. Since Forest is a Windows machine, we expect to see standard AD services.
Nmap Scan: Start with a full port scan to identify open services.
Port 88 (Kerberos): Confirms the machine is a Domain Controller. forest hackthebox walkthrough best
Port 389 (LDAP): Reveals the domain name htb.local and hostname forest.htb.local.
Port 445 (SMB) and 5985 (WinRM): Potential entry points for lateral movement and remote management.
User Enumeration: Use rpcclient with a null session to enumerate domain users. Command: rpcclient -U '' -N 10.10.10.161
Use enumdomusers to generate a list of valid usernames, such as svc-alfresco, andy, and mark. Phase 2: Initial Access via AS-REP Roasting
With a list of valid users, the next objective is finding an account vulnerable to AS-REP Roasting—a technique targeting accounts that do not require Kerberos pre-authentication. Verify with Evil-WinRM WinRM is open (port 5985)
WinRM is open (port 5985). Connect:
evil-winrm -i 10.10.10.161 -u svc-alfresco -p s3rvice
We are in. Grab the user.txt flag from C:\Users\svc-alfresco\Desktop.
Foothold achieved without a single brute-force password guess.
Upload SharpHound.exe or use BloodHound.py from Kali:
bloodhound-python -d htb.local -u svc-alfresco -p s3rvice -ns 10.10.10.161 -c all
Load the resulting zip files into BloodHound and run the pre-built query: "Find principals with DCSync rights" or "Shortest Path to Domain Admin". We are in
BloodHound reveals: The user svc-alfresco is a member of the Account Operators group.
The svc-admin credentials can be used to access the box via SSH.
ssh svc-admin@10.10.10.74
Once inside, the svc-admin user has limited privileges. However, by examining the /etc/sudoers file, it's discovered that svc-admin can run impacket-tool as root without a password.
smbclient -L //10.10.10.161 -N
# No shares accessible without creds, but null session works
Set-DomainObjectOwner -Identity "Exchange Windows Permissions" -OwnerIdentity "svc-alfresco"