Active Directory kontroluje dostęp do każdego zasobu w sieci Windows. Większość firm ma je wdrożone od lat i zakłada, że działa poprawnie. Tymczasem atakujący bardzo dobrze wiedzą, gdzie szukać słabych punktów. Zebraliśmy najważniejsze zagrożenia i konkretne kroki, które warto podjąć zanim będzie za późno.
Najczęstsze słabe punkty, które widzimy w praktyce:
- Brak właściwego monitorowania zdarzeń w AD
- Zbyt wiele kont z uprawnieniami administracyjnymi, brak segregacji
- Zbyt wolna detekcja i reakcja na incydenty bezpieczeństwa
- Brak wykrycia włamań, które mogły nastąpić tygodnie temu
- Zasoby przeznaczane na zabezpieczenia nie trafiają tam, gdzie ryzyko jest największe
Zbyt szerokie uprawnienia jako główny wektor ataku
Każde konto powinno mieć tylko tyle uprawnień, ile faktycznie potrzebuje. Szczególnie niebezpieczne uprawnienia do audytu:
- Replicating Directory Changes All — pozwala pobrać skróty WSZYSTKICH haseł z AD (atak DCSync)
- Generic Write / Generic All — pełna kontrola nad obiektem w AD
- Reset Password — reset hasła dowolnego konta
- Write msDS-KeyCredentialLink — umożliwia atak Shadow Credentials (przejęcie konta bez hasła)
- Read msLAPS-Password — odczyt lokalnych haseł administratora
DCSync — atakujący podszywa się pod kontroler domeny i pobiera skróty haseł wszystkich użytkowników. Nie dotyka serwera fizycznie. Wystarczy mieć odpowiednie uprawnienie w AD.
Stare protokoły uwierzytelniania jako wektor ataku
W czerwcu 2024 Microsoft ogłosił deprecjację wszystkich wersji NTLM. NTLMv1 usunięto w Windows 11 24H2 i Windows Server 2025.
Czym jest NTLM? Stary protokół uwierzytelniania Windows. Przesyła skrót hasła przez sieć. Atakujący może go przechwycić i użyć bez znajomości prawdziwego hasła (Pass-the-Hash) albo przekazać dalej do innego serwera (NTLM Relay). Kerberos to nowszy, bezpieczniejszy zamiennik.
Co zrobić jako admin:
- Wyłączyć NTLMv1 na wszystkich maszynach
- Zablokować wychodzące NTLM z kontrolerów domeny
- Usunąć domyślną stronę zadań certyfikatów (/certsrv)
- Wyłączyć SMBv1, przestarzały protokół udostępniania plików
- Włączyć SMB Signing i SMB Encryption
- Włączyć Extended Protection for Authentication
Świeża luka w SMB (czerwiec 2025)
Podatność w kliencie SMB Windows umożliwiająca eskalację uprawnień przez atak refleksji NTLM.
LLMNR / mDNS / NetBIOS — protokoły rozgłoszeniowe do rozwiązywania nazw w sieci lokalnej. Gdy DNS nie zna adresu, Windows pyta całą sieć: "kto to jest?". Atakujący odpowiada "to ja!" i przechwytuje uwierzytelnienie. Rozwiązanie: wyłączyć wszystkie trzy.
- Wyłączyć LLMNR, mDNS i NetBIOS Name Service
- Zainstalować poprawkę dla podatności w kliencie SMB z 2025 roku
Ataki na hasła bez wyzwalania blokady kont
Password spraying polega na próbowaniu jednego popularnego hasła (np. "Lato2025!") na wielu kontach jednocześnie. Nie wyzwala blokady kont, bo każde konto dostaje tylko jedną próbę. Haker szuka kont ze słabymi lub domyślnymi hasłami.
Kody błędów Kerberos które zdradzają informacje atakującemu:
- KDC_ERR_PREAUTH_FAILED — złe hasło, ale konto istnieje
- KDC_ERR_KEY_EXPIRED — hasło wygasłe (konto istnieje!)
- KDC_ERR_C_PRINCIPAL_UNKNOWN — konto nie istnieje
Uwaga: gdy NTLM jest zablokowany dla nazwy domenowej (FQDN), haker może użyć adresu IP zamiast nazwy. NTLM wtedy nadal działa.
Monitoruj zdarzenia: Event ID 4776 (NTLM), 4768 (żądanie TGT), 4771 (błąd pre-auth Kerberos).
Konta usług jako cel ataków offline
Kerberos działa na biletach. Gdy logujesz się do usługi, dostajesz bilet (TGS) zaszyfrowany hasłem konta usługi. Haker pobiera ten bilet i łamie go offline, bez dalszego kontaktu z serwerem. Cel: konta z przypisanym SPN (Service Principal Name).
- Używaj gMSA — AD automatycznie rotuje 240-znakowe losowe hasło; odporny na Kerberoasting
- Dla zwykłych kont usług stosuj bardzo długie hasła
- Włączyć szyfrowanie AES zamiast RC4 dla Kerberos
- Wyłączyć Legacy Kerberos Encryption Types (DES, RC4)
- Monitoruj Event ID 4769 — masowe żądania TGS to czerwona flaga
Dodatkowe mechanizmy ochrony
- Windows LAPS — automatyczna rotacja hasła lokalnego administratora; każda maszyna ma inne, unikalne hasło
- Credential Guard — chroni skróty haseł w izolowanej maszynie wirtualnej (Hyper-V); Mimikatz nie może ich wyciągnąć
- LSA Protected Process — chroni proces LSASS (pamięć haseł) przed dumpowaniem
- Protected Users Group — blokuje słabsze metody uwierzytelniania dla kont VIP; brak NTLM, DES, RC4
- LDAP Signing + LDAPS — szyfrowanie i podpisywanie zapytań do AD; WS 2025 wymaga podpisu domyślnie
- MFA dla Tier 0 — wieloskładnikowe uwierzytelnianie obowiązkowe dla adminów domeny i DC
- Defender ASR — reguły blokujące typowe techniki ataków, np. uruchamianie makr Office
- Blokada internetu dla serwerów — DC nie powinny mieć bezpośredniego dostępu do internetu
- "Account is sensitive and cannot be delegated" — flaga na kontach VIP chroniąca przed atakami delegacji Kerberos
Wewnętrzny urząd certyfikacji jako wektor ataku
AD CS (Active Directory Certificate Services) to wewnętrzny urząd certyfikacji firmy. Wydaje certyfikaty SSL, certyfikaty do logowania kartą itp. Certyfikat wystawiony przez wewnętrzne CA może być użyty do uwierzytelnienia w AD jak paszport. Ważność certyfikatu to często rok lub więcej, a zmiana hasła go nie unieważnia.
Typowe błędy konfiguracyjne:
- Brak audytingu — nie wiadomo kto i kiedy wystawił certyfikat
- Domyślna strona zadań (/certsrv) dostępna bez silnego uwierzytelniania
- Brak pliku CAPolicy.inf — domyślne, słabe ustawienia instalacji
- Nieprawidłowe uprawnienia na szablonach certyfikatów
- Brak weryfikacji przez menedżera (Manager Approval) dla wrażliwych szablonów
Narzędzie do audytu: Certify (GitHub: GhostPack) — automatycznie wykrywa błędy w AD CS.
Podatności w konfiguracji usług certyfikatów
Błędny szablon certyfikatu pozwala podać własną nazwę alternatywną (SAN), np. administrator@firma.pl, i zalogować się z uprawnieniami admina.
Szablon z rozszerzeniem EKU "Any Purpose" pozwala użyć certyfikatu do dowolnego uwierzytelnienia, również jako administrator.
Szablon pełnomocnika rejestracji (Enrollment Agent) pozwala wystawić certyfikat w imieniu dowolnego użytkownika, w tym administratora domeny.
Użytkownik bez uprawnień administracyjnych ma prawo zapisu do szablonu CA i może go zmienić tak, by umożliwiał eskalację uprawnień.
Flaga EDITF_ATTRIBUTESUBJECTALTNAME2 włączona na urzędzie certyfikacji pozwala każdemu użytkownikowi podać dowolną nazwę SAN w żądaniu certyfikatu.
Atakujący skłania kontroler domeny do uwierzytelnienia się do jego maszyny, po czym przekazuje to uwierzytelnienie do usługi certyfikatów i uzyskuje certyfikat z uprawnieniami DC.
Nieprawidłowe wymuszanie silnego wiązania certyfikatów pozwala atakującemu użyć SAN do uwierzytelnienia jako kontroler domeny.
Klucz prywatny CA jest chroniony przez HSM, jednak hasło dostępu do niego przechowywane jest w rejestrze systemowym. Daje to możliwość podpisywania dowolnych certyfikatów.
Kolejne odkryte klasy błędów: nadużywanie polityk aplikacji, brak identyfikatora SID w certyfikatach oraz błędy mapowania certyfikatów na konta.
Jak Windows przechowuje dane uwierzytelniające
Windows nigdy nie przechowuje haseł w postaci jawnej. Trzyma ich skróty (hash) algorytmem MD4. Problem: do ataku Pass-the-Hash wystarczy sam skrót, nie trzeba znać prawdziwego hasła. Skróty są szyfrowane przez bootkey — klucz ukryty w 4 kluczach rejestru: Data, GBG, JD, Skew1.
- SAM — lokalna baza skrótów haseł na każdej maszynie
- NTDS.dit — baza skrótów haseł wszystkich użytkowników domeny na DC
- LSA Secrets — hasła kont usług w rejestrze (HKLM\SECURITY\Policy\Secrets)
- MSDCC2 / Cached Logons — hasła do logowania offline; szyfrowane PBKDF2+HMAC-SHA1
- DPAPI Master Keys — klucze do szyfrowania sekretów użytkownika; backupowane w AD
Szyfrowanie sekretów użytkownika i ryzyko ich utraty
DPAPI to mechanizm Windows do szyfrowania danych powiązanych z kontem użytkownika lub maszyną. Używają go: menedżer haseł Windows, zapisane połączenia RDP, KeePass, Chrome/Edge (hasła), sieci WiFi, IIS (hasła Application Pool). Klucz główny (Master Key) powiązany jest z hasłem użytkownika i synchronizowany z AD.
- Golden Key (G$BCKUPKEY) — klucz backupu wszystkich Master Keys w pamięci LSASS na DC. Kto go zdobędzie, może odszyfrować sekrety WSZYSTKICH użytkowników domeny, nawet po zmianie haseł.
- DPAPI-NG — nowszy wariant (Windows 8+), używa Diffie-Hellman + AES-256-GCM, powiązany z SID
- IIS / Application Pools — hasła kont App Pool można odszyfrować offline mając dostęp do pliku konfiguracyjnego i rejestru
Implikacja dla admina: Jeśli atakujący zdobędzie pamięć LSASS z DC, uzyska dostęp do kluczy deszyfrujących sekrety całej organizacji — hasła z KeePass, Chrome, zapisanych połączeń RDP wszystkich użytkowników.
Co robić krok po kroku
- 1.Zrób backup DC przed incydentem (jeśli masz) i w aktualnym stanie (VHD lub system state)
- 2.Zresetuj hasła WSZYSTKICH użytkowników dwukrotnie
- 3.Zresetuj hasła administratorów i kont usług
- 4.Zresetuj hasło konta KRBTGT dwukrotnie — unieważnia wszystkie Golden Tickets
- 5.Sprawdź czas ważności hasła kont komputerów (domyślnie 30 dni, atakujący mógł to wydłużyć)
- 6.Zresetuj wszystkie hasła LAPS
- 7.Zresetuj uprawnienia na obiekcie AdminSDHolder
- 8.Odwołaj i ponownie wystaw WSZYSTKIE certyfikaty z AD CS
- 9.Przejrzyj delegacje uprawnień w AD; sprawdź nowych członków grup uprzywilejowanych
- 10.Sprawdź złośliwe zaplanowane zadania (Scheduled Tasks) i filtry WMI
- 11.Sprawdź backdoory utilman-style (podmiana utilman.exe na cmd.exe)
- 12.Sprawdź złośliwe drukarki i sterowniki drukarek
- 13.Sprawdź skrypty logowania w GPO i SYSVOL
- 14.Sprawdź autorunsy i inne mechanizmy persistence w rejestrze
- 15.Zmień hasła kont Azure AD Connect (mają wysokie uprawnienia w obu środowiskach)
- 16.Wykonaj Revoke-AzureADUserAllRefreshToken dla wszystkich użytkowników
- 17.Sprawdź nowe konta, przypisania ról i App Registrations w Azure AD
- 18.Zweryfikuj polityki Conditional Access i logi zmian
- 19.Wymuś rollover hasła konta AZUREADSSOACC$ (jeśli używasz Seamless SSO)
- 20.Sprawdź zmiany GPO od czasu incydentu; porównaj członkostwo grup z baseline
- 21.Uruchom auditpol /get /category:* na DC, sprawdź co jest logowane
- 22.Skanuj AD narzędziem PingCastle i MITRE ATT&CK w poszukiwaniu słabych miejsc
- 23.Sprawdź procesy uruchomione na DC; zmień KDS Root Key
- 24.AD CS: sprawdź certyfikaty wystawione po incydencie, szablony, uprawnienia, rouge NTAuth entries
- 25.ADFS: sprawdź IDP/RP/polityki; wymuś rotację certyfikatu podpisywania tokenów
- 26.PAM: przejrzyj wszystkie logi, zmiany sekretów, konta wewnętrzne
- 27.SCCM: sprawdź task sequences, zaplanowane zadania, nowe/zmienione pakiety
Wnioski praktyczne
MFA poprawia bezpieczeństwo, ale nie chroni przed atakami na protokoły (Pass-the-Hash, Kerberoasting, certyfikaty).
Ciągły monitoring (SIEM, Event Forwarding) pozwala wykryć anomalie zanim wyrządzą szkody.
PAM i model tiering (Tier 0/1/2) ogranicza punkty wejścia. Konta admina domeny nie służą do codziennej pracy.
Projektuj AD jakby było już skompromitowane. Zakładaj, że atakujący jest już w sieci i projektuj obronę pod tym kątem.
Inwestuj w Threat Hunting. Reaktywne polityki są niewystarczające. Trzeba aktywnie szukać śladów ataków.
Zarządzaj tożsamością i urządzeniami. Każde konto i maszyna muszą być monitorowane w sposób ciągły.
Podstawowe pojęcia
- Active Directory (AD)
- Centralny katalog użytkowników, komputerów i polityk w sieci Windows. Kto kontroluje AD, kontroluje wszystko.
- Domain Controller (DC)
- Serwer hostujący AD. Główny cel atakujących w każdej sieci Windows.
- NTLM
- Stary protokół uwierzytelniania Windows. Podatny na Pass-the-Hash i Relay attacks. Powinien być wyłączony wszędzie.
- Kerberos
- Nowszy, bezpieczniejszy protokół uwierzytelniania oparty na biletach (TGT/TGS). Powinien zastąpić NTLM.
- Hash / Skrót hasła
- Jednostronna funkcja matematyczna. Windows przechowuje MD4(hasło), nie samo hasło. Do ataku Pass-the-Hash wystarczy sam skrót.
- Pass-the-Hash
- Atak gdzie zamiast hasła używasz jego skrótu. Windows akceptuje skrót jako dowód tożsamości.
- NTLM Relay
- Przechwycenie uwierzytelnienia NTLM i jego retransmisja do innego serwera, np. do DC w celu uzyskania uprawnień administratora.
- DCSync
- Atak symulujący replikację DC. Wyciąga skróty haseł wszystkich użytkowników domeny bez logowania się na serwerze.
- Kerberoasting
- Pobieranie zaszyfrowanych biletów usług (TGS) i łamanie ich offline w celu odgadnięcia hasła konta usługi.
- SPN (Service Principal Name)
- Identyfikator usługi w AD. Konta z SPN są podatne na Kerberoasting.
- DPAPI
- Windows API do szyfrowania danych powiązanych z kontem użytkownika. Używany przez Chrome, KeePass, RDP, WiFi.
- gMSA (group Managed Service Account)
- Specjalny typ konta usługi. AD automatycznie rotuje 240-znakowe hasło. Odporny na Kerberoasting.
- LAPS
- Local Administrator Password Solution. Automatyczna rotacja lokalnych haseł administratora. Każda maszyna ma inne.
- LSASS
- Proces Windows przechowujący w pamięci RAM skróty haseł aktywnych sesji. Cel ataków narzędziem Mimikatz.
- SMB
- Protokół udostępniania plików i drukarek Windows. Wersja 1 jest krytycznie niebezpieczna, należy ją wyłączyć.
- LLMNR / mDNS / NetBIOS
- Protokoły rozgłoszeniowe do rozwiązywania nazw. Podatne na poisoning. Atakujący podszywają się pod inne hosty. Wyłączyć wszystkie.
- TGT / TGS
- Bilety Kerberos. TGT (Ticket Granting Ticket) to "paszport" uzyskiwany przy logowaniu. TGS to "wiza" do konkretnej usługi.
- KRBTGT
- Specjalne konto, którego hasłem podpisywane są wszystkie bilety TGT. Znajomość tego hasła = Golden Ticket attack.
- Golden Ticket
- Sfałszowany bilet TGT podpisany hasłem KRBTGT. Daje nieograniczony dostęp do wszystkich zasobów, nawet po zmianie haseł użytkowników.
- AD CS (Certificate Services)
- Wewnętrzny urząd certyfikacji w AD. Błędy konfiguracji pozwalają na eskalację uprawnień aż do poziomu administratora domeny.
- AdminSDHolder
- Obiekt AD kontrolujący uprawnienia kont uprzywilejowanych. Atakujący dodają tu backdoory, które co godzinę nadpisują uprawnienia.
- PetitPotam
- Technika wymuszenia uwierzytelnienia DC do maszyny atakującego przez protokół EFS. Używana w atakach NTLM relay na AD CS.
- SIEM
- Security Information and Event Management. System do zbierania, korelowania i analizowania logów bezpieczeństwa w czasie rzeczywistym.
- Tier 0 / Tier 1 / Tier 2
- Model segregacji uprawnień. Tier 0 = DC i systemy krytyczne. Tier 1 = serwery aplikacyjne. Tier 2 = stacje robocze. Konta jednego tiera nie mają dostępu do wyższego.
- PBKDF2
- Funkcja derywacji klucza z hasła z wieloma tysiącami iteracji SHA1/SHA512. Spowalnia atakującemu łamanie haseł offline.