tutorial reconnaissance - Security-Tools-Alliance/rengine-ng GitHub Wiki
This comprehensive tutorial will guide you through the different reconnaissance strategies available in reNgine-ng, helping you choose the right approach for your target assessment.
Understanding the reconnaissance workflow is crucial for effective penetration testing and bug bounty hunting. Here's the recommended approach:
graph TD
A["๐ฏ Target Selection"] --> B["๐ Choose Scan Strategy"]
B --> C["๐ Quick Passive<br/>Initial Scan - Passive with screenshots"]
B --> D["โก Balanced<br/>Initial Scan - reNgine recommended"]
B --> E["๐ Import Scope<br/>Initial Scan - Passive (import subdomains)"]
B --> F["๐ฅ Full Active<br/>Scan - Active"]
C --> G["๐ธ Screenshots<br/>๐ง OSINT<br/>๐ WAF Detection<br/>๐ Subdomain Discovery"]
D --> H["๐ธ Screenshots<br/>๐ง OSINT<br/>๐ WAF Detection<br/>๐ Subdomain Discovery<br/>๐ URL Fetching"]
E --> I["๐ธ Screenshots<br/>๐ง OSINT<br/>No Subdomain Discovery"]
F --> J["๐ Port Scan<br/>๐ Directory Fuzzing<br/>๐ URL Fetching<br/>๐ก๏ธ Vulnerability Scan"]
G --> K["๐ฏ Subscan Decision"]
H --> K
I --> K
J --> L["๐ Complete Analysis"]
K --> M["๐ Port Scanning<br/>Subscan - Port scan"]
K --> N["๐ File Fuzzing<br/>Subscan - File fuzzing"]
K --> O["๐ URL Fetching<br/>Subscan - Fetch URLs"]
K --> P["๐ก๏ธ Vulnerability Scan<br/>Subscan - Vulnerabilities"]
K --> Q["๐ธ Screenshots<br/>Subscan - Screenshots"]
K --> R["๐ WAF Detection<br/>Subscan - WAF Detection"]
M --> S["๐ Results Analysis"]
N --> S
O --> S
P --> S
Q --> S
R --> S
S --> T["๐ Report Generation<br/>๐ค LLM Analysis"]
L --> T
Choose your initial scan strategy based on your objectives, time constraints, and resource availability:
Recommended for: First-time reconnaissance, time-sensitive assessments
Speed: โกโกโก QUICK SCAN
Resources: ๐ข LOW RESOURCE USAGE
Recommended: โ
HIGHLY RECOMMENDED ON INITIAL SCAN
# What it does:
- Subdomain Discovery (passive tools)
- Screenshots of discovered services
- OSINT gathering (emails, metadata, employees)
- WAF detection
๐ฏ Use Case Example:
- Bug bounty initial reconnaissance
- Time-constrained assessments
- Getting a quick overview of the attack surface
๐ What you get:
- Complete subdomain list with visual evidence
- OSINT intelligence for social engineering
- WAF presence information for planning
Recommended for: Balanced approach between speed and depth
Speed: โกโก MEDIUM SPEED SCAN
Resources: ๐ก MODERATE RESOURCE USAGE
Recommended: โ
HIGHLY RECOMMENDED ON INITIAL SCAN
# What it does:
- Everything from Passive scan
- Additional URL fetching and endpoint discovery
- More comprehensive OSINT
๐ฏ Use Case Example:
- Professional penetration testing
- Comprehensive bug bounty assessment
- Balanced time vs. thoroughness approach
๐ What you get:
- Complete attack surface mapping
- Rich endpoint collection for further testing
- Comprehensive intelligence gathering
Recommended for: When you have a predefined scope
Speed: โกโกโก QUICKEST SCAN
Resources: ๐ข MINIMAL RESOURCE USAGE
Recommended: โ
RECOMMENDED WHEN YOU HAVE SUBDOMAIN LIST
# What it does:
- Import your existing subdomain list
- Screenshots and OSINT on known targets
- No additional subdomain discovery
๐ฏ Use Case Example:
- Scoped penetration tests with defined assets
- Re-assessment of known infrastructure
- Focused testing on specific subdomains
๐ What you get:
- Fast analysis of known assets
- Visual confirmation of services
- Targeted intelligence gathering
Recommended for: Deep, comprehensive analysis
Speed: ๐ SLOW SCAN
Resources: ๐ด RESOURCE INTENSIVE
Warning:
# What it does:
- Aggressive port scanning
- Directory and file fuzzing
- Comprehensive URL discovery
- Full vulnerability scanning
๐ฏ Use Case Example:
- Deep penetration testing with ample time
- Internal network assessments
- Follow-up after initial reconnaissance
๐ What you get:
- Complete port and service enumeration
- Extensive file and directory discovery
- Comprehensive vulnerability assessment
After your initial scan, use targeted subscans to dive deeper into specific areas of interest:
When to use: After identifying interesting subdomains from initial scans
# Features:
- Targeted port scanning on selected subdomains
- Nmap integration for service enumeration
- Customizable port ranges (top-100, top-1000, full)
๐ก Pro Tip: Use this on subdomains that look interesting from your initial screenshots.
When to use: On web applications discovered during initial reconnaissance
# Features:
- Directory and file fuzzing
- Customizable wordlists and extensions
- HTTP status code filtering
- Recursive directory traversal options
๐ก Pro Tip: Focus on admin panels, login pages, and interesting applications found in screenshots.
When to use: To discover hidden endpoints and parameters
# Features:
- Multiple tools: gospider, hakrawler, waybackurls, katana, gau
- GF pattern matching for vulnerability indicators
- Duplicate endpoint removal
- Custom header support
๐ก Pro Tip: Essential for finding API endpoints and hidden functionality.
When to use: After comprehensive reconnaissance to find security issues
# Features:
- Nuclei vulnerability scanning
- Dalfox XSS testing
- CRLF injection testing
- S3 bucket misconfiguration detection
- LLM-powered vulnerability analysis
๐ก Pro Tip: Run this on high-value targets after gathering comprehensive endpoint lists.
When to use: To get visual confirmation of services
# Features:
- Visual evidence gathering
- Service identification through screenshots
- Configurable timeout and threading
๐ก Pro Tip: Use after port scans to visually confirm discovered services.
When to use: Before launching active attacks
# Features:
- WAF identification using wafw00f
- Protection mechanism detection
- Attack strategy planning
๐ก Pro Tip: Essential before vulnerability testing to adapt your approach.
-
Start with:
Initial Scan - Passive with screenshots
- Analyze results: Look for interesting subdomains and technologies
-
Follow up with:
-
Subscan - Fetch URLs
on web applications -
Subscan - Port scan
on infrastructure targets -
Subscan - File fuzzing
on admin panels/dashboards
-
-
Finish with:
Subscan - Vulnerabilities
on high-value targets
-
Start with:
Initial Scan - reNgine recommended
- Analyze attack surface: Review all discovered assets
-
Deep dive with:
-
Subscan - Port scan
on all interesting subdomains -
Subscan - File fuzzing
on web applications -
Subscan - Fetch URLs
for endpoint discovery
-
-
Vulnerability assessment:
Subscan - Vulnerabilities
comprehensively - Documentation: Generate reports with LLM analysis
-
Start with:
Initial Scan - Passive (import subdomains)
if scope is defined -
Quick wins:
-
Subscan - Screenshots
for visual confirmation -
Subscan - WAF Detection
for protection assessment
-
-
Targeted testing:
Subscan - Vulnerabilities
on critical assets
-
Start with:
Scan - Active
(if network allows) - Comprehensive analysis: Review all discovered services
- Focused testing: Use targeted subscans based on findings
# Always use realistic User-Agent strings
custom_header: {
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:126.0) Gecko/20100101 Firefox/126.0'
}
# Adjust threading based on target sensitivity
threads: 30 # Aggressive
threads: 10 # Conservative
threads: 5 # Stealth
# Set appropriate timeouts
timeout: 10 # Standard
timeout: 5 # Fast
timeout: 30 # Thorough
Subdomain Discovery:
- Use multiple tools for better coverage:
['subfinder', 'ctfr', 'sublist3r', 'tlsx', 'oneforall', 'netlas']
- Configure API keys for maximum results
- Consider
amass-active
for brute-force when time permits
HTTP Crawling & Port Detection:
- Common Ports: Default behavior tests standard web ports (80, 443, 8080, etc.)
-
Uncommon Ports: Enable
precrawl_uncommon_ports: true
for extended port range (81-55672) -
All Ports: Use
precrawl_all_ports: true
for comprehensive coverage (slower) -
Batch Processing: Adjust
precrawl_batch_size
based on target capacity (default: 350)
Port Scanning:
- Start with
top-100
for speed - Use
top-1000
for thoroughness - Reserve
full
scan for critical targets - Enable
nmap
integration for service detection
Directory Fuzzing:
- Use
auto_calibration
to avoid false positives - Focus on relevant extensions:
['php', 'asp', 'aspx', 'jsp', 'txt', 'bak']
- Set reasonable
max_time
limits - Use
recursive_level
carefully (exponential time increase)
Vulnerability Scanning:
- Enable
fetch_llm_report
for detailed analysis - Filter by severity for initial runs:
['high', 'critical']
- Use custom templates for specific technologies
- Configure rate limiting to avoid blocking
- Always obtain proper authorization before scanning
- Respect rate limits and avoid DoS conditions
- Follow responsible disclosure for any findings
- Document your scope clearly before starting
- Use realistic User-Agent strings in custom headers
- Implement proper rate limiting to avoid detection
- Randomize request timing when possible
- Monitor for blocking and adjust accordingly
- Start with passive scans to understand the target
- Use appropriate thread counts based on target capacity
- Monitor resource usage during intensive scans
- Plan scan timing to avoid peak hours
- Analyze results thoroughly before proceeding
- Adapt your strategy based on findings
- Use subscans strategically rather than running everything
- Document interesting findings for follow-up
-
Screenshot Review: Always review screenshots for:
- Login panels and admin interfaces
- Technology indicators (frameworks, servers)
- Error messages revealing information
- Unusual or custom applications
-
OSINT Intelligence: Leverage gathered intelligence for:
- Employee email formats for credential attacks
- Technology stack information
- Potential attack vectors through metadata
-
Endpoint Analysis: Focus on endpoints containing:
- API paths (
/api/
,/v1/
,/graphql
) - Admin functions (
/admin
,/dashboard
,/manage
) - Parameter-heavy URLs for injection testing
- File upload and download functionality
- API paths (
High Priority Targets:
- Admin panels and dashboards
- API endpoints with authentication
- File upload functionality
- Database interfaces
- Custom applications (non-standard tech stack)
Medium Priority Targets:
- Standard web applications
- Common CMS platforms
- Development/staging environments
- Subdomain takeover candidates
Low Priority Targets:
- CDN endpoints
- Static file servers
- Standard marketing pages
- Third-party hosted services
Bug Bounty Optimized Engine:
subdomain_discovery: {
'uses_tools': ['subfinder', 'ctfr', 'sublist3r', 'tlsx', 'oneforall', 'netlas'],
'threads': 20,
'timeout': 5
}
http_crawl: {
'precrawl_uncommon_ports': true, # Extended port discovery for hidden services
'precrawl_batch_size': 300,
'threads': 25
}
fetch_url: {
'uses_tools': ['gospider', 'hakrawler', 'waybackurls', 'katana', 'gau'],
'gf_patterns': ['xss', 'sqli', 'rce', 'lfi', 'ssrf'],
'threads': 15
}
vulnerability_scan: {
'run_nuclei': true,
'intensity': 'normal',
'fetch_llm_report': true,
'nuclei': {
'severities': ['medium', 'high', 'critical']
}
}
Internal Network Assessment Engine:
http_crawl: {
'precrawl_all_ports': true, # Comprehensive port coverage for internal networks
'precrawl_batch_size': 500,
'threads': 40
}
port_scan: {
'ports': ['full'],
'enable_nmap': true,
'threads': 50,
'rate_limit': 1000
}
dir_file_fuzz: {
'extensions': ['php', 'asp', 'aspx', 'jsp', 'txt', 'bak', 'conf'],
'recursive_level': 2,
'threads': 20
}
Remember: The key to successful reconnaissance is understanding your target, choosing the right tools, and iterating based on your findings. Start conservatively and increase intensity based on what you discover!