Skip to main content

Kerberos

The krb command provides Kerberos ticket operations: obtaining TGTs and TGSs, and extracting NT hashes via PKINIT + UnPAC-the-Hash.

Usage


Persistent Flags


Subcommands

krb nt

Extract the NT hash of an account using PKINIT + UnPAC-the-Hash. When you have a valid certificate for an account (e.g., obtained via adcs req), you can authenticate via Kerberos PKINIT to get a TGT, then extract the NT hash from the PAC field. This allows lateral movement with Pass-the-Hash even when you only have a certificate.

Flags

Authentication flags (--pfx, --pfx-password, --cert, --key, --ccache) are inherited from the global flags or stored credential.

krb tgt

Obtain a Ticket Granting Ticket (TGT) for an account.

Flags

The resulting TGT is:
  • Written to a ccache file (path printed to stdout)
  • Stored in the tgts table in SQLite
  • Linked to the active credential record

krb tgs

Obtain a Ticket Granting Service ticket (TGS) for a specific SPN. Used for Kerberoasting.

Flags

The resulting TGS is:
  • Written as a kirbi/ccache file
  • Output in hashcat format for offline cracking ($krb5tgs$23$...)
  • Stored in the tgss table and the hash in kerberoast_hashes

krb nt

Extract the NT hash of an account using PKINIT + UnPAC-the-Hash. This requires a valid certificate for the target account. Authenticate via Kerberos PKINIT to receive a TGT, then extract the NT hash embedded in the PAC (Privilege Attribute Certificate).

Flags

The extracted NT hash is printed and stored in the credentials table.
This is the same operation as adcs nt — both subcommands perform PKINIT + UnPAC-the-Hash. krb nt is the Kerberos-centric entry point, adcs nt is the ADCS-centric one.

Kerberos Authentication Methods

R4t supports all standard Kerberos authentication pre-authentication methods:

Ticket Storage


Common Kerberos Workflows

Kerberoasting

AS-REP Roasting

Pass-the-Ticket

Shadow Credential Attack

PKINIT from ADCS Certificate