Practice
  • 🛤️TryHackMe Rooms
    • HackersVsHackers
    • Vulnnet - The End Game
    • Surfer
    • Corridor
    • Mustacchio
    • Wordpress: CVE-2021-29447
    • Bounty Hacker
    • Simple CTF
    • Agent Sudo
    • Lazy Admin
    • Ignite
    • Brooklynn 99
    • c4ptur3th3fl4g
    • Lian_Yu
    • Rabbit
    • Gallery
    • Overpass
    • Team
    • Easy Peasy
    • CmesS
    • Ultratech
    • Wonderland
    • Anonymous
    • GamingServer
    • Tomghost
    • ConvertMyVideo
    • DogCat
    • Blog
    • Git Happens
    • 0day
    • Road
    • Inferno
    • Opacity
    • Market Place
    • Valley CTF
    • Weasel
    • SafeZone
    • Blueprint
    • Fusion Corp
    • Quotient
    • Unbaked Pie
    • Kenobi
    • Steel Mountain
    • Alfred
    • Hack Park
    • Game Zone
    • Daily Bugle
    • Retro
    • Corp
    • Attacktive Directory
    • Vulnnet - Roasted
    • Vulnnet - Active
    • Vulnnet - Internal
    • Enterprise - Hard
    • Iron Corp - Hard
    • Ra - Hard
    • For Business Reasons
  • 📦HackTheBox
    • Linux Boxes
      • Lame
      • Shocker
      • Nibbles
      • Beep
      • Cronos
      • Nineveh
      • Sense
      • Solidstate
      • Node
      • Valentine
      • Poison
      • Sunday
      • Irked
      • FriendZone
      • Networked
      • Jarvis
      • Tabby
      • Mirai
      • Popcorn
    • Windows Boxes
      • Active
      • Forest
      • ChatterBox
      • Resolute
      • Intelligence
  • 🤖CTF's
    • CloudSEK CTFs
    • ACM Cyber - UCLA
  • ¯\_(ツ)_/¯
    • Interview Topics
  • 🪣BOF - OSCP
    • Basics
    • Spiking
    • FUZZing
    • Finding the Offset
    • Overwriting the EIP
    • Finding BAD Characters
    • Finding RIGHT Module
    • Generating Shellcode
  • 📛Active Directory
    • Basics
      • Managing AD Users
      • Managing AD Computers
      • Group Policies
      • Authentication Methods
      • Trees, Forests and Trusts
    • Enumeration Techniques
    • Initial Attack Vectors
    • Post Compromise Enumeration
    • Post Compromise Attacks
      • Token Impersonation - LM
      • Kerberoasting
      • cPassword / GPP Attack
      • URL File Attacks
      • PrintNightmare
      • Golden Ticket Attacks
      • ZeroLogon Attacks
    • Lateral Movement and Pivoting
      • File Transfers
      • Spawning Processes Remotely
      • Moving Laterally with WMI
      • Alternate Authentication Material
      • Abusing User's Behaviour
      • Port Forwarding
      • Maintaing Access
      • Pivoting
      • Cleaning Up
    • Other Resources
  • 🛡️Powershell Basics
    • Getting Started
      • Functions
  • 😁Others
    • API Security
    • Cloud Security
  • Enumeration
    • Local PrivEsc
    • Remoting
    • Persistence
    • Kerberos
Powered by GitBook
On this page
  • Introduction to Kerbrute
  • What is Kerberoasting
  • Mitigation Strategies
  1. Active Directory
  2. Post Compromise Attacks

Kerberoasting

PRACTICE ! PRACTICE ! PRACTICE !

PreviousToken Impersonation - LMNextcPassword / GPP Attack

Last updated 1 year ago

Pre-requisite =>

Introduction to Kerbrute

Since the DC shows us the port 88 as open, and we got no clue regarding the valid users on that domain, though we have some list of usernames - Let's try to bruteforce them using

$ ./kerbrute userenum -dc 10.10.10.100 -d spookysec.local users.txt

What is Kerberoasting

  • When a compromised user requests for a TGT ( Ticket Granting Ticket ) to the KDC ( Key Distribution Center ) along with the compromised user's NTLM hash - The KDC sends the TGT ( Ticket Granting Ticket ) encrypted with the default krbtgt user's hash as the response :)

  • Now that there's an application server which can be of anything, for example as a SQLService - we now need to access that server but how?

Remember, every application server has a SPN ( Service Principal Name )

  • We now as the compromised user, have a valid TGT - we can now request the KDC for a Ticket Granting Service Ticket ( TGST ) with our valid TGT, inorder to access the SQLService. The KDC in return sends us the required TGST encrypted with the SQLServer's account hash

The KDC doesn't know that we have access to the SQLServer or not - This is where Kerberoasting starts !

  • Now that we've got the required TGST, we can authenticate with the SQLServer with our TGST and the SQLServer decrypts our TGST and gives us access :)

$ impacket-GetUserSPNs MARVEL.local/fcastle:Password1 -dc-ip 192.168.169.139 -request

Now let's crack the the TGT which is encrypted with the krbtgt user's hash using hashcat

Mitigation Strategies

  • Never ever make your service accounts as Domain Admins

  • Always set a Password > 14 chars

  • We are abusing a Windows feature and not any Misconfigs :)

📛
link
kerbrute
MYpassword123#