Symfonos 4

Symfonos 4 Vulnhub Walkthrough

Enumeration

nmap

nmap -sC -sV oA nmap/sym4 192.168.1.136
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-26 23:43 EDT
Nmap scan report for 192.168.1.136
Host is up (0.00021s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10 (protocol 2.0)
| ssh-hostkey: 
|   2048 f9:c1:73:95:a4:17:df:f6:ed:5c:8e:8a:c8:05:f9:8f (RSA)
|   256 be:c1:fd:f1:33:64:39:9a:68:35:64:f9:bd:27:ec:01 (ECDSA)
|_  256 66:f7:6a:e8:ed:d5:1d:2d:36:32:64:39:38:4f:9c:8a (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Site doesn't have a title (text/html).
MAC Address: 08:00:27:DA:3F:AA (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 8.27 seconds

As usual port 80 is open and we can put our IP at the web browser

Let's put to dirb

Dirb

We can see there is a /robots.txt

We don't have permission to access this file, so I use nikto to enumerate

Nikto

We can see that there is /atlantis.php inside the robots.txt

Saw a login form, all I can think of is SQL injection.

After some tries, I can bypass the login form using this command at the username form

I can't seem to find anything. I even tried the LFI to ../../../../../../etc/passwd but does not work. So I went to more enumeration.

Gobuster

Ah, we can see that there is a /gods

This is where the log file is stored. But then I realize this is the log file, then it seems like we can do ../../../../../../var/log/auth.

But if we do in the proper way, things will be like this

Exploitation

Wfuzz

We will use Wfuzz.

First, we need to use burp to intercept to get the PHPSESSID

Then, I use

But first I didn't get the thing I wanted, soon, I check the wordlists and surprisingly the file does not include ../../../../../../../var/log/auth.

So I add in myself, then we can run the command again

We need to hide the word that have the length of 39

Run it again then we got this

We can see the log file now, then we can actually poison the LFI

Then we can go to end of the URL and add &c=id;whoami;

We can now get the reverse shell from it

Our machine

At the end of the URL

We got a shell !

Then we can type

After some digging we can use

to get what port is running on the machine

As we can see there is another port that is running.

Port Forward

We can port forward the port to get access it, since this only can locally port forward so we need to use socat.

Then we can access it with port 8888

Then click the Main page

Since it mentioned about cookie, let's check for cookie

We can decode the password with this website and we got this

After some researching, it is a jsonpickle exploit. We can read these 3 website

to get an idea how it works

The code looks like this

Then we can encode using base64 and put it at the cookies and get a reverse shell

Remember to set up a listener at our machine first

And then refresh the page, we got root !

Navigate to /root and get the flag.txt

Congratulation!

Last updated

Was this helpful?