Rozpoznanie to pierwszy krok kampanii KILLCHAIN. Od niego rozpoczyna się każdy atak wewnątrz domeny Active Directory. Udane kampanie phishingowe lub zewnętrznie dostarczony malware spowodują, że atakujący uzyska dostęp do konta zwykłego użytkownika w Active Directory. Naturalne jest, że będąc w nowym środowisku zacznie się rozglądać i szukać potencjalnych celów ataku. Jeden z mechanizmów Active Directory pozwala przeglądać środowisko bez żadnych specjalistycznych narzędzi i bez podwyższonych uprawnień. Jak to się dzieje, o tym nizej.

LDAP, czyli Lightweight Directory Access Protocol, to protokół aplikacyjny służący do wysyłania zapytań i modyfikowania obiektów w usługach katalogowych, takich jak Active Directory. Można to zobrazować tak, że AD jest bazą danych, a LDAP jest jednym z protokołów, który umożliwia komunikowanie się z nią. Microsoft nie zapewnia łatwego sposobu monitorowania zapytań LDAP, sprawdzenia, jakie zapytanie zostało wysłane i skąd pochodzi. Ponadto, każdy użytkownik domenowy może odpytać AD poprzez ten protokół, bez posiadania żadnych podwyższonych uprawnień. Osoby zagrażające bezpieczeństwu mogą więc, wykorzystać tę lukę do przeprowadzenia działań rozpoznawczych w środowisku, co jest pierwszą fazą każdego ukierunkowanego ataku.

Pierwszą rzeczą, jaką zrobi atakujący, gdy zdobędzie dostęp do domeny Active Directory, będzie próba podniesienia dostępu. Ostatecznym celem każdego atakującego jest złamanie zabezpieczeń członka grup Domain Admins czy Enterprise Admins. Zaskakująco łatwo jest przeprowadzić rozpoznanie domeny za pomocą PowerShell’a bez posiadania podwyższonych uprawnień. Aby zbudować podstawową listę celów wystarczą dwa zapytania: o członków grupy, np. ”Domain Admins” oraz o listę wartościowych serwerów, np. kontrolerów domeny. Dzięki prostym filtrom nazw komputerów, opisów grup i lokalizacji OU można stworzyć listę komputerów docelowych, które mogą zostać narażone na kompromitacje. Poniżej przedstawiono te właśnie zapytania wykonane za pomocą modułu AD systemowego PowerShell’a:


Z łatwością możemy pozyskać inne interesujące informacje na temat domeny. Na przykład za pomocą komendy “Get-ADDomain”:


Atakujący wykonując zapytania LDAP pozyskuje np. SID domeny, czyli jedną z rzeczy niezbędnych do wykonania ataku Golden Ticket, co prowadzi do całkowitej kompromitacji w organizacji.

Narzędziem lubianym w środowisku testerów i hakerów jest BloodHound. Pozwala on na pobranie danych (właśnie przez LDAP) o środowisku AD i wizualizacji ścieżki ataku. Wystarczy wskazać konto lub serwer do którego pragniemy uzyskać dostęp w domenie, a BloodHound przeanalizuje AD i wyrysuje nam graf obrazujący dostęp do zasobów połączonych z konkretnymi obiektami AD.






Jak się chronić?

Rozpoznanie domeny przez LDAP jest bardzo trudne do uniknięcia. Większość informacji w Active Directory jest w zasięgu ręki wszystkich użytkowników domeny, a więc każde złamane konto może zostać użyte do przeprowadzenia rozpoznania. Monitorowanie ruchu LDAP i wykrywanie anormalnych zapytań jest najbardziej proaktywnym sposobem reagowania na podejrzane działania. Zredukowanie możliwych ścieżek ataku w domenie jest również wysoce zalecane, ponieważ nawet po udanym rozpoznaniu zmniejsza możliwości atakującego.

Przeprowadzenie rozpoznania w Active Directory za pomocą PowerShell’a oraz narzędzia BloodHound pokazaliśmy na filmie poniżej.