pentesting-kerberos

Tests Kerberos authentication on Active Directory domain controllers during authorized engagements.

954|172|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/xalgord/xalgorix --skill pentesting-kerberos
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pentesting-kerberos
Source: https://github.com/xalgord/xalgorix/tree/main/internal/tools/skills/data/network-services-pentesting/pentesting-kerberos
Command: npx skills add https://github.com/xalgord/xalgorix --skill pentesting-kerberos

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

During authorized Active Directory assessments, testers need a structured methodology to attack the Kerberos service (port 88) — enumerating users, roasting accounts, and authenticating in Kerberos-only environments — without missing critical checks like clock skew or pre-auth misconfigurations.

Core Features & Use Cases

  • Username Enumeration: Validate domain users without credentials using kerbrute and the nmap krb5-enum-users script.
  • AS-REP Roasting & Kerberoasting: Extract crackable $krb5asrep$ and $krb5tgs$ hashes with Impacket's GetNPUsers.py and GetUserSPNs.py, then crack them offline with hashcat.
  • Kerberos-Only Authentication: Generate krb5.conf, sync clock skew, and acquire TGTs via kinit when NTLM is disabled.
  • Use Case: On an engagement where port 88 is open on a domain controller, enumerate valid usernames, AS-REP roast an account with pre-auth disabled, crack the hash offline, and use the recovered credential for initial domain access.

Quick Start

Test the Kerberos service on the domain controller at 10.0.0.5 for the domain corp.local, starting with username enumeration and AS-REP roasting checks.

Frequently Asked Questions about pentesting-kerberos

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enumerate valid domain usernames via Kerberos?

Use kerbrute userenum with the domain and DC IP against a username wordlist, or run the nmap krb5-enum-users script with the realm specified. Valid accounts are confirmed when kerbrute prints VALID USERNAME lines, all without needing credentials.

What is the difference between AS-REP roasting and Kerberoasting?

AS-REP roasting targets accounts with pre-authentication disabled and requires no valid credentials, using GetNPUsers.py to grab $krb5asrep$ hashes. Kerberoasting requires any valid domain credential and uses GetUserSPNs.py to request service tickets for SPN accounts, yielding $krb5tgs$ hashes.

Why does Kerberos authentication fail with KRB_AP_ERR_SKEW?

KRB_AP_ERR_SKEW occurs when your host clock differs from the domain controller by more than about five minutes. Sync your clock to the DC with ntpdate before running kinit or any Kerberos tooling, otherwise all authentication attempts fail silently.

How do I authenticate to SMB when NTLM is disabled?

When NTLM returns STATUS_NOT_SUPPORTED, generate a krb5.conf with netexec, request a TGT using kinit, then connect with the -k flag so tools like netexec or smbclient use the ccache ticket instead of a password.

Which hashcat modes crack Kerberos hashes?

Use hashcat mode 18200 for $krb5asrep$ hashes from AS-REP roasting and mode 13100 for $krb5tgs$ hashes from Kerberoasting. Both are cracked offline against a wordlist after extraction with Impacket tools.