SICKOS 1.2
- Layout for this exercise:

1 - INTRODUCTION
- The goal of this exercise is the study of the hacking process for the vulnerable machine SickOS 1.2:

- SickOS 1.2 can be downloaded from here:
https://www.vulnhub.com/entry/sickos-12,144/
- Once downloaded and extracted with WMware:

2 - ENUMERATION
- Using netdiscover let's notice that the only IP address in the local network working with WMware is 192.168.1.16, so it should correspond to the vulnerable machine SickOS 1.2:


- Scanning with Nmap:

- Connecting to the web service:

- Viewing the source there is nothing interesting:

- Scanning the web content with dirb:

- Going to the /test folder:

- curl shows that the PUT method is allowed, meaning that we can create a resource at the web folder /test:

3 - EXPLOITATION
- Using the -X option and the method PUT let's try to create a simple text file and upload it to the the web folder /test:




- Once we see that the upload is successful let's try some more tricky uploads, for instance creating a cmd.php file useful to execute php scripts:

- Listing with ls -la:

- Opening /etc/passwd with cat:

- Using which let's discover whether netcat is available at the victim machine:

3.1 - Exploiting with curl and netcat
- Taking advantage of this Python reverse shell, and encoding it with the percent-encoding:
http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet
https://en.wikipedia.org/wiki/Percent-encoding

- Setting a listening session on port 443:

- Running the reverse shell with curl:

- A limited shell is achieved:

3.2 - Exploiting with Command Injection
- Another alternative would be injecting directly the Pyhon script via the browser.
- First, setting a listening session on port 443:

- Passing the Python script directly via the browser:

- The limited shell is again achieved:

3.3 - Exploiting with Metasploit
- Setting a Metasploit handler session on port 443:


- Executing the reverse shell script via curl:

- A limited shell is achieved:

- Now, before starting the Privilege Escalation process let's background this Metasploit session for later use:

4 - PRIVILEGE ESCALATION
- Following these directions for Privilege Escalation at a Linux machine:
https://blog.g0tmi1k.com/2011/08/basic-linux-privilege-escalation/
- Searching for cron.daily:



- cron.daily uses an outdated version of chkrootkit:


- Looking for related vulnerabilities:


- Searching with Metasploit we find an exploit:


- Setting options for the exploit:

- One of the require options is a session, what corresponds to the session 1 backgrounded at point 3.2 of this exercise:

- Running the exploit, the Privilege Escalation is successful because a root shell is achieved:

5 - CAPTURING THE FLAG
- Going to the /root folder:

