Wyszukaj konta administratora w usłudze Active Directory

W poprzednim artykule opisaliśmy procedurę resetowania hasła do standardowego konta administratora domeny Active Directory (konto administratora). Ten skrypt działa dobrze w „standardowym” środowisku Active Directory, jednak w niektórych domenach ta sztuczka może nie działać, ponieważ po wdrożeniu zastosowano najlepsze praktyki Microsoft w zakresie zabezpieczania infrastruktury AD. W prawdziwych domenach AD można chronić następujące konta administratora domeny:

  • Zmień nazwę konta standardowego Administrator usługi Active Directory
  • Utwórz konto przynęty. Konto, chociaż ma nazwę Administrator, ale nie ma żadnych podwyższonych uprawnień. Ponadto za pomocą zasad inspekcji można skonfigurować usługi bezpieczeństwa w celu powiadamiania o autoryzacji przy użyciu tego konta
  • Wyłączanie konta administratora i przyznanie uprawnień administratora domeny innej uchetce.

W tym artykule postaramy się przeanalizować obejścia tych strategii, które pozwalają odkryć w AD wszystkie konta z uprawnieniami administratora domeny.

W poprzednim artykule pokazaliśmy, w jaki sposób, tworząc usługę systemową na kontrolerze domeny, możesz zresetować hasło administratora domeny. To polecenie podczas ładowania kontrolera domeny spowoduje zresetowanie hasła konta administratora domeny (administratora domeny) do P @ ssw0rd.

sc tworzenie ResetADPass binPath = "% ComSpec% / k administrator użytkownika sieci P @ ssw0rd" start = auto

Co powinienem zrobić, jeśli nie mogę się zalogować na tym koncie? Najprawdopodobniej podczas wdrażania domeny była chroniona jedną z powyższych metod.

Zamontuj odłączoną bazę danych Active Directory

Spróbujmy wyodrębnić informacje o prawdziwych administratorach domeny z bazy danych AD. Aby to zrobić, uruchom system w trybie DSRM, w którym baza danych Active Directory (ntds.dit) jest wyłączona. Musimy lokalnie zamontować tę bazę danych, aby dodatkowo uzyskać dostęp do przechowywanych w niej informacji.

Uruchom dwie linie poleceń: w pierwszym uruchomimy proces dsamain.exe, w drugim wprowadzimy polecenia interaktywne.

Wskazówka. Podczas pracy z Server Core drugi wiersz poleceń można otworzyć, uruchamiając polecenie w oryginalnym cmd:

uruchom cmd

Przed uruchomieniem narzędzia dsamain.exe upewnij się, że inne usługi i procesy nie używają obecnie portu 389. Możesz to zrobić za pomocą polecenia:

netstat -ano | findstr: 389

Jeśli zespół nic nie zwrócił - wszystko jest w porządku, śmiało (jeśli wróciłeś, musisz znaleźć i wyłączyć znaleziony proces).

Narzędzie dsamain.exe umożliwia zamontowanie bazy danych AD i wykonywanie na niej różnych zapytań LDAP (w rzeczywistości umożliwia zorganizowanie samodzielnego serwera LDAP). Narzędzie uruchamia się z następującymi parametrami:

  • dbpath - ustawia ścieżkę do pliku ntds.dit.
  • allowNonAdminAccess - Zezwala na zapytania LDAP do bazy danych AD na koncie lokalnym (domyślnie dostęp jest dozwolony tylko dla członków grup Domain Admins i Enterprise Admins).
  • ldapPort - pozwala określić port LDAP. Użyjemy standardowego portu LDAP - 389.

Zamontuj bazę AD za pomocą polecenia:

dsamain -dbpath C: \ Windows \ NTDS \ ntds.dit -allowNonAdminAccess -ldapPort 389

Upewnij się, że proces dsamain.exe jest uruchomiony i nasłuchuje na porcie 389. Aby to zrobić, w drugim wierszu polecenia uruchom polecenie:

netstat -ano | findstr: 389
TCP 0.0.0.0 opin89 0.0.0.0:07 LISTENING 614

TCP [::]: 389 [::]: 0 LISTENING 614

TCP 0.0.0.0 opin89 *: * 614

TCP [::]: 389 *: * 614

Otrzymujemy proces o identyfikatorze procesu 614 do nasłuchiwania na porcie TCP 389.
Sprawdź, czy proces z PID 604 jest naszym procesem dsamain.exe:

tasklist / fi "pid eq 614" / fo list
Nazwa obrazu: dsamain.exe

PID: 614

Nazwa sesji: konsola

Sesja nr: 2

Wykorzystanie pamięci: 11 316 K

Po zamontowaniu podstawy AD możemy uzyskać do niej dostęp za pomocą narzędzi ds * (dsget, dsquery itp.). Spójrzmy na wszystkie trzy opcje ukrywania konta administratora domeny..

Zmieniono nazwę konta administratora domeny

Jak mogę ustalić, czy zmieniono nazwę standardowego konta administratora usługi Active Directory?
Standardowy administrator AD ma dobrze znany identyfikator SID, którego format to odpowiednio S-1-5-21- [identyfikator domeny] -500, więc musimy tylko znaleźć obiekt o takim identyfikatorze SID w domenie. W drugim wierszu polecenia uruchom polecenie:

dsquery user -s localhost | dsget user -s localhost -samid -sid | findstr / c: "- 500"
itpro S-1-5-21-2292496274-2043586872-6449473370-500

W tym przypadku widać, że nazwa konta administratora została zmieniona na itpro.
Możesz również zresetować hasło do tego konta za pomocą usługi specjalnej:

sc tworzenie ResetPW binPath = "% ComSpec% / k użytkownik netto itpro P @ ssw0rd" start = auto

Teraz możesz odmontować bazę danych AD (zatrzymaj proces dsamain.exe za pomocą Ctrl + C). Upewnij się, że polecenie zwróciło ciąg

Usługi domenowe w usłudze Active Directory zostały pomyślnie zamknięte

Fałszywe konto administratora AD

Jak ustalić, że standardowy Administrator Active Directory nie ma niezbędnych uprawnień? To jest bardzo proste. Znając nazwę wyróżniającą konta administratora, możemy uzyskać listę grup, na które się składa:

dsget użytkownik "CN = Administrator, CN = Użytkownicy, DC = winitpro, DC = pl" -s localhost -memberof -expand
„CN = Użytkownicy domeny, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = Użytkownicy, CN = Wbudowany, DC = winitpro, DC = ru”

Jak widać, to konto nie jest członkiem grupy Domain Admins i nie nadaje się do naszych celów. Poniższa technika pomoże Ci znaleźć „prawdziwych” administratorów.

Alternatywny administrator domeny

Spróbujmy dowiedzieć się, jak uzyskać listę kont z uprawnieniami administratora domeny. Na początek spróbujmy rekurencyjnie wyświetlić listę wszystkich członków grupy Administratorzy (w tym członków grup Domain Admins i Enterprise Admins).

dsquery group -s localhost -samid "administratorzy" | dsget group -s localhost -members -rozwiń
„CN = Administratorzy domeny, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = Administratorzy przedsiębiorstwa, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = Administrator, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = itpro, CN = Użytkownicy, DC = winitpro, DC = ru”

Jak widać, konta Administrator i itpro mają uprawnienia administratora. Sprawdź status konta administratora:

dsget użytkownik "CN = Administrator, CN = Użytkownicy, DC = winitpro, DC = pl" -s localhost -samid -sid -disabled
Samid Sid został wyłączony

Administrator S-1-5-21-2092397264-2003686862-3249677370-500 tak

Jak widać jest on wyłączony.

Teraz sprawdź status konta itpro:

dsget użytkownik "CN = itpro, CN = Użytkownicy, DC = winitpro, DC = ru" -s localhost -samid -sid -disabled
Samid Sid został wyłączony

itpro S-1-5-21-2092397264-2003686862-3249677370-1107 nr

dsget się udało

To konto jest aktywne. Sprawdź, w których grupach się składa:

dsget użytkownik "CN = itpro, CN = Users, DC = winitpro, DC = pl" -s localhost -memberof -expand
„CN = właściciele twórców zasad grupy, CN = użytkownicy, DC = winitpro, DC = ru”

„CN = Administratorzy domeny, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = Administratorzy przedsiębiorstwa, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = Administratorzy schematu, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = Użytkownicy domeny, CN = Użytkownicy, DC = winitpro, DC = ru”

„CN = odmowa grupy replikacji hasła RODC, CN = użytkownicy, DC = winitpro, DC = en”

„CN = Administratorzy, CN = Wbudowany, DC = winitpro, DC = en”

„CN = Użytkownicy, CN = Wbudowany, DC = winitpro, DC = ru”

Świetnie, ma prawa administratora domeny! Pozostaje zresetować hasło do konta za pomocą samid - itpro. Ponownie można to zrobić za pomocą usługi:

sc tworzenie ResetPW binPath = "% ComSpec% / k użytkownik netto itpro PA $ w0rd94" start = auto

Nie zapomnij odmontować bazy danych AD i zrestartować serwer.