Writeup by wook413

Recon

Nmap

I initiated the assessment with my standard three-stage Nmap methodology. First I performed a full TCP port scan (65,535 ports), followed by a targeted service enumeration on the discovered open ports, and concluded with a scan of the top 10 UDP ports.

Initial Access

FTP 21

Initial checks showed that FTP anonymous login was disabled.

SMB 139 445

Similarly, SMB Null Authentication attempts failed across multiple tools, as the server consistently denied access.

HTTP 8089 33333

I ran the Nmap http-enum script against port 8089 and 33333, but it yielded no significant results.

HTTP 8089

The webpage on port 8089 hosted a “DevOps Dashboard” featuring three buttons: ‘List Current Deployments’, ‘List Running Processes’, and ‘List Active Nodes’.

image-20260207121229268

Theses buttons appeared to link to a static IP (169.254.1.128) on port 33333.

image-20260207121236588

HTTP 33333

While the static IP was unreachable, the target host also had port 33333 open. Navigating there directly resulted in an “Invalid Token” error.

image-20260207121242136

Appending /list-current-deployments to the URL returned a Cannot “GET” /list-current-deployments error. This suggested the endpoint might support alternative HTTP methods, such as POST.

image-20260207121301551

Using Burp Suite , I sent a POST request to /list-current-deployments , which returned a “Not Implemented” message, which I have never seen with a GET request.

image-20260207121307309

A POST request to /list-running-procs successfully triggered a response, dumping a list of what appeared to be every active process on the host.

image-20260207121315720

Within the process list, I discovered a set of exposed credentials: ariah:Tm93aXNlU2xvb3BUaGVvcnkxMzkK .

The password seemed to be Base64-encoded; after decoding it to plaintext, I successfully authenticated via SSH.

Shell as ariah

found local.txt

Privilege Escalation

with valid credentials, I revisited the FTP server and retrieved a file named Infrastructure.pdf .

The file was password-protected, but I successfully cracked it using pdf2john and John the Ripper .

image-20260207121332802

The PDF contained three URLs, suggesting the existence of internal-only web services.

image-20260207121340362

The target indeed was running an internal facing web service on port 80.

I established an SSH Local Port Forward to access the internal network.

A curl inspection of the internal server was initially inconclusive. However, the PDF identified http://nickel/? as a “Temporary Command” endpoint. The trailing question mark suggested paramter-based execution.

While a dash prefix returned an “Incorrect Parameter” error, prepending a command with a question mark (?whoami) successfully executed the command on the server.

From here, there are several paths to a SYSTEM shell. I will demonstrate two methods: executing a traditional reverse shell via nc.exe , and creating a new user to be added to the Local Administrators group for SSH access.

Shell as system

Method 1 - Reverse Shell

image-20260207121350222

Method 2 - Create a New User

image-20260207121355389

image-20260207121400455

image-20260207121405030

found proof.txt