WebRecon is a comprehensive CLI-driven web reconnaissance and vulnerability scanning tool written in Go. It automates the process of gathering information about web applications and identifying potential security vulnerabilities.
-
Reconnaissance
- WHOIS lookup
- DNS information gathering
- SSL/TLS certificate analysis
- Subdomain enumeration
-
Scanning
- Port scanning
- Technology fingerprinting
- Vulnerability scanning
- Directory brute forcing
-
Reporting
- Multiple output formats (JSON, Markdown, HTML)
- Detailed reports with categorized findings
- Severity-based vulnerability classification
- Go 1.18 or higher
- Linux/macOS/Windows
-
Clone the repository:
git clone https://github.com/webrecon/webrecon-tool.git cd webrecon-tool -
Build the tool:
go build -o webrecon ./cmd/webrecon -
(Optional) Move the binary to a directory in your PATH:
sudo mv webrecon /usr/local/bin/
./webrecon scan -t example.com
This will perform a full scan on the target domain and generate a report in the default format (Markdown).
scan: Perform a full scan (reconnaissance, port scanning, fingerprinting, vulnerability scanning, directory brute forcing)recon: Perform reconnaissance onlyportscan: Scan for open portsfingerprint: Identify technologiesvulnscan: Check for vulnerabilitiesdirbrute: Perform directory brute forcinghelp: Display help information
Global Flags:
-t, --target string Target domain to scan
-o, --output string Output file (default "report")
-f, --format string Output format (json, md, html) (default "md")
-j, --threads int Number of concurrent threads (default 10)
-w, --wordlist string Custom wordlist for brute forcing
-v, --verbose Enable verbose output
-h, --help Help for webrecon
./webrecon scan -t example.com
./webrecon recon -t example.com
./webrecon portscan -t example.com
./webrecon fingerprint -t example.com
./webrecon vulnscan -t example.com
./webrecon dirbrute -t example.com -w /path/to/wordlist.txt
./webrecon scan -t example.com -f json -o results
./webrecon scan -t example.com -f html -o results
./webrecon scan -t example.com -j 20
The reconnaissance module gathers basic information about the target domain:
- WHOIS Lookup: Retrieves domain registration information
- DNS Information: Gathers DNS records (A, AAAA, MX, NS, TXT, CNAME)
- SSL/TLS Analysis: Analyzes SSL/TLS certificates for security issues
- Subdomain Enumeration: Discovers subdomains associated with the target domain
The scanning modules perform detailed analysis of the target:
- Port Scanner: Discovers open ports and identifies running services
- Technology Fingerprinter: Identifies web technologies, frameworks, and libraries
- Vulnerability Scanner: Checks for common web vulnerabilities
- Directory Brute Forcer: Discovers hidden directories and files
The reporting module generates comprehensive reports in various formats:
- JSON: Machine-readable format for integration with other tools
- Markdown: Human-readable format for documentation
- HTML: Web-based format for viewing in browsers
- This tool is designed for security professionals to assess their own systems or systems they have permission to test
- Always obtain proper authorization before scanning any system
- Some scanning techniques may be considered intrusive by target systems
- Use responsibly and ethically
You can use custom wordlists for subdomain enumeration and directory brute forcing:
./webrecon scan -t example.com -w /path/to/wordlist.txt
The tool implements rate limiting to avoid overwhelming target servers. You can adjust the number of concurrent threads:
./webrecon scan -t example.com -j 5 # Lower concurrency
./webrecon scan -t example.com -j 30 # Higher concurrency
- Connection Errors: Ensure the target domain is accessible and your internet connection is working
- Permission Errors: Some scanning techniques may require elevated privileges
- Rate Limiting: Target servers may implement rate limiting; try reducing concurrency
- False Positives: Vulnerability scanning may produce false positives; always verify findings manually
Use the verbose flag for detailed output:
./webrecon scan -t example.com -v
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.