tom@home.htb:~$

Blog o HTB

16 November 2020

windapsearch

Úvod a kontext

windapsearch je v projektu užší nástroj než Impacket, CrackMapExec nebo Kerbrute, ale v Active Directory dává velmi praktický smysl. Není určený k exploitu. Je to rychlý LDAP enumerátor pro okamžik, kdy chcete z adresáře vytáhnout uživatele, skupiny, SPN, admin objekty a hlavně nečekané atributy, které v sobě mohou nést užitečné tajemství.

Na Cascade právě windapsearch ukáže cascadeLegacyPwd, tedy historické heslo uložené přímo v adresáři. V Bankrobberu se stejný nástroj používá jako široká LDAP inventura po získání doménového kontextu. To je jeho typická role i obecně: nejde o “další skener”, ale o rychlý způsob, jak se podívat, co o prostředí říká samotný AD.

Co windapsearch v praxi řeší

V AD prostředí často potřebujete rychle odpovědět na otázky jako:

windapsearch je užitečný právě tím, že tyto odpovědi vrací rychle a v jedné pracovní sadě. Nepotřebuje složité grafové zpracování. Hodí se do chvíle, kdy si teprve skládáte mapu domény a chcete najít první použitelné stopy.

Nejčastější scénáře využití v tomto projektu

Hledání nečekaných atributů v nízkoprivilegovaném LDAP kontextu

Cascade je nejčistší ukázka. Po anonymním RPC a základním přehledu účtů přidá windapsearch to, co rpcclient sám nevrátí tak přehledně: širší LDAP atributy, mezi nimi i cascadeLegacyPwd.

./windapsearch/windapsearch.py --dc-ip $IP --full --functionality -G -U -PU -C --da --admin-objects --user-spns --unconstrained-users --unconstrained-computers --gpos

Výstup pak vrátí:

=> cascadeLegacyPwd: clk0bjVldmE=
=> userPrincipalName: r.thompson@cascade.local

Rozhodující není samotný nástroj, ale to, že pomůže rychle narazit na atribut, který by při úzkém hledání snadno zapadl. Tady nejde o crack. Jde o prosté přečtení historického hesla uloženého v directory datech.

Široká LDAP inventura po získání prvních přihlašovacích údajů

Na Bankrobberu se windapsearch objevuje ve chvíli, kdy už dává smysl projet celou doménu důkladněji, a to jak bez přihlášení, tak s validními údaji:

./windapsearch/windapsearch.py --dc-ip $IP --full --functionality -G -U -PU -C --da --admin-objects --user-spns --unconstrained-users --unconstrained-computers --gpos > windapsearch.txt
./windapsearch/windapsearch.py --dc-ip $IP -u user -p pass --full --functionality -G -U -PU -C --da --admin-objects --user-spns --unconstrained-users --unconstrained-computers --gpos > windapsearch.txt

Praktický přínos není v jedné konkrétní zranitelnosti, ale ve zkrácení první orientace:

windapsearch tedy dobře funguje jako první LDAP sweep po footholdu, když už nechcete ručně sestavovat jednotlivé dotazy.

Doplňkový nástroj vedle zbytku AD toolchainu

V místních rozborech je dobré číst windapsearch vedle dalších nástrojů, ne místo nich:

Právě v tom je jeho praktická hodnota. Neřeší celý řetězec, ale umí dodat první kvalitní seznam indicií, ze kterého se pak vybírá další směr.

Kdy je windapsearch nejlepší volba

Největší smysl dává tehdy, když:

Naopak není ideální, když už přesně víte, jaký jediný atribut chcete z konkrétního objektu. Tam bývá přímý LDAP dotaz nebo specializovanější nástroj přesnější.

Nejčastější chyby v praxi

Očekávání, že nástroj sám “najde exploit”

Na Cascade je důležité, že windapsearch neprolomil heslo. Jen ukázal atribut, který v sobě heslo ukrýval. Rozhodující je pořád lidská interpretace výstupu.

Slepé pouštění širokého switche bez otázky, co hledám

Přepínače jako --user-spns, --admin-objects nebo --unconstrained-users jsou užitečné, jen pokud víte, proč vás tyto objekty zajímají. Jinak se z nástroje stane jen hlučný dump.

Podcenění “nudných” atributů

Místní rozbory dobře ukazují, že nejcennější bývají právě poznámkové nebo historické atributy. Ne jen slavné věci jako SPN. cascadeLegacyPwd je typický příklad.

Záměna za plnohodnotnou AD mapu

windapsearch je rychlý enumerátor, ne kompletní model vztahů v doméně. Jakmile jde o hlubší delegace, ACL nebo relay cesty, je potřeba ho doplnit dalšími nástroji a ruční analýzou.

Související články v projektu

Co si odnést do praxe

Další Související Články V Projektu

HTB Stroje

Techniky

Nástroje

tags: nastroje - windows - active-directory - ldap - enumeration - recon