Pentest Hisoboti — "Hannah's Coffee" (DockerLabs)

Maqsad host: 172.17.0.2 Hostname: e0d5c53a6086 Sana: 2026-08-20 Muhit: DockerLabs (lokal, ruxsat etilgan laboratoriya) Qiyinlik darajasi: Easy (lekin ko'p bosqichli, chuqur zanjir)


1. Qisqacha xulosa

"Hannah's Coffee" — bir nechta bosqichdan iborat, chuqur o'ylab tuzilgan mashina bo'lib, markazida Local File Inclusion (LFI) zaifligi yotadi. Zaiflik ko'zga ko'rinadigan, lekin "yolg'on" parametr (page) orqali emas, balki fuzzing orqali topilgan haqiqiy parametr (studio) orqali ishlaydi. LFI keyinchalik FTP log poisoning texnikasi orqali to'liq **RCE (Remote Code Execution)**ga aylantirildi. www-data qobig'idan boshlab, noto'g'ri sozlangan sudo qoidasi orqali debugfs yordamida hannah foydalanuvchisiga o'tildi. Nihoyat, maxsus Python binaryda qoldirilgan cap_setuid capability orqali to'liq root huquqiga erishildi.

Natija: Tizimga to'liq root darajasida kirish imkoni bo'ldi, user va root flag'lari olindi.

Hujum zanjiri (umumiy ko'rinish):

Recon → LFI (studio parametri) → FTP log poisoning → RCE (www-data)
   → sudo/debugfs orqali hannah'ga pivot → cap_setuid (/opt/priv-python) → root

2. Recon — Nmap va Gobuster

nmap -sC -sV -T4 172.17.0.2

Natija:

PORT   STATE SERVICE VERSION
21/tcp open  ftp     vsftpd 3.0.5
80/tcp open  http    Apache httpd 2.4.68 ((Debian))
|_http-title: Hannah's Coffee

Ikkita servis: FTP (vsftpd 3.0.5) va kofexona mavzusidagi statik ko'rinishdagi web-sayt.

Katalog enumeratsiyasi:

gobuster dir -u <http://172.17.0.2/> -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Natija:

pages                (Status: 301) [Size: 348] [--> <http://172.17.0.2/pages/>]
server-status        (Status: 403) [Size: 315]

/pages/ katalogida home.php, menu.php, about.php, contact.php fayllari mavjud bo'lib, saytning asosiy sahifasi aslida index.php?page=home orqali yuklanadi — bu klassik LFI shabloniga o'xshaydi.

image.png