Kerberoasting i ataki Golden Ticket
Dowiedz się, jak Kerberoasting wyodrębnia z biletów usług hashe możliwe do złamania offline oraz jak ataki Golden Ticket zapewniają nieograniczony dostęp Kerberos z użyciem przejętego hasha KRBTGT.
Kerberoasting i ataki Golden Ticket to bezpłatna lekcja Security+ Academy na CoddyKit. To lekcja 3 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 Security+ Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Security+ Academy zawiera 4 lekcji w sumie.
Architektura biletów usług Kerberos
Aby zrozumieć ataki Kerberoasting i Golden Ticket, należy dobrze poznać mechanizm wydawania biletów usług Kerberos. Gdy klient chce uzyskać dostęp do usługi (np. serwera SQL), przedstawia swój bilet przyznający bilety (Ticket Granting Ticket, TGT) kontrolerowi domeny, a dokładniej jego usłudze przyznawania biletów (Ticket Granting Service, TGS). TGS wystawia bilet usługi zaszyfrowany przy użyciu skrótu hasła konta usługi. Klient przedstawia ten bilet usłudze, która odszyfrowuje go za pomocą własnego skrótu, aby zweryfikować jego autentyczność. Oznacza to, że bilety usług są szyfrowane poświadczeniem docelowej usługi — jest to kluczowy szczegół wykorzystywany przez Kerberoasting.
Kerberoasting: łamanie haseł offline
Kerberoasting to atak wykorzystujący fakt, że każdy uwierzytelniony użytkownik domeny może zażądać biletu usługi Kerberos dla dowolnej usługi zarejestrowanej za pomocą SPN (Service Principal Name). Atakujący żąda biletów usług dla kont z przypisanymi SPN, przechwytuje zaszyfrowane dane biletów, a następnie próbuje złamać hasło konta usługi offline — bez dalszej interakcji z usługą Active Directory i bez ryzyka zablokowania konta. Konta usług często mają słabe hasła, stare hasła ustalone jeszcze przed wprowadzeniem współczesnych wymagań dotyczących złożoności albo hasła, które nigdy nie wygasają, przez co są szczególnie podatne na łamanie offline.
# Step 1: Find accounts with SPNs (attack setup)
Get-ADUser -Filter {ServicePrincipalName -ne '$null'} -Properties ServicePrincipalName
# Step 2: Request service tickets (using Impacket GetUserSPNs.py)
# GetUserSPNs.py domain/user:password -dc-ip 192.168.1.1 -request
# Outputs $krb5tgs$ hashes ready for cracking with HashcatŁamanie biletów Kerberos offline
Przechwycone podczas Kerberoasting skróty biletów usług są domyślnie szyfrowane za pomocą RC4-HMAC (skrót NTLM) (ze względów zgodności), co ułatwia ich łamanie w porównaniu z biletami Kerberos AES-256. Atakujący przekazuje przechwycone skróty $krb5tgs$23$ do narzędzia Hashcat lub John the Ripper, aby przeprowadzić offline ataki słownikowe i brute force. Popularne listy słów, takie jak RockYou, wraz z zestawami reguł, pozwalają złamać większość słabych haseł kont usług w ciągu minut lub godzin na konsumenckim sprzęcie wyposażonym w GPU. Po złamaniu hasła atakujący uzyskuje hasło w postaci jawnej konta usługi i może użyć go do bezpośredniego uwierzytelnienia.
# Crack Kerberoasted hashes with Hashcat
hashcat -m 13100 kerberoast_hashes.txt rockyou.txt \
-r best64.rule \
--force
# Mode 13100 = Kerberos 5, etype 23 (RC4-HMAC service ticket)
# Mode 19600 = Kerberos 5, etype 17 (AES-128) - slower
# Mode 19700 = Kerberos 5, etype 18 (AES-256) - slowestOchrona przed Kerberoastingiem
Środki ograniczające ryzyko Kerberoasting dotyczą czterech obszarów: siły hasła — konta usług powinny mieć długie, losowe hasła (co najmniej 25 znaków), odporne na łamanie offline nawet z użyciem klastrów GPU; Group Managed Service Accounts (gMSA) — system Windows automatycznie zarządza hasłami gMSA (losowe wartości o długości 240 znaków zmieniane co 30 dni), dzięki czemu Kerberoasting staje się obliczeniowo niewykonalny; szyfrowania wyłącznie AES — należy skonfigurować konta usług tak, aby wymagały biletów AES-256 (msDS-SupportedEncryptionTypes), które łamie się wykładniczo wolniej niż RC4; oraz wykrywania — należy generować alerty dotyczące nietypowo dużej liczby żądań TGS (identyfikator zdarzenia 4769) dla kont usług wysyłanych z niestandardowych stacji roboczych.
# Create a Group Managed Service Account (gMSA) - Kerberoasting immune
New-ADServiceAccount -Name 'svc-sql' \
-DNSHostName 'sqlserver.domain.com' \
-PrincipalsAllowedToRetrieveManagedPassword 'SQLServers'
# Install on the SQL server
Install-ADServiceAccount -Identity 'svc-sql'Konto KRBTGT: strażnik protokołu Kerberos
Konto KRBTGT to specjalne wbudowane konto usługi Active Directory, którego skrót hasła służy do podpisywania i szyfrowania wszystkich biletów TGT Kerberos w domenie. Kontroler domeny używa skrótu KRBTGT do tworzenia biletów TGT oraz weryfikowania przychodzących biletów TGT. Sprawia to, że skrót KRBTGT jest najcenniejszym pojedynczym poświadczeniem w środowisku Active Directory — każdy, kto go posiada, może tworzyć dowolne, w pełni prawidłowe bilety Kerberos dla dowolnego użytkownika, także użytkowników nieistniejących, z dowolnym członkostwem w grupach i na dowolny czas. W wielu organizacjach hasło KRBTGT zazwyczaj nigdy nie było zmieniane, ponieważ proces jego zmiany wymaga starannej koordynacji.
# Check when KRBTGT password was last changed
Get-ADUser -Identity KRBTGT -Properties PasswordLastSet |
Select-Object Name, PasswordLastSet
# If PasswordLastSet is years ago, the domain is vulnerable to persistent Golden TicketsAtak Golden Ticket: fałszowanie biletów TGT
Atak Golden Ticket polega na utworzeniu sfałszowanego, w pełni prawidłowego biletu TGT Kerberos przy użyciu przejętego skrótu hasła konta KRBTGT. Atakujący używa polecenia Mimikatz kerberos::golden, aby wygenerować bilet TGT dla dowolnego użytkownika (często fikcyjnego konta przypominającego konto Administrator) z dowolnymi członkostwami w grupach (zazwyczaj obejmującymi Domain Admins) i dowolnym okresem ważności (często ustawianym na 10 lat). Taki sfałszowany bilet jest nie do odróżnienia od prawidłowego biletu dla kontrolera domeny, ponieważ jest poprawny kryptograficznie — został podpisany prawdziwym skrótem KRBTGT. Golden Ticket zapewnia pełną, trwałą i nieograniczoną kontrolę nad domeną.
# Mimikatz Golden Ticket creation (attacker perspective - for defender awareness)
# Requires: domain name, domain SID, KRBTGT hash, target username
# mimikatz# kerberos::golden \
# /domain:corp.example.com \
# /sid:S-1-5-21-1234567890-1234567890-1234567890 \
# /krbtgt:aabbccddeeff00112233445566778899 \
# /user:GoldenTicketUser \
# /groups:512,519 \
# /ticket:golden.kirbiDlaczego bilety Golden Ticket pozostają ważne tak długo
Bilety Golden Ticket są szczególnie niebezpieczne, ponieważ pozostają ważne nawet po wykryciu i usunięciu pierwotnego ataku. Zmiana hasła zaatakowanego użytkownika niczego nie daje — bilet został sfałszowany, a nie utworzony na podstawie rzeczywistych poświadczeń użytkownika. Jedynym sposobem naprawy sytuacji jest dwukrotna zmiana hasła KRBTGT (pierwsza zmiana unieważnia istniejące bilety, a druga jest konieczna, ponieważ w danym momencie istnieją dwa klucze KRBTGT używane do rotacji). Zmiany hasła KRBTGT wymagają jednak starannej koordynacji: nieprawidłowo przeprowadzone mogą przerwać uwierzytelnianie Kerberos w całej domenie. Wiele organizacji niechętnie podejmuje te działania naprawcze, przez co bilety Golden Ticket pozostają ważne bezterminowo.
# KRBTGT password reset procedure (Microsoft New-KrbtgtKeys.ps1)
# Step 1: Reset KRBTGT password on primary DC
# Step 2: Wait for AD replication (typically 24-48 hours)
# Step 3: Reset KRBTGT password again to invalidate all old tickets
# Step 4: Verify Kerberos authentication working across all sites
# This invalidates ALL existing Kerberos tickets domain-wideAtak Silver Ticket: fałszowanie biletów dla konkretnej usługi
Silver Ticket przypomina Golden Ticket, ale ma bardziej ograniczony zakres. Wykorzystuje skrót konta docelowej usługi (zamiast KRBTGT) do sfałszowania biletu usługi wyłącznie dla tej konkretnej usługi. Na przykład mając skrót konta usługi serwera SQL, atakujący może sfałszować bilet usługi zapewniający mu dowolny dostęp do tego serwera SQL. Bilety Silver Ticket są trudniejsze do wykrycia niż Golden Ticket, ponieważ całkowicie omijają kontroler domeny — sfałszowany bilet trafia bezpośrednio od atakującego do usługi, bez kontaktu z KDC. Ograniczanie ryzyka wymaga ochrony skrótów kont usług i monitorowania nietypowych wzorców dostępu do wrażliwych usług.
Uzyskiwanie skrótu KRBTGT: atak DCSync
Atakujący uzyskują skrót KRBTGT za pomocą ataku DCSync, który nadużywa prawidłowego protokołu replikacji domeny usługi Active Directory. Directory Replication Service (DRS) umożliwia kontrolerom domeny synchronizowanie danych usługi AD, w tym skrótów haseł, między sobą. Atakujący posiadający uprawnienia DCSync (zazwyczaj Domain Admin, Enterprise Admin lub dowolne konto z uprawnieniem Replicating Directory Changes All) może podszyć się pod kontroler domeny i zażądać replikacji skrótu dowolnego konta. Polecenie Mimikatz lsadump::dcsync przeprowadza ten atak całkowicie przez sieć — żaden kod nie musi być uruchamiany na samym kontrolerze domeny.
# DCSync to extract KRBTGT hash (attacker perspective)
# mimikatz# lsadump::dcsync /domain:corp.example.com /user:KRBTGT
# Output includes:
# Hash NTLM: <krbtgt NT hash>
# Hash SHA1: <krbtgt SHA1 hash>
# Key: <AES-256 key>
# Detection: Event ID 4662 from a non-DC source (replication event from workstation = suspicious)Wykrywanie aktywności Golden Ticket i Silver Ticket
Wykrywanie użycia Golden Ticket jest trudne, ale możliwe dzięki wyszukiwaniu anomalii w metadanych biletów Kerberos: biletów o nietypowo długim czasie ważności (rzeczywisty bilet TGT jest ważny 10 godzin, a bilety Golden Ticket często ustawia się na 10 lat); zdarzeń o identyfikatorze 4769, w których typem szyfrowania biletu jest RC4 (0x17), mimo że domyślnie w domenie używany jest AES-256 (0x12); nazw kont w biletach, które nie istnieją w usłudze AD; oraz braku zdarzenia o identyfikatorze 4768 (żądanie TGT) przed zdarzeniem o identyfikatorze 4769 (żądanie biletu usługi) — bilety Golden Ticket pomijają etap żądania TGT, ponieważ sam bilet TGT jest sfałszowany. Reguła w rozwiązaniu Microsoft Sentinel lub Defender for Identity może automatycznie wykrywać te wzorce.
# Detection: Golden Ticket indicator - no corresponding TGT request
# Normal flow: Event 4768 (TGT requested) -> Event 4769 (service ticket)
# Golden Ticket: Event 4769 WITHOUT preceding 4768 from same host
# Also alert on: TGT encryption type = RC4 in AES-only environments
# Splunk: index=windows EventCode=4769 TicketEncryptionType=0x17
# NOT [expected legacy systems]Zapobieganie atakom opartym na protokole Kerberos
Warstwowa ochrona przed atakami na protokół Kerberos obejmuje: używanie gMSA dla wszystkich kont usług, aby Kerberoasting stał się niewykonalny; włączenie szyfrowania wyłącznie AES dla wszystkich kont, szczególnie kont usług o wysokiej wartości, aby maksymalnie utrudnić łamanie haseł; ograniczenie uprawnień DCSync — należy kontrolować konta z uprawnieniami do replikacji i odbierać je kontom, które nie powinny ich mieć; włączenie Microsoft Defender for Identity (wcześniej ATA), który zapewnia świadome kontekstu Kerberos wykrywanie zagrożeń, w tym alerty w czasie rzeczywistym dotyczące Golden Ticket, Kerberoasting i DCSync; oraz wdrożenie modelu administracji warstwowej, aby nawet przejęte konto warstwy 2 nie mogło posłużyć do uzyskania poświadczeń na poziomie kontrolera domeny.
# Audit DCSync-capable accounts (these should be very few)
Get-ADUser -Filter * -Properties 'msDS-AllowedToDelegateTo' |
Where {$_.DistinguishedName -notlike '*Domain Controllers*'}
# Check replication permission holders using PowerView:
# Get-ObjectAcl -DistinguishedName 'DC=domain,DC=com' \
# -ResolveGUIDs | \
# Where {$_.ActiveDirectoryRights -like '*ExtendedRight*'}Szybkie sprawdzenie
Sprawdź swoją znajomość zagadnień CompTIA Security+ (SY0-701) omówionych w tej lekcji.
Podsumowanie lekcji
W tej lekcji nauczyli się Państwo, że: Kerberoasting żąda biletów usług dla kont zarejestrowanych za pomocą SPN i łamie je offline — ochronę zapewniają gMSA, silne hasła i szyfrowanie wyłącznie AES; ataki Golden Ticket wykorzystują skrót KRBTGT do fałszowania nieograniczonej liczby biletów TGT, zapewniając trwałą kontrolę nad domeną, która utrzymuje się do momentu dwukrotnego zresetowania hasła KRBTGT; oraz że ataki DCSync replikują skrót KRBTGT przez sieć bez uruchamiania kodu na kontrolerze domeny — dlatego wymagają ścisłego kontrolowania uprawnień DCSync. W następnej części omówimy strukturę MITRE ATT&CK służącą do mapowania technik atakujących na mechanizmy obronne.
Ucz się Security+ Academy dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Kerberoasting i ataki Golden Ticket” jest bezpłatna?
Tak — pełny tekst „Kerberoasting i ataki Golden Ticket” 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 Security+ Academy, przejdź na CoddyKit PRO. Kurs Security+ Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Kerberoasting i ataki Golden Ticket”?
Dowiedz się, jak Kerberoasting wyodrębnia z biletów usług hashe możliwe do złamania offline oraz jak ataki Golden Ticket zapewniają nieograniczony dostęp Kerberos z użyciem przejętego hasha KRBTGT. Ćwiczysz 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ąć Security+ Academy?
Nie wymagamy żadnego doświadczenia. 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 3 z 4.
Ile czasu zajmuje lekcja „Kerberoasting i ataki Golden Ticket”?
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 Security+ Academy?
Tak. Każda lekcja 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
- Cykl życia APT: od początkowego dostępu do utrzymania dostępu
- Ruch boczny: Pass-the-Hash i Pass-the-Ticket
- Kerberoasting i ataki Golden Ticket
- Framework MITRE ATT&CK do wykrywania i reagowania