tom@home.htb:~$

Blog o HTB

20 January 2021

SwagShop

Úvod a kontext

SwagShop je stroj z Hack The Box založený na staré instalaci Magento. Hodí se hlavně jako ukázka řetězení dvou známých webových zranitelností a následného reuse hesel v lokálním systému.

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- -Pn --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 -Pn $IP

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.

První část stála na unauthenticated SQL injection známé jako Shoplift (CVE-2015-1397), přes kterou šlo vytvořit vlastní administrátorský účet v Magento backendu. Jakmile je administrační rozhraní přístupné, následuje autentizovaný RCE exploit Froghopper (CVE-2016-4010), který už spustí kód jako webový uživatel.

Je důležité vnímat, že první shell nevzniká jednou “magickou” chybou. Jde o kombinaci dvou historicky známých slabin ve stejné platformě, které se teprve dohromady promění v použitelný foothold.

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.

Po footholdu jako www-data dává smysl projít lokální konfiguraci Magento. Soubor app/etc/local.xml obsahuje databázové přihlašovací údaje a stejné heslo fungovalo i pro systémového uživatele haris. Ten měl v sudo povolený editor vi, což je klasický GTFOBins scénář vedoucí přímo k root shellu.

sudo -l
sudo vi -c ':!/bin/sh'
cat /root/root.txt

Slabinou v root části tedy nebyl editor samotný, ale nebezpečné sudo oprávnění v kombinaci s reuse hesla z aplikační konfigurace.

Shrnutí klíčových poznatků

Co si odnést do praxe

tags: linux - exploit - privesc - enumeration - hackthebox