Skip to main content
Kerberos pre-authentication forces a client to prove they know the user’s password before the KDC issues a TGT. When pre-auth is disabled (UF_DONT_REQUIRE_PREAUTH), the KDC returns an AS-REP encrypted with the user’s hash to anyone who asks: no credentials required to grab it.

How It Works

Normal pre-authentication flow:
The encrypted timestamp proves you know the password before the KDC gives you anything. When pre-auth is disabled:
No credentials needed to perform the attack: completely unauthenticated if you have a username list.

Why It Works

  • The AS-REP contains a blob encrypted with RC4-HMAC derived from the account’s password
  • Without pre-auth, the KDC does not verify the requestor’s identity
  • You only need to know the username: useful in unauthenticated scenarios when you have a user list
  • Hash mode 18200 in hashcat

Finding Vulnerable Accounts

Search for accounts with UF_DONT_REQUIRE_PREAUTH (UAC flag 0x400000) set.

Requesting Hashes

Get the AS-REP blob and save it for offline cracking. Works with or without valid credentials.

Cracking

Clock Skew (faketime)

Kerberos requires your clock to be within 5 minutes of the DC. If you get KRB_AP_ERR_SKEW, use faketime to offset your system time for the duration of the command without actually changing your clock.