sagalabs,

Detecting Kerberoasting

Gustav Ask Larsen Gustav Ask Larsen Follow May 31, 2023 · 5 mins read
Detecting Kerberoasting
Share this

Baggrund

Under sidste SagaLabs event, afprøvede vi et nyt øvelses-format. Dette format indebar ikke et blue- og red team, men derimod var alle deltagere purple-teamers For dem som ikke er helt indforstået med hele regnbuen, vil det sige at alle deltagere først udførte de offensive angreb, for derefter at analysere de spor som deres redteamer efterladte.

Dette resulterede i en betydelig mængde logfiler, som afspejler reelle cyberangreb nøjagtigt. Samtidig gav det os dog også mulighed for at indsamle logfiler fra adskillige forskellige angrebsteknikker. Imellem alt den gode erfaring, er der dog ét guldkorn vi har taget med hjem, som vi gerne vil dele med jer; Detection af et Kerberroast downgrade angreb.

Kerberoasting er en teknik, der udnytter sårbarheder i autentificeringsprotokollen Kerberos, og den involverer ikke brugen af ondsindede filer, processer eller lignende. Kerberoasting bliver ofte brugt med det formål at opnå privilegieforøgelse, også kendt som privilege escalation. Angrebets mål er typisk at rette sig mod privilegerede brugere, herunder administrator-konti, hvilket ondsindede aktører udnytter.

Kerberoasting

Hvis en angriber har adgang til hvilken som helst authenticated users i domainet, vil vedkommende have mulighed for at anmode om en TGS (Ticket Granting Service Ticket). Du kan bruge en TGS til at anmode om servicetickets, der giver dig adgang til tjenester som SQL, HTTP, SMB osv. Hver service ticket er krypteret af passwordet på den konto, der kører servicen. En TGT sættes ofte op til at kunne supportere forskellige krypteringer, såsom AES-128 og RC4. RC4 er en ældre krypteringsform, som derfor kan crackes markant hurtigere af en angriber. Normalt vil Windows automatisk vælge den mest optimale kryptering, og derfor foretrækker man at se AES-128 eller AES-256 som krypteringsmetode. RC4-kryptering bør helst undgås, da denne krypteringsalgoritme anses for mindre sikker. Vi vil derfor skrive vores SIGMA detection regel til at opdage, hvis der gøres brug af tickets der benytter sig af andet end AES128 eller AES256.

Denne SIGMA regel ser sådan ud

title: Potential Kerberoast Downgrade Attack
author: Sofie Lyngdorf
description: "Detects suspicious encryption types of tickets granted by Kerberos"
references:
   - https://attack.mitre.org/techniques/T1558/003/
tags:
   - attack.T1558.003
   - attack.credential_access
logsource:
   category: authentication
   product: windows
   service: kerberos
   
detection:
   selection:
      EventID: 4768
      TicketEncryptionType|not contains:
         - '0x11' #AES128
         - '0x12' #AES256
   condition: selection
falsepositives:
   - Windows server 2003 or older
   - Windows Vista or older
   - Legitimate usage of RC4 encryption

Legacy & Honey-tokens

Dog vil Windows 2003 server eller ældre samt Windows Vista eller ældre ikke supportere AES-128, så her kan der være falske positiver, hvis man har kendte legacy systemer på sit netværk. Dette vil man evt. kunne mitigere gennem en infrastruktur specifik whitelisting. Det skal dog nævnes at alt whitelisting indebærer risici, da man bevidst opretter blinde vinkler i sin infrastruktur. Det vil også give stor værdi at anvende Honey-Tokens accounts. Dette er et account som har privilegerede rettigheder, og derfor er meget attraktiv for angribere. Man skal derfor lukke ned for accountet, og opsætte yderligere alarmer for alle forsøg på at kompromittere brugeren. Da brugeren blot er en “lokkedue” vil vi nemlig ikke se nogen falske postiver, forbundet med kerberos authentikering mod dette account. Dette er fordi at der ikke er nogen legitim grund til at forsøge at tilgå brugeren. Angribere forsøger dog ofte at undgå disse lokkeduer, og man bør derfor bruge kræfter på at få dem til at ligne almindelige brugere; hvordan dette gøres vil vi dog ikke gå ind i på dette blogpost

Kritikalitet

Kritikalitetsniveauet i ovenstående regel er sat til medium. Man kan dog argumentere for at reglen kan indebære forskelige kritikaliteter, baseret på tilføjelser. Nedenstående vil vi definere kriterierne for de forskellige kritikalitets niveauer.

Medium: Dette er vurderet som alment kritikalitets niveau. Uden tilføjelser, som whitelisting mm. kan der forekomme falske positiver.
Kritikaliteten skal derfor tilpasses.

High: Hvis man formår at fjerne de kendte falske positiver, kan kritikalitetsniveauet hæves. Kerberroasting kan indebære store konskvenser, og hvis det er muligt bør reglens kritikalitetsniveauet være tilsvarende disse konsekvenser.

Critical: Kritikaliteten hæves, såfremt den kompromitterede konto har forhøjede rettigheder. Vi foreslår, at man evt. implementerer en lignende regel med “critical” kritikalitet, som ud over ovenstående sigma regel kun reagerer på konti med forhøjede rettigheder

Konklusion

Kerberoasting er en angrebsteknik, der udnytter en legitimt protokol, hvilket kan gøre det vanskeligt at opdage. Selv ved brug af de tidligere beskrevne detektionsmetoder kan der opstå mange falske positiver, især hvis din infrastruktur er belastet af legacy-systemer. På en mere positiv note kan implementeringen af Honey-Tokens give stor værdi, og er en lavthængende frugt man bør overveje i sin infrastruktur. Kerberoasting er en udbredt angrebsmetode, der ofte bruges til at få adgang til brugere med privilegerede rettigheder. Derfor er det af afgørende betydning at være opmærksom på indikationer af denne angrebsmetode. Dog findes der tools, såsom Rubeus der har mulighed for at supportere AES256, samt har andre indbygget evasion teknikker implementeret i toolet. Hvis du har nogle værdifulde tips til at opdage denne angrebsmetode, hører vi meget gerne fra dig. Du kan finde vores kontaktinformation på fdca.dk.

Authors

Honorable mentions

Gustav Ask Larsen
Written by Gustav Ask Larsen