tom@home.htb:~$

Blog o HTB

16 November 2020

ldapsearch

Úvod a kontext

ldapsearch je nízkoúrovňový klient pro přímé dotazy do LDAP adresáře. V místních rozborech se častěji objevují specializované utility jako windapsearch, Kerbrute nebo Impacket, ale vrstva dat, ze které tyto nástroje žijí, je pořád stejná: LDAP.

Právě proto má ldapsearch praktický smysl. Když nepotřebujete širokou enumeraci, ale chcete si ručně ověřit konkrétní atribut, objekt nebo search base, bývá to nejpřímější cesta. To je důležité hlavně u AD scénářů typu Cascade, Monteverde, Forest nebo Intelligence, kde rozhodují atributy, skupiny a directory metadata, ne jen otevřené porty.

Co ldapsearch v praxi řeší

ldapsearch je užitečný tehdy, když potřebujete:

Jeho síla není v automatizaci. Je v přesnosti. Přesně proto se hodí jako doplněk ve chvíli, kdy už nějaký AD kontext máte a potřebujete ověřit jednu hypotézu nad adresářovými daty.

Typicky to znamená nejdřív potvrdit naming context a potom cíleně vytáhnout konkrétní objekt:

ldapsearch -x -H ldap://10.10.10.182 -s base namingContexts
ldapsearch -x -H ldap://10.10.10.182 -D 'SABatchJobs@MEGABANK.LOCAL' -w 'SABatchJobs' -b 'DC=MEGABANK,DC=LOCAL' '(sAMAccountName=SABatchJobs)' dn memberOf

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

Ověření podezřelého atributu nebo konkrétního objektu

Cascade ukazuje, jak velkou hodnotu může mít jediný LDAP atribut. Praktický průlom tam nepřišel z exploitu služby, ale z atributu cascadeLegacyPwd, který byl uložený přímo u účtu.

V místním rozboru se to vytahuje přes windapsearch, ale právě tady by ldapsearch byl přirozený nástroj pro cílené ověření:

To je praktická síla ldapsearch: když už tušíte, co hledat, není potřeba spouštět široký dump celé domény.

Potvrzení bindu a search base po získání prvních doménových údajů

Monteverde je dobrá ukázka chvíle, kdy LDAP přestává být jen služba na portu 389 a stává se skutečným zdrojem dalších stop. Jakmile funguje jednoduchý spray a účet SABatchJobs, dává smysl ověřit:

Právě v takové chvíli ldapsearch šetří čas. Místo slepého zkoušení dalších utilit si můžete nejdřív potvrdit, co LDAP skutečně vrací a jak hluboko s daným účtem do adresáře dohlédnete.

Ruční ověření toho, co našel širší enumerátor

Forest, Intelligence i Monteverde ukazují širší AD řetězce, kde se střídají:

V takových situacích často dává smysl použít ldapsearch jako ruční kontrolu:

Nejde o náhradu specializovaných nástrojů. Jde o přesné ověření mezi dvěma kroky, kdy už nechcete hádat, co enumerátor vlastně našel.

LDAP jako zdroj dat pro další identity hypotézy

Na Sauně nebo Intelligence stojí další směr útoku na dobrém seznamu jmen a identit. ldapsearch se v podobných chvílích hodí tehdy, když chcete:

Prakticky je to často levnější než rovnou sahat po těžší orchestraci nad celou AD mapou.

Kdy je ldapsearch nejlepší volba

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

Naopak není ideální jako jediný nástroj pro široký první recon celé domény. Tam bývají praktičtější Kerbrute, windapsearch, rpcclient nebo další specializované utility.

Nejčastější chyby v praxi

Očekávání, že LDAP vrátí vše bez ohledu na bind

ldapsearch je přesný, ale pořád naráží na práva adresáře. Když účet nic nevidí, problém není v syntaxi příkazu, ale v tom, jaký máte bind kontext.

Záměna široké enumerace za cílený dotaz

Jestli teprve hledáte první stopu v celé doméně, ruční ldapsearch bývá zbytečně pomalý. Je silný až tehdy, když už víte, co nebo koho chcete potvrdit.

Podcenění konkrétních atributů

Cascade dobře ukazuje, že nejcennější bývá někdy právě nenápadný atribut. ldapsearch má smysl tehdy, když se umíte ptát konkrétně, ne když jen bez cíle dumpujete vše.

Ignorování toho, že LDAP je zdroj, ne cíl

Na místních strojích LDAP většinou nevede přímo k shellu. Vede k:

To je jeho skutečná role.

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 - ldap - active-directory - enumeration - attributes - directory