PentestX is a comprehensive reconnaissance and enumeration tool designed for cybersecurity professionals, penetration testers, and bug bounty hunters. Built on the robust Netlas API, PentestX provides systematic target enumeration with intelligent data organization and optional third-party tool integration.
PentestX leverages the power of Netlas - a comprehensive internet asset database containing billions of records spanning web services, certificates, DNS data, and network infrastructure. Unlike traditional reconnaissance tools that rely on limited data sources, PentestX provides access to Netlas's vast intelligence network for thorough target enumeration.
- 🔍 Comprehensive Enumeration: Multiple enumeration types via Netlas API
- 🎮 Interactive Interface: Step-by-step guided workflow with intuitive menus
- 📁 Organized Output: Automatic result categorization in JSON, CSV, and TXT formats
- ⚡ Intelligent Integration: Optional third-party tool integration (subfinder, amass, httpx, nuclei)
- 📊 Data Segregation: Automatic separation of results by type (subdomains, IPs, certificates, etc.)
- 🔧 Flexible Commands: Both interactive menu and direct command-line interfaces
PentestX streamlines reconnaissance workflows commonly used in bug bounty hunting:
Discover extensive subdomain lists using Netlas's comprehensive database, then optionally enhance with additional tools like subfinder and amass for maximum coverage.
Systematically enumerate all discoverable assets including:
- Subdomains and domain variations
- IP addresses and hosting information
- SSL certificates and associated domains
- DNS records and infrastructure details
- WHOIS information for domains and IPs
Run additional security tools on discovered assets:
- httpx: Probe live web services and gather response information
- nuclei: Automated vulnerability scanning with community templates
- subfinder: Additional subdomain enumeration from multiple sources
- amass: Advanced network mapping and subdomain discovery
- Python 3.10 or higher - Download here
- Netlas API Key - Get your free key (required)
- Git - For installation
- Internet Connection - For API access
# Clone and run the installer
git clone https://github.com/pentestx/pentestx.git
cd pentestx
chmod +x install.sh
./install.sh# Clone the repository
git clone https://github.com/pentestx/pentestx.git
cd pentestx
# Create virtual environment
python3 -m venv pentestx-env
source pentestx-env/bin/activate
# Install dependencies
pip install -r requirements.txt
# Install PentestX
pip install -e .-
Create your configuration file:
cp .env.example .env nano .env
-
Add your Netlas API key:
NETLAS_API_KEY=your_actual_api_key_here
-
Test your installation:
python -m pentestx --help
Launch the guided interface:
python -m pentestx menuThe interactive menu provides:
- Host Info - Quick domain/IP details lookup
- Enumeration Options - Choose from 8 different enumeration types
- Integration Tools - Run additional security tools on results
- Subdomain Enumeration - Discover subdomains via Netlas domains API
- Domain by IP Search - Find domains hosted on specific IP addresses
- IP WHOIS Search - Search IP WHOIS data via Netlas whois-ip API
- DNS Search - Search DNS records via Netlas domains API
- Domain WHOIS Search - Search domain WHOIS data via Netlas whois-domain API
- Response Search - Search response data via Netlas responses API
- Certificate Search - Search certificates by organization via Netlas cert API
- Comprehensive Enumeration - Run all enumeration methods combined
# Comprehensive enumeration
python -m pentestx scan apple.com
# Specific enumeration type
python -m pentestx scan apple.com --type subdomain
# Custom output format
python -m pentestx scan apple.com --format csv# Search certificates by organization
python -m pentestx cert "Apple Inc."
# Extract specific fields to text format
python -m pentestx cert "Google LLC" --extract common_name --format txt# Display current configuration
python -m pentestx config
# Show version information
python -m pentestx versionPentestX automatically organizes findings into structured files:
output/
├── apple_com_subdomains_2025_08_15_143022.json # All discovered subdomains
├── apple_com_ips_2025_08_15_143022.json # IP addresses found
├── apple_com_summary_2025_08_15_143022.json # Enumeration summary
└── apple_com_mappings_2025_08_15_143022.json # Domain-to-IP mappings
- JSON - Structured data, perfect for automation and integration
- CSV - Spreadsheet-compatible for analysis and reporting
- TXT - Human-readable format for quick review
PentestX can integrate with popular security tools to enhance reconnaissance capabilities:
# Install with Go
go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest# Install with Go
go install -v github.com/OWASP/Amass/v3/...@master# Install with Go
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest# Install with Go
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latestPentestX automatically detects available tools and offers integration options in the interactive menu.
- Start enumeration:
python -m pentestx scan target.com - Review results in organized JSON/CSV output files
- Run integrations on discovered assets via the menu system
- Analyze findings for further investigation
- Launch interactive mode:
python -m pentestx menu - Use comprehensive enumeration for maximum asset discovery
- Run integration tools on discovered subdomains
- Export results in preferred format for analysis
- Follow up on interesting findings manually
- Search by organization:
python -m pentestx cert "Target Company" - Extract domains from certificate data
- Use discovered domains for further enumeration
- Cross-reference with subdomain enumeration results
"No API key configured"
- Edit your
.envfile and add:NETLAS_API_KEY=your_key_here
"Python version not supported"
- Install Python 3.10 or higher from python.org
"Command not found"
- Activate your virtual environment:
source pentestx-env/bin/activate - Or use full path:
python -m pentestx
"No results found"
- Check your internet connection
- Verify your API key is valid at netlas.io
- Ensure the target domain exists and is reachable
- Built-in Help:
python -m pentestx --help - Configuration Check:
python -m pentestx config - Version Info:
python -m pentestx version
- 🐛 Bug Reports: GitHub Issues
- 💡 Feature Requests: GitHub Discussions
- 📖 Documentation: Built-in help and command-line assistance
- 🔄 Updates: Watch the repository for new releases
PentestX is released under the MIT License. See LICENSE for details.
Built with powerful technologies:
- Netlas - Comprehensive internet asset database
- Rich - Beautiful terminal interfaces
- Typer - Modern CLI framework
- Pydantic - Data validation and settings
Ready to start your reconnaissance journey?
git clone https://github.com/L4stPL4Y3R/pentestnetlas.git && cd pentestx && ./install.shBuilt with ❤️ for the cybersecurity community
