Menu dostępności

Kilka metod na znalezienie kont serwisowych w Active Directory

Kilka metod na znalezienie kont serwisowych w Active Directory

Konta serwisowe są krytycznym elementem każdego środowiska informatycznego, używanym do wykonywania różnych zautomatyzowanych procesów. Jednocześnie konta te mogą stanowić poważne zagrożenie dla bezpieczeństwa, jeśli nie są odpowiednio zarządzane i monitorowane. W tym artykule przyjrzymy się, jak znaleźć (i audytować) konta serwisowe w usłudze Active Directory (AD), gdyż nie jest to wcale takie proste.

Jak rozumieć konta serwisowe w AD?

Konta serwisowe to specjalne typy kont w usłudze Active Directory, które zapewniają kontekst bezpieczeństwa dla usług działających na serwerach Windows. Konta te mają unikalne uprawnienia domenowe i lokalne prawa dostępu, pozwalające im wykonywać określone zadania. Ze względu na podwyższone uprawnienia konta serwisowe mogą stać się głównymi celami atakujących. Warto więc zaopatrzyć się w odpowiedni nadzór nad tymi obiektami.

Konta serwisowe są zazwyczaj używane do uruchamiania skryptów, zarządzania aplikacjami i usługami lub wykonywania innych zautomatyzowanych funkcji. W przeciwieństwie do zwykłych kont użytkowników nie są powiązane z żadną konkretną osobą – raczej służą jako środek interakcji usług i aplikacji z siecią. Są zaprojektowane tak, aby działać w tle bez konieczności interwencji człowieka.

Znalezienie kont serwisowych w środowisku AD

Wylistowanie kont serwisowych w Active Directory jest często złożonym zadaniem ze względu na ogromną liczbę kont i skomplikowaną naturę struktur AD, ale przede wszystkim dlatego, że nie mamy żadnej odrębnej klasy obiektu, która rozróżnia na poziomie schematu AD konta zwykłych użytkowników (np. pracowników) od kont serwisowych.

Poszukiwania warto zacząć od poniższych kroków:

  1. Przejrzyj dokumentację. Zacznij od przejrzenia istniejącej dokumentacji lub list inwentarzowych, które mogą zawierać informacje o kontach. Takie listy często tworzone są przy okazji audytów domeny AD. Można na nich znaleźć nazwy kont, opisy i powiązane aplikacje lub skrypty.
  2. Użyj narzędzi Active Directory. Użyj wbudowanych narzędzi Microsoft, aby wyszukać konta. Jednym z powszechnie używanych narzędzi jest konsola Active Directory Users and Computers (ADUC). Otwórz ADUC, przejdź do swojej domeny i użyj funkcji wyszukiwania, aby filtrować konta o określonych atrybutach powszechnie kojarzonych z kontami do usług, np. tekst „ServiceAccount” w polu opisu czy fragment loginu „sa” lub „svc” itp.
  3. Sprawdź specjalne flagi na kontach. Konta serwisowe często mają ustawione specjalne flagi zmieniające ich zachowanie. Flagi te to na przykład „DONT_EXPIRE_PASSWORD” lub „PASSWORD_NOT_REQUIRED”. Możesz użyć poleceń PowerShell lub zapytań LDAP, aby wyszukać konta z zaznaczonymi takimi flagami.
  4. Sprawdź członkostwo w grupach. Konta serwisów często są członkami określonych grup zabezpieczeń, które przyznają im niezbędne uprawnienia do wykonywania zadań. Przejrzyj członkostwo w grupach takich jak np. „Domain Admins”, „Account Operators” czy „Server Operators”, ale też w innych posiadających podwyższone/oddelegowane uprawnienia na poziomie całej domeny.
  5. Poszukaj od strony aplikacji/usługi. Zidentyfikuj aplikacje lub usługi, które polegają na kontach serwisowych. Skonsultuj się z właścicielami aplikacji lub administratorami systemu, aby zebrać informacje o powiązanych kontach.
  6. Sprawdź atrybut SPN na kontach. Niektóre usługi, jak na przykład MS SQL Server, rejestrują w AD specjalną wartość na koncie serwisowym w polu SPN (ServicePrincipalName). Pozwala to na łatwe powiązanie konta z konkretną już usługą. W tym poradniku przedstawiono kilka metod, aby pobrać wszystkie konta z uzupełnionym atrybutem SPN z naszego środowiska.
  7. Odpytaj z PowerShell serwery w swojej domenie. Jeśli posiadasz uprawnienia i dostępy sieciowe do zdalnego odpytania o usługi każdego komputera w swojej sieci, to najlepszym rozwiązaniem będzie wykonanie takiego zapytania w PowerShell:
    get-wmiobject win32_service -comp <nazwa bądź lista komputerów> -filter „startname like '%nazwa domeny%'” | select name, status, startname
    Pozwoli to na wylistowanie wszystkich kont serwisowych ze wszystkich odpytanych serwerów. Oczywiście będą to tylko konta, na których działa jakakolwiek usługa. Konta użyte w skryptach, API czy wewnątrz aplikacji nie będą tutaj widoczne.

Co możemy zrobić, aby ułatwić zarządzanie kontami serwisowymi w AD?

Jak widzimy powyżej, określenie kryteriów i znalezienie w AD kont serwisowych to niełatwe zadanie. Możemy jednak podjąć kilka kroków, żeby je sobie ułatwić:

  • Ujednolicić nazewnictwo kont używanych do obsługi serwisów, np. rozpoczynać nazwę od: sa_ lub svc-.
  • Umieszczać konta serwisowe w specjalnie wybranym miejscu w strukturze AD.
  • Korzystać z kont typu gMSA i MSA

Popularne

Nowa luka w Microsoft Teams – lepiej nie być zapraszanym…

Nowa luka w Microsoft Teams – lepiej nie być zapraszanym…

Usługa Microsoft Teams stała się kluczowym narzędziem do komunikacji i współpracy w firmach na całym świecie. Z tego powodu wiele organizacji polega na zabezpieczeniach takich jak Microsoft Defender for Off...
Ważna zmiana w OWASP Top 10

Ważna zmiana w OWASP Top 10

OWASP, czyli Open Worldwide Application Security Project, zaproponowało nowe wydanie swojej klasycznej listy Top 10 ryzyk aplikacyjnych. Wersja z 2025 roku wprowadza kluczowe rozszerzenia dotyczące b...
Jak modele LLM automatyzują cyberprzestępczość

Jak modele LLM automatyzują cyberprzestępczość

Każdy Czytelnik Kapitana Hacka wie, że złośliwe LLM-y ułatwiają mniej doświadczonym cyberprzestępcom przeprowadzanie ataków. Potwierdzają to badacze z Palo Alto Networks, którzy przeanalizowali dwa niedaw...
Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Wizualizacja ścieżek ataku na Active Directory za pomocą narzędzia BloodHound

Krótko o narzędziu Bloodhound to narzędzie służące do wizualizacji i analizy powiązań w Active Directory. Dla atakującego jest niezastąpioną pomocą do znajdowania ścieżki ataku na najbardziej c...
Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Jak błąd w 7-Zip (CVE-2025-11001) daje hakerom dostęp do systemu Windows. Jest exploit

Odkryto niezwykle niebezpieczną dla użytkowników systemów Windows podatność. Błąd o numerze CVE‑2025‑11001 jest już częściowo wykorzystywany, a dotyczy popularnego programu 7-Zip. Polega na niewłaściwe...