Jet

I'll only cover the web challenges and leave all the reversing and crypto challenges up to the you :)

Initial Enumeration

Rustscan

sudo rustscan -t 1500 -b 1500 --ulimit 65000 -a 10.13.37.10 -- -sV -sC -oA ./{{ip}}

Ports

Open 10.13.37.10:22
Open 10.13.37.10:53
Open 10.13.37.10:80
Open 10.13.37.10:5555
Open 10.13.37.10:7777
Open 10.13.37.10:8082
Open 10.13.37.10:8081
Open 10.13.37.10:8083
Open 10.13.37.10:9201

Services

PORT     STATE SERVICE  REASON         VERSION
22/tcp   open  ssh      syn-ack ttl 63 OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
53/tcp   open  domain   syn-ack ttl 63 ISC BIND 9.10.3-P4 (Ubuntu Linux)
| dns-nsid: 
|_  bind.version: 9.10.3-P4-Ubuntu
80/tcp   open  http     syn-ack ttl 63 nginx 1.10.3 (Ubuntu)
|_http-server-header: nginx/1.10.3 (Ubuntu)
|_http-title: Welcome to nginx on Debian!
| http-methods: 
|_  Supported Methods: GET HEAD
5555/tcp open  freeciv? syn-ack ttl 63
| fingerprint-strings: 
|_  DNSVersionBindReqTCP, GenericLines, GetRequest, adbConnect: 
7777/tcp open  cbt?     syn-ack ttl 63
| fingerprint-strings: 
|_  Arucer, DNSStatusRequestTCP, DNSVersionBindReqTCP, GenericLines, GetRequest, HTTPOptions, RPCCheck, RTSPRequest, Socks5, X11Probe: 
8081/tcp open  http     syn-ack ttl 63 PHP cli server 5.5 or later
|_http-title: 404 Not Found
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
8082/tcp open  http     syn-ack ttl 63 PHP cli server 5.5 or later
|_http-title: 404 Not Found
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
8083/tcp open  http     syn-ack ttl 63 PHP cli server 5.5 or later
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-title: 404 Not Found
9201/tcp open  http     syn-ack ttl 63 BaseHTTPServer 0.3 (Python 2.7.12)
|_http-server-header: BaseHTTP/0.3 Python/2.7.12
| http-methods: 
|_  Supported Methods: GET
|_http-title: Site doesn't have a title (application/json).

Connect

Checking the Webpage on Port 80 will reveal the first flag!

Digging in...

The next flag will be presented to us on a new webpage we have yet to discover as nothing else can be found on the ports presented to us at the moment.

DNS Enumeration

It's always worth a shot to check if you are able to perform zone transfers or anything related to DNS. In this case using a reverse lookup I was able to get some domain names.

Flag

Going Deeper

Nice flag to be honest. We have to dig deeper on the page we just discovered to find a new application!

Enumeration

I used feroxbuster to enumerate directories and files on the page

One result stood out to me as it seemed to be odd

I visited the page and can see that it's some "encrypted" code

After decryption it looks like this

Flag

The flag can be found when checking the login page of the newly discovered monitoring application

Bypassing Authentication

After discovering the login page I tried the usual enumeration and finally discovered that the username parameter was vulnerable to SQL Injection

Enumeration

First I tried to login as "admin:admin" which resulted in a message like

Second I tried "test:test" which gave me following response

Now I used ' or 1 or ' without a password and got this response

Exploitation

I'm lazy when it comes down to SQL Injections so I used sqlmap for this task with a request I captured in burp

Once the MD5 hash was discovered I was able crack it using crackstation.net

Flag

The flag can be found directly after logging in in the chat section

Command

You will love this one

Enumeration

There's not a lot to discover on the dashboard itself. Only thing that seems to work is the "Quick Email" widget

After going through the whole process of sending an E-Mail I checked burp to see what's happening

The page also states that a "word filtering" is active to filter out bad words. When we decode the parameters it's clear that some form of php regex is used to replace those words

Exploitation

My final "exploit" looked like this and resulted in a reverse shell As stated before I have control over the modifier so I can switch from "i" to "e" which means that my supplied input will be interpreted as code

Flag

After getting a shell as www-data the flag can be found in the directory of the dashboard in a file called a_flag_is_here.txt

Last updated