Safe
Úvod a kontext
Safe je stroj z Hack The Box, který kombinuje klasický buffer overflow v uživatelské části a špatnou správu tajemství v části root. V praxi je zajímavý tím, že obě fáze vyžadují úplně jiný typ uvažování.
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.
Na portu 1337 běžela vlastní echo služba, která vracela dodaný vstup zpět. To je silná indicie k reverzní analýze binárky a ke kontrole hranic vstupu. Další krok proto vedl přes buffer overflow a ROP řetězec, který předá řízení do system("/bin/sh") a vrátí shell v kontextu běžného uživatele.
Na tomto místě je důležité neplést si vstupní vektor s následnou stabilizací shellu. Samotný user přístup vzniká přetečením zásobníku v této službě, nikoli zneužitím SSH.
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 user footholdu se v domovském adresáři nacházela databáze KeePass (.kdbx). Spolu s dostupným doprovodným artefaktem sloužícím jako keyfile nebo druhý faktor šla otevřít a získat z ní root heslo. To je typická chyba správy tajemství: trezor sice existuje, ale jeho ochranný materiál leží na stejné stanici a ve stejném uživatelském kontextu.
Kořenová eskalace zde tedy není o kernelu ani o sudo, ale o tom, že citlivé tajemství bylo po prvním footholdu prakticky po ruce.
Shrnutí klíčových poznatků
- Počáteční průzkum se z obecné enumerace změnil v použitelný směr teprve po propojení indicií jako KeePass databáze a SSH.
- User část stála na ověřeném kroku typu stabilní uživatelský přístup, ne na odhadu bez technického potvrzení.
- Závěrečná eskalace pak stála na tom, co představuje lokálně uložená tajemství v KeePass databázi, takže rozhodující byla práce s lokálním kontextem po footholdu.
Co si odnést do praxe
- První obranná lekce míří na KeePass databáze a SSH. První vstup do systému často nevzniká na hlavní doméně, ale na vedlejší službě, pomocném endpointu nebo chybně publikovaném souboru; i tyto plochy je potřeba aktivně inventarizovat.
- Druhá lekce je o tom, jak rychle se ze zjištění stane stabilní uživatelský přístup. Jakmile se v prostředí objeví použitelný klíč, heslo nebo token, je potřeba předpokládat okamžitý pivot na stabilní shell; obrana proto stojí na segmentaci a oddělení přístupů mezi službami.
- Třetí lekce připomíná riziko, které v praxi představuje lokálně uložená tajemství v KeePass databázi. Lokální trezory a zálohy tajemství pomáhají jen tehdy, pokud jsou chráněné jiným faktorem než souborem na stejném hostu; jinak z nich po získání shellu bývá jen odložený root.