Ensimmäisenä toimenpiteenä lisätty /etc/hosts -tiedostoon kohteen IP-osoite vastaamaan osoitetta: mr-robot.thm
Key 1
Nmap-skannauksesta huomataan, että kohteessa on avoinna portit 80 (HTTP) ja 443 (HTTPS), joissa on käynnissä Apache HTTP-palvelin.
Selaimella aukaistu osoite: mr-robot.thm. Sivulla ei klikattavia linkkejä eikä lomakekenttiä.
Gobusterilla tehty hakemistoskannaus komennolla:
gobuster dir -u mr-robot.thm -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Huomataan, että saatavilla (status: 200) on hakemistot /sitemap, /intro, /wp-login, /license, /readme ja /robots
Selaimella aukaistu hakemisto /robots ja nähdään kohteen robots.txt -tiedosto. Kirjoittamalla osoiteriville: mr-robot.thm/key-1-of-3.txt nähdään ensimmäinen avain.
Key 2
Tiedosto fsocity.dic saatiin ladattu kirjoittamalla selaimen osoiteriville: mr-robot.thm/fsocity.dic
fsocity.dic sisältää listan käyttäjätunnuksia ja/tai salasanoja yhteensä 858235 kappaletta.
Selaimella aukaistu osoite: mr-robot.thm/wp-login.php ja aukesi WordPress-kirjautumissivu.
Kirjoitettu käyttäjätunnukseksi sekä salasanaksi admin ja siepattu requesti Burb Suitella. Requestista kopioitu: log=admin&pwd=admin, sekä kopioitu kirjautumissivun virheellisen käyttäjätunnuksen viesti: “Invalid username”, jotta voidaan selvittää oikea käyttäjätunnus ja salasana Hydran avulla.
Huom. virheviesti oli: “Invalid username”, eikä esimerkiksi: “Invalid username or password”.
Hydran avulla selvitetty kirjautumissivun käyttäjätunnus käyttäen sanalistaa fsocity.dic ja salasanaa “password” komennolla:
hydra -L fsocity.dic -p password mr-robot.thm http-post-form “/wp-login.php:log=^USER^&pwd=^PASS^:Invalid username.”
Lisätietoa kuinka käyttää Hydraa verkkosivun lomakkeeseen: https://infinitelogins.com/2020/02/22/how-to-brute-force-websites-using-hydra/
Hydra löysi onnistuneesti käyttäjätunnuksen: Elliot
Kirjautumissivulla kirjoitettu käyttäjätunnukseksi: Elliot ja salasanaksi: password. Nyt saatiin virhe: “The password you entered for the username Elliot is incorrect”.
Hydralla alettu murtamaan käyttäjän Elliot salasana käyttäen sanalistaa fsocity.dic. Virheviestiksi Hydra-komentoon vaihdettu: “The password you entered for the username”.
Komento:
hydra -l Elliot -P fsocity.dic mr-robot.thm http-post-form “/wp-login.php:log=^USER^&pwd=^PASS^:The password you entered for the username”
Salasanaa murrettu noin tunti, eikä Hydra löytänyt oikeaa salasanaa.
Komennolla: tac fsocity.dic > reverse.dic käännetty sanalistan fsocity.dic järjestys tiedostoon reverse.dic
reverse.dic sanalistaa käyttäen Hydra löysi heti käyttäjän Elliot salasanan: ER28-0652
Onnistuneesti kirjauduttu WordPress Admin-sivulle.
Huomataan, että Appearance-välilehden alta löytyy editori, jossa pystyy päivittämään WordPress-teeman tiedostoja.
Teeman twentyfifteen templateen 404 lisätty pentestmonkeyn PHP Reverse Shell, johon vaihdettu oma tun0 IP-osoite ja portti 4444.
Hyökkäyskoneessa käynnistetty Netcat-kuuntelija porttiin 4444.
Selaimella aukaistu osoite:
mr-robot.thm/wp-content/themes/twentyfifteen/404.php
Onnistuneesti saatu reverse shell kohteeseen.
Otettu vakaa shell käyttöön komennolla:
python -c ‘import pty; pty.spawn(“/bin/bash”)’
Hakemistosta: /home/robot löytyi toinen avain, mutta tiedostoon ei pääsyä käyttäjänä daemon. Hakemistosta huomataan myös tiedosto password.raw-md5
Tiedoston password.raw-md5 sisältö saatiin luettua, ja tiedostosta löytyi käyttäjän robot salasanatiiviste.
Salasanatiiviste kopioitu hyökkäyskoneelle tiedostoon hash.txt
Hashid:lla tarkistettu salasanatiivisteen salausalgoritmi.
Hashcatilla murrettu salasana käyttäen tiivistealgoritmia MD5 (-m 0) ja salasanalistaa rockyou.
Komento:
hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt
Hashcat mursi käyttäjän robot salasanan: abcdefghijklmnopqrstuvwxyz
Onnistuneesti päästy kirjautumaan käyttäjänä robot ja luettua tiedoston key-2-of-3.txt sisältö.
Key 3
Jotta saadaan kohteessa root-oikeudet, haettu kohteesta rootin omistamat SUID:t komennolla:
find / -user root -perm -4000 -exec ls -ldb {} \; 2> /dev/null
Huomataan, että kohteessa on Nmap asennettuna ja binäärin omistaa root.
GTFOBinsista haettu Nmap-komennot, joilla saadaan root-shell: nmap –interactive
!sh
Onnistuneesti saatu shell roottina.
Kolmas avain löytyi hakemistosta: /root