Active DirectoryRed Team Playbook
AS-REP Roasting
Identify accounts with Kerberos pre-authentication disabled and request AS-REP material for approved offline audit.
KerberosAS-REPImpacket
Purpose
Separate AS-REP roasting from Kerberoasting and preserve correct Impacket syntax.
Inputs
- - DOMAIN
- - DC_IP
- - users.txt
- - output hash file
Prerequisites
- - DOMAIN
- - DC_IP
- - User list
- - Authorization for credential-audit testing
Operator Assumptions
- - No password is needed for user-list checks when pre-auth is disabled.
- - A valid domain name is still required.
Commands
User-list AS-REP check
KaliGetNPUsers.py DOMAIN/ -usersfile users.txt -dc-ip DC_IP -no-pass -format hashcat -outputfile asrep.hashesWhy: Request AS-REP material for users that do not require pre-auth.
Expected: Hashcat-format AS-REP hashes or a no-vulnerable-users result.
Authenticated AS-REP check
KaliGetNPUsers.py DOMAIN/user:'Password' -dc-ip DC_IP -request -format hashcat -outputfile asrep.hashesWhy: Enumerate roastable users using a known account.
Expected: Roastable account list and hashes.
Decision Points
- - If no users are roastable, move to SPN checks.
- - If domain is unknown, perform RootDSE first.
- - If account lockout is unknown, avoid password guessing.
Follow-On Actions
- - Kerberoasting
- - LDAP Enumeration
- - Password policy review
Evidence To Capture
- - Command line
- - User list provenance
- - Hash output location
- - Negative results
Common Failures
- - Confusing GetNPUsers.py with GetUserSPNs.py
- - Missing DOMAIN
- - Clock skew
Operational Cautions
- - Protect hash files as credential material.
- - Do not invent users or domains.