tom@home.htb:~$

Blog o HTB

21 December 2020

Nibbles

Úvod a kontext

Nibbles dobře ukazuje, že průlom často nezačíná jedním exploitem, ale kombinací signálů jako SQL injection, webová aplikace v PHP a Apache.

Praktická část pak stojí na tom, jak se tyto zjištěné vazby promění v stabilní uživatelský přístup opřený o IP-dict.txt a 35865.txt a jak je po user části využitelná příliš široká sudo oprávnění.

Počáteční průzkum

Vyhledání otevřených portů

Nejprve mapuji veřejně dostupné služby, protože právě z otevřených portů odvodím, které protokoly a aplikace má smysl zkoumat detailněji.

ports=$(nmap -p- --min-rate=1000 -T4 $IP | grep ^[0-9] | cut -d "/" -f 1 | tr "\n" "," | sed s/,$//);echo $ports;nmap -p $ports -A -sC -sV -v $IP
PORT   STATE SERVICE VERSION

Detailní analýza služeb

V dalším kroku si zpřesňuji verze služeb a jejich charakteristiky, protože právě z těchto detailů obvykle vzniká rozhodnutí, zda pokračovat přes web, SSH nebo jinou vrstvu.

22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 c4:f8:ad:e8:f8:04:77:de:cf:15:0d:63:0a:18:7e:49 (RSA)
|   256 22:8f:b1:97:bf:0f:17:08:fc:7e:2c:8f:e9:77:3a:48 (ECDSA)
|_  256 e6:ac:27:a3:b5:a9:f1:12:3c:34:a5:5d:5b:eb:3d:e9 (ED25519)
80/tcp open  http    Apache httpd 2.4.18 ((Ubuntu))
| http-methods:
|_  Supported Methods: POST OPTIONS GET HEAD
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.18 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Enumerace webu

Ve webové vrstvě hledám neveřejné cesty, vývojové artefakty a chybně vystavené soubory, protože právě ty často prozradí technologii aplikace, interní workflow nebo přímo přístupové údaje.

whatweb -v http://$IP
./dirsearch/dirsearch.py -u http://$IP -e php -x 403 -r

Enumerace webu (2)

Ve webové vrstvě hledám neveřejné cesty, vývojové artefakty a chybně vystavené soubory, protože právě ty často prozradí technologii aplikace, interní workflow nebo přímo přístupové údaje.

cewl -v --with-numbers http://$IP > /tmp/$IP-dict.txt && gobuster dir -u http://$IP/ -w /tmp/$IP-dict.txt -t 40 -x php
=> nibbleblog

Analýza zjištění

Identifikace a hledání exploitu

Zjišťuji technologii a ověřuji známé zranitelnosti.

searchsploit nibbleblog
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                                                                                                             |  Path
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------
Nibbleblog 3 - Multiple SQL Injections                                                                                                                                                                     | php/webapps/35865.txt
Nibbleblog 4.0.3 - Arbitrary File Upload (Metasploit)                                                                                                                                                      | php/remote/38489.rb
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------

Získání přístupu

Získání user flagu

User flag zde slouží hlavně jako potvrzení, že už mám běžný uživatelský kontext a mohu pokračovat v lokální analýze systému.

cat user.txt
__CENSORED__

Eskalace oprávnění

Průzkum možností eskalace

Hledám chybné konfigurace a cesty k vyšším oprávněním.

sudo -l
    (root) NOPASSWD: __CENSORED__

Získání root flagu

Tento krok ukazuje, jak se nalezená slabina nebo chyba v delegaci oprávnění mění v privilegovaný přístup.

cat root.txt
__CENSORED__

Shrnutí klíčových poznatků

Co si odnést do praxe

tags: linux - sql-injection - ssh - sudo - php - exploit