Security Advice Update:

Wat je als IT-manager wilt weten over de Kerberoasting aanvalstechniek

Lees verder

Kerberoasting is een aanvalstechniek die het Kerberos-authenticatieprotocol in Active Directory gebruikt om wachtwoorden van serviceaccounts in Active Directory (AD)-omgevingen te stelen. Het Kerberos-authenticatieprotocol wordt in veel organisaties gebruikt. Aanvallers kunnen hiermee, zelfs met reguliere gebruikersrechten, toegang krijgen tot hoog geprivilegieerde accounts. Dit is een serieus risico voor organisaties. In dit artikel lees je hoe je het Kerberoasting effectief kunt detecteren en voorkomen.

1.  Hoe de aanval werkt

1.1 Service Principal Names (SPN’s)

Kerberos gebruikt Service Principal Names (SPN’s) om serviceaccounts te identificeren die op servers draaien (zoals SQL-services, webservices, enz.). Elke SPN is gekoppeld aan een specifiek serviceaccount en kan door elke gebruiker binnen het domein worden opgevraagd.

 

1.2 Aanvragen van een Ticket-Granting Service (TGS)-ticket

Aanvallers die toegang hebben tot het domein (zelfs met reguliere gebruikersrechten) kunnen een Ticket Granting Service (TGS)-ticket aanvragen voor elke service via de bijbehorende SPN. Dit ticket is versleuteld met de wachtwoordhash van het serviceaccount.

 

1.3 Extractie van het ticket

Zodra de aanvaller het versleutelde TGS-ticket ontvangt, kan deze het uit het geheugen of uit de Kerberos ticketcache halen. Omdat het ticket is versleuteld met de wachtwoordhash van het serviceaccount, beschikt de aanvaller op dat moment nog niet over het daadwerkelijke wachtwoord.

 

1.4 Kraken van de hash

De aanvaller voert vervolgens een offline brute-force- of dictionary-aanval uit op het versleutelde ticket om het wachtwoord in platte tekst van het serviceaccount te achterhalen. Deze stap is afhankelijk van de sterkte van het wachtwoord van het serviceaccount en de gebruikte encryptiemethode. Offline kraken zorgt ervoor dat het aantal mislukte inlogpogingen beperkt blijft, waardoor de aanval moeilijker te detecteren is. Dit kan bijvoorbeeld worden gedaan met tools zoals: John the Ripper, Hashcat, tgsrepcrack.py, enzovoort.

 

1.5 Toegang verkrijgen

Zodra het wachtwoord is gekraakt, kan de aanvaller de inloggegevens van het serviceaccount gebruiken om toegang te krijgen tot het netwerk met dezelfde rechten als dat account. Omdat serviceaccounts vaak verhoogde rechten hebben, kan dit leiden tot laterale beweging en verdere compromittering van de omgeving.

 

2.  Detectie & Hunting voor Kerberoasting

Bij het monitoren van indicatoren van kwaadaardige activiteit is het belangrijk om te beseffen dat het aanvragen van een serviceticket een legitieme activiteit is. Geen van de onderstaande indicatoren is op zichzelf kwaadaardig; ze moeten worden beschouwd als verdachte signalen die nader onderzocht moeten worden om de activiteit te bevestigen.

In de Windows Security event logs (C:\Windows\System32\winevt\Logs\Security.evtx) genereert een Kerberos serviceticketaanvraag een event met Event ID 4769 op een Domain Controller.

Event ID 4769 wordt doorgaans zeer frequent gelogd binnen een domein. Na een initiële login (en het aanvragen van een Kerberos TGT-ticket) heeft een gebruiker een Kerberos TGS-serviceticket nodig om toegang te krijgen tot netwerkdiensten (zoals file shares, SQL, SharePoint, enz.).

Over het algemeen zijn er ongeveer 10 tot 20 Kerberos TGS-aanvragen per gebruiker per dag. Event ID 4769 op Domain Controllers wordt vaak als “ruisachtig” beschouwd vanwege het grote aantal logs en wordt daarom niet altijd standaard gelogd.

Wanneer de events worden gefilterd op aantallen, kunnen ze worden geanalyseerd om aanwijzingen voor kwaadaardige activiteit te identificeren, zoals:

  • Ticket Encryption Type: 0x17
    Voor legitieme aanvragen zijn de encryptietypen doorgaans 0x11 (AES128-CTS-HMAC-SHA1-96) en 0x12 (AES256-CTS-HMAC-SHA1-96).
    Om het kraken van de hash te vereenvoudigen, vragen aanvalstools vaak tickets aan met encryptietype 0x17 (RC4-HMAC), een ouder en zwakker encryptieprotocol.
  • Accountnaam
    Legitieme serviceticketaanvragen komen meestal van machine-accounts, die eindigen op een $.
    Voor deze aanval is echter een geldig AD-account met credentials nodig, en dit zijn in de meeste gevallen gebruikersaccounts (zonder $).
    Let op: gebruikersaccounts kunnen ook legitiem servicetickets aanvragen, dus dit moet zorgvuldig worden geanalyseerd, vooral als hetzelfde account in korte tijd meerdere servicetickets voor verschillende services aanvraagt.
  • Aantal aanvragen per account in een korte tijdsperiode
    Een hoog aantal aanvragen kan wijzen op verdachte activiteit.
  • Servicenaam
    Normale events eindigen meestal op een $ of hebben de naam “krbtgt”.

Een ander event dat gebruikt kan worden voor het opsporen van deze aanvallen is Security Event ID 4768 (A Kerberos authentication ticket (TGT) was requested). Dit event wordt gegenereerd op Domain Controllers wanneer een ticket wordt aangevraagd. Veel van de informatie in dit event komt overeen met de informatie in Event ID 4769.

Het is essentieel om te onthouden dat Security Event IDs 4768 en 4769 niet standaard zijn ingeschakeld in Windows auditing.

 

3.  Voorkomen van Kerberoasting-aanvallen

Kerberoasting is afhankelijk van het offline kraken van wachtwoorden. In dit geval is de hash niet bruikbaar zonder deze te ontsleutelen. De meest effectieve maatregel om deze aanvallen te voorkomen is daarom het implementeren van een sterk bedrijfsbreed wachtwoordbeleid. Daarnaast helpen de volgende aanbevelingen bij het voorkomen en beperken van Kerberoasting:

 

3.1 Minimaliseer de rechten van serviceaccounts

Deze accounts moeten alleen de rechten hebben die noodzakelijk zijn om hun taken uit te voeren. Vermijd het toekennen van overmatige rechten, zoals Domain Admin of andere hooggeprivilegieerde rechten.

 

3.2 Gebruik sterke wachtwoorden voor serviceaccounts

Wachtwoorden moeten lang en complex zijn (minimaal 25 tekens). Dit maakt het brute-forcen van de wachtwoordhash bij een Kerberoasting-aanval aanzienlijk moeilijker. Roteer wachtwoorden regelmatig om de blootstellingsduur te beperken, met name voor gevoelige accounts. Overweeg waar mogelijk het gebruik van Group Managed Service Accounts (gMSA’s).

 

3.3 Controleer en audit serviceaccounts op onnodige of verouderde SPN’s

Alleen accounts die Kerberos-authenticatie vereisen, mogen SPN’s geregistreerd hebben.

 

3.4 Forceer sterkere encryptie voor Kerberos

Configureer Kerberos om sterkere encryptiemethoden zoals AES256 te gebruiken in plaats van het zwakkere RC4, dat gevoeliger is voor offline aanvallen. Zorg ervoor dat zowel serviceaccounts als domain controllers AES ondersteunen en gebruiken. Dit kan worden ingesteld via Group Policy.

 

3.5 Gebruik de “Protected Users”-groep

Deze beveiligingsgroep voorkomt dat accounts zwakke encryptie gebruiken voor Kerberos-authenticatie en schakelt NTLM-authenticatie uit. Voeg accounts met hoge waarde toe aan deze groep om het risico op Kerberoasting en andere credential-based aanvallen te beperken.

 

3.6 Beperk delegatie van serviceaccounts

Kerberoasting-aanvallen worden vaak gebruikt om rechten te escaleren door serviceaccounts met delegatierechten te compromitteren. Beperk delegatie tot het strikt noodzakelijke. Gebruik waar mogelijk “Constrained Delegation” of “Resource-based Constrained Delegation” in plaats van unconstrained delegation, omdat deze laatste gevoeliger is voor misbruik.

 

Heeft u vragen of behoefte aan verdere toelichting?

Neem dan contact op met KEMBIT, wij helpen u graag verder.

 

E: contactus@kembit.nl
T: +31 (0)88 5700 500

 

 

Contact opnemen met KEMBIT
Contact