crazymarky/pentest-skills/recon-dir-scan
Claude Code and agent skill by crazymarky/pentest-skills
- community
Checking that the SKILL.md file is still in the repository.
Directory and file enumeration using ffuf, gobuster, dirsearch, and feroxbuster. Use this skill when user needs to discover hidden directories, enumerate files, find backup files, or map application structure through path fuzzing.
Install
npx vskill@latest install crazymarky/pentest-skills/recon-dir-scanSKILL.md
Directory and File Enumeration
Authorization Warning
IMPORTANT: Directory scanning without proper authorization may be detected as intrusion attempts. Always ensure you have:
- Written permission from the target application owner
- Defined scope of authorized testing
- Legal compliance with local regulations
Prerequisites
Required tools that must be installed on your system:
- ffuf -
go install github.com/ffuf/ffuf@latest - gobuster -
go install github.com/OJ/gobuster/v3/cmd/gobusterdir@main
Optional tools:
- feroxbuster -
cargo install feroxbuster - dirsearch -
pip install dirsearch - dirb - Package manager installation
Quick Start
Most commonly used commands for directory enumeration:
Fast Directory Scan (ffuf)
Recursive Scan with Status Codes
Gobuster Quick Scan
Common Scenarios
Scenario 1: Basic Directory Fuzzing
When you need to discover directories and files:
Parameters:
-w wordlist.txt- Wordlist path-u- Target URL with FUZZ keyword-t- Threads (default: 40)
Example:
Scenario 2: Filter by Status Code
When you only want specific HTTP status codes:
Status Code Filters:
| Code | Meaning | |
|---|---|---|
| 200 | OK (valid page) | |
| 301,302 | Redirects | |
| 403 | Forbidden (directory exists, no access) | |
| 401 | Authentication required |
Negation filter (exclude codes):
Scenario 3: Recursive Scanning
When you need to scan discovered directories recursively:
Parameters:
-recursion- Enable recursive scanning-recursion-depth- Maximum depth (default: 0)
Example:
Scenario 4: File Extension Fuzzing
When searching for specific file types:
Multiple extensions:
Extension from wordlist:
Scenario 5: Hidden File Discovery
When looking for backup, config, or hidden files:
Common hidden files to check:
Scenario 6: Virtual Host Discovery
When testing for virtual host routing:
Parameters:
-H- Add custom headerFUZZin header value - Replaced by wordlist entries
Example:
Scenario 7: API Endpoint Discovery
When enumerating API endpoints:
Common API patterns:
With HTTP methods:
Scenario 8: Parameter Fuzzing
When discovering hidden parameters:
Value fuzzing:
Scenario 9: Gobuster Scanning
Alternative to ffuf using gobuster:
Scenario 10: Feroxbuster Scanning
Modern Rust-based directory scanner:
Tool Selection Guide
| Scenario | Recommended Tool | Command | |
|---|---|---|---|
| Quick scan | ffuf | ffuf -w wordlist.txt -u https://target.com/FUZZ | |
| Recursive scan | ffuf | ffuf -w wordlist.txt -u https://target.com/FUZZ -recursion | |
| Large wordlist | gobuster | gobuster dir -u https://target.com -w wordlist.txt -t 100 | |
| Multi-target | feroxbuster | feroxbuster -u https://target.com -w wordlist.txt | |
| Hidden files | ffuf | ffuf -w files.txt -u https://target.com/FUZZ | |
| API discovery | ffuf | ffuf -w api.txt -u https://target.com/api/FUZZ |
Tool Comparison:
| Tool | Language | Speed | Features | Best For | |
|---|---|---|---|---|---|
| ffuf | Go | Very Fast | Highly flexible, filtering | Most scenarios | |
| gobuster | Go | Fast | Simple, reliable | Quick scans | |
| feroxbuster | Rust | Fast | Multi-target, recursion | Large assessments | |
| dirsearch | Python | Medium | Built-in wordlists | Beginners |
Common Wordlists
| Wordlist | Size | Description | Location | |
|---|---|---|---|---|
| common.txt | ~4,600 | Common dirs/files | SecLists | |
| raft-medium-directories | ~30,000 | Medium coverage | SecLists | |
| raft-large-directories | ~60,000 | Large coverage | SecLists | |
| directory-list-2.3-medium | ~220,000 | Comprehensive | DirBuster | |
| apache.txt | ~5,000 | Apache defaults | SecLists | |
| api-endpoints.txt | ~500 | API discovery | Custom |
SecLists paths:
Advanced Techniques
Rate Limiting
Avoid detection by slowing requests:
User-Agent Rotation
Authentication
Cookie/Session Based
Output Matching
Filter by response content:
Output Formats
Save Results
Resume Scanning
Tips and Best Practices
- Start small - Use smaller wordlists first for quick wins
- Filter aggressively - Use
-mcto reduce noise - Check response sizes - Same size pages often indicate false positives
- Verify manually - Always check interesting results manually
- Rate limiting - Avoid blocking with appropriate delays
- Combine wordlists - Multiple wordlists for better coverage
- Check parameters - Don't forget to fuzz query parameters
- Look for 403s - Forbidden responses reveal valid paths
Resources
Scripts
scripts/ffuf_results_parser.py- Parse and filter ffuf JSON resultsscripts/merge_wordlists.py- Merge and deduplicate multiple wordlistsscripts/status_code_analyzer.py- Analyze response patterns
References
references/ffuf_guide.md- Comprehensive ffuf referencereferences/gobuster_guide.md- Gobuster usage documentationreferences/wordlist_guide.md- Wordlist selection and creation
Scenario: Persistent Storage of Directory Scan Findings
When you need to persist directory scan findings to the database:
Parameters:
--host-ip- Target host IP (required)--url- Base URL (required)--path- Discovered path (required)--status- HTTP status code (optional)--size- Response size (optional)--tool- Tool used (default: ffuf)--subsystem- Subsystem name (optional)
Database location: ./data/results.db
Related skills: results-storage - Query data, generate reports
Assets
assets/common-dirs.txt- Common directory namesassets/common-files.txt- Common file namesassets/hidden-files.txt- Hidden and backup filesassets/api-endpoints.txt- Common API endpoints
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingrecon-dir-scan/SKILL.md
Popularity
- Repository stars
- 216
- Repository forks
- 26
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/crazymarky/pentest-skills/recon-dir-scan)