Kerberos i Kerberoasting
Łamanie biletów kont usług
Kerberos i Kerberoasting to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Kerberos w pigułce
Kerberos to protokół uwierzytelniania oparty na biletach. Zamiast przesyłać hasła, klienci przedstawiają bilety kryptograficzne wydane przez Centrum dystrybucji kluczy (KDC), działające na każdym kontrolerze domeny.
- Serwer uwierzytelniania (AS) wydaje bilet przyznania biletu (TGT).
- Serwer przyznawania biletów (TGS) wydaje bilety usługowe.
- Usługi weryfikują bilety bez kontaktowania się z kontrolerem domeny.
Trzy wymiany
Kerberos obejmuje trzy wymiany komunikatów. Ich zrozumienie pokazuje, gdzie lokują się poszczególne ataki.
- AS-REQ / AS-REP: klient potwierdza swoją tożsamość (pre-auth) i otrzymuje TGT zaszyfrowany kluczem krbtgt.
- TGS-REQ / TGS-REP: klient przedstawia TGT, aby zażądać biletu usługowego (TGS).
- AP-REQ / AP-REP: klient przedstawia TGS usłudze.
AS-REP roasting atakuje pierwszą wymianę, a Kerberoasting — drugą.
Nazwy główne usług
Nazwa główna usługi (SPN) przyporządkowuje instancję usługi kontu, na którym działa. Po zażądaniu TGS dla SPN wynikowy bilet jest częściowo szyfrowany skrótem hasła konta usługi.
Na tym właśnie polega Kerberoasting: każdy uwierzytelniony użytkownik może zażądać biletów dla kont usługowych, a następnie łamać je offline, aby odzyskać hasło w postaci jawnej.
# Find accounts with SPNs set
Get-DomainUser -SPN | select samaccountname,serviceprincipalnamePrzebieg ataku Kerberoasting
Kerberoasting generuje mało szumu, ponieważ żądanie TGS jest normalnym działaniem. Etapy ataku to:
- Wyliczenie kont użytkowników mających SPN.
- Zażądanie biletów TGS dla tych SPN.
- Wyodrębnienie zaszyfrowanych danych biletów.
- Łamanie ich offline za pomocą listy słów; podczas łamania nie jest potrzebna interakcja z kontrolerem domeny.
# Rubeus: request and dump kerberoastable hashes
Rubeus.exe kerberoast /outfile:hashes.txt
# Impacket from Linux
GetUserSPNs.py domain/user:pass -dc-ip 10.0.0.10 -requestŁamanie biletów
W przechwyconym bilecie hasło konta usługi służy jako klucz. Podczas łamania offline testuje się kolejne potencjalne hasła, aż jedno z nich poprawnie odszyfruje bilet.
Konta usługowe często mają słabe hasła, których nigdy się nie zmienia, dlatego można je szybko złamać.
# Hashcat mode 13100 = Kerberos 5 TGS-REP etype 23 (RC4)
hashcat -m 13100 hashes.txt rockyou.txt
# etype 18 (AES256) uses mode 19700
hashcat -m 19700 hashes_aes.txt rockyou.txtTypy szyfrowania mają znaczenie
Szyfr użyty do biletu wpływa na szybkość jego łamania.
- RC4 (etype 23) można szybko złamać; jego dalsze dopuszczanie jest sygnałem ostrzegawczym.
- AES (etype 17/18) jest znacznie odporniejszy na ataki brute-force.
- Atakujący mogą obniżyć poziom szyfrowania żądań do RC4, używając
/tgtdeleglub nadużywającmsDS-SupportedEncryptionTypes.
Obrońcy powinni wyłączyć RC4 w całej domenie i wymusić używanie AES.
AS-REP roasting
Powiązany atak jest wymierzony w konta z wyłączonym uwierzytelnianiem wstępnym Kerberos (DONT_REQ_PREAUTH). Bez uwierzytelniania wstępnego odpowiedź AS-REP zawiera dane zaszyfrowane skrótem hasła użytkownika, które można uzyskać bez żadnych poświadczeń.
# Rubeus AS-REP roast
Rubeus.exe asreproast /format:hashcat /outfile:asrep.txt
# Hashcat mode 18200
hashcat -m 18200 asrep.txt rockyou.txtDlaczego ten atak tak często działa
Kerberoasting kończy się powodzeniem z powodu słabości strukturalnych, a nie wad protokołu.
- Każdy uwierzytelniony podmiot może z założenia zażądać dowolnego biletu usługowego.
- Konta usługowe często są konfigurowane raz ze słabym hasłem, którego później nigdy się nie zmienia.
- Wiele z nich działa z wysokimi uprawnieniami, na przykład konta usług SQL należące do grupy Domain Admins.
- Łamanie odbywa się w całości offline, więc blokada konta nigdy nie zostaje wyzwolona.
Strategie wykrywania
Obrońcy mogą wykrywać roasting, analizując telemetrię żądań TGS.
- Monitorujcie zdarzenie
4769pod kątem żądań biletów RC4 (0x17), zwłaszcza gdy pochodzą seriami z jednego konta. - Generujcie alert, gdy jeden podmiot w krótkim czasie żąda biletów dla wielu różnych SPN.
- Wdróżcie konta SPN-pułapki, z których nie korzysta żadna prawidłowa usługa; każde żądanie jest złośliwe.
Zabezpieczanie kont usługowych
Trwałe rozwiązanie polega na usunięciu warunków, które umożliwiają łamanie biletów.
- Używajcie Group Managed Service Accounts (gMSA) z automatycznie zmienianymi hasłami o długości co najmniej 120 znaków.
- Wymuście długie, złożone hasła dla wszystkich pozostałych klasycznych kont usługowych.
- Wyłączcie RC4 i wymagajcie typów szyfrowania AES.
- Usuńcie niepotrzebne SPN i nadajcie kontom wyłącznie niezbędne uprawnienia.
Działanie zgodne z zasadami etyki
Podczas autoryzowanych testów należy łamać bilety w odizolowanym środowisku i nigdy nie wynosić poświadczeń w postaci jawnego tekstu poza zakres zlecenia. Należy zgłosić, które konta udało się złamać i jak szybko, aby klient mógł ustalić priorytet migracji do gMSA.
Uzyskane hasła należy traktować jako dane wrażliwe: przechowywać je w postaci zaszyfrowanej i bezpowrotnie usunąć po sporządzeniu raportu.
Szybki test
Proszę potwierdzić znajomość mechanizmu Kerberoasting.
Podsumowanie
Poznali Państwo sposób wystawiania biletów przez Kerberos oraz sposób wykorzystywania tego mechanizmu w atakach.
- Bilety SPN są szyfrowane za pomocą hashy kont usługowych, co umożliwia ich łamanie offline.
- Bilety RC4 można szybko łamać; mechanizmy AES i gMSA zapewniają ochronę.
- AS-REP roasting nie wymaga poświadczeń, gdy wstępne uwierzytelnianie jest wyłączone.
- Pułapkowe SPN oraz monitorowanie zdarzenia 4769 pod kątem RC4 umożliwiają wykrywanie ataku.
W dalszej części omówimy ponowne wykorzystywanie skradzionych poświadczeń za pomocą Pass-the-Hash i Pass-the-Ticket.
Często zadawane pytania
Czy lekcja „Kerberos i Kerberoasting” jest bezpłatna?
Tak — pełny tekst „Kerberos i Kerberoasting” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Kerberos i Kerberoasting”?
Łamanie biletów kont usług Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Kerberos i Kerberoasting”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Powierzchnia ataku Active Directory
- Kerberos i Kerberoasting
- Pass-the-Hash i Pass-the-Ticket
- Eskalacja uprawnień i dominacja nad domeną