outputs/ directory with subdirectories for each tool.
Base Directory
The framework creates a base output directory defined inconfig.py:5-6:
Directory Tree Structure
A complete audit generates the following structure:nmap/ Subdirectory
Location:services/nmap_scanner.py:11-12
Contents
The nmap directory stores port scan results. The python-nmap library manages its own output format internally.Scan Information Captured
- Open ports (TCP 1-1000)
- Service names and versions
- Operating system detection
- Service fingerprints
services/nmap_scanner.py:18
Output Data Structure
For each detected port:sqlmap/ Subdirectory
Location:services/sqlmap_inject.py:15-16
Directory Naming
Each SQL injection test creates a unique output directory:outputs/sqlmap/sql_192.168.56.102_80/
SQLMap Output Structure
When dumping DVWA credentials (services/sqlmap_inject.py:174-184):
Generated Files
1. Full Output Log Location:services/sqlmap_inject.py:198-199
- Injection point detection
- Payload attempts
- Database enumeration
- Table dumps
- Error messages
Credential Extraction
The framework parses credentials from multiple sources (services/sqlmap_inject.py:50-154):
1. CSV Files - Extracts MD5 hashes and usernames
2. Console Output - Parses table format output
3. Dump Files - Searches any file in dump directories
wpscan/ Subdirectory
Location:services/wpforce_brute.py:12-13
Generated Files
1. Enumeration Results Filename format:wpscan_{ip}_{port}_{path}.txt
Location: services/wpforce_brute.py:47
- WordPress version detection
- Installed plugins and their versions
- Vulnerable plugins (CVEs)
- Enumerated usernames
- Theme information
brute_{ip}_{port}.txt
Location: services/wpforce_brute.py:83
- Password attack attempts
- Valid credentials found
- Failed login attempts
- Time taken per user
WPScan Commands
Enumeration:services/wpforce_brute.py:52-57
services/wpforce_brute.py:86-93
gobuster/ Subdirectory
Location:services/gobuster_enum.py:13-14
Generated Files
Filename format:dirs_{ip}_{port}.txt
Location: services/gobuster_enum.py:25
Directory Enumeration
Command:services/gobuster_enum.py:53-61
Output Format
Example content:Fallback: Dirb
If Gobuster is not installed, the framework falls back to Dirb (services/gobuster_enum.py:84-108):
PDF Report Location
The final PDF report is saved directly in theoutputs/ directory.
Filename Format
Location:reporter/pdf_generator.py:24-25
Example Filenames
Confirmation Message
Location:reporter/pdf_generator.py:633
File Naming Conventions
All output files follow consistent naming patterns:| Tool | Pattern | Example |
|---|---|---|
| PDF Report | REPORT_{ip}_{timestamp}.pdf | REPORT_192_168_56_102_20240315_143022.pdf |
| Nmap | Managed by library | (internal) |
| SQLMap | sql_{ip}_{port}/ | sql_192.168.56.102_80/ |
| WPScan Enum | wpscan_{ip}_{port}_{path}.txt | wpscan_192.168.56.102_80__wordpress_.txt |
| WPScan Brute | brute_{ip}_{port}.txt | brute_192.168.56.102_80.txt |
| Gobuster | dirs_{ip}_{port}.txt | dirs_192.168.56.102_80.txt |
IP Address Formatting
In filenames, IP addresses use different formats:- PDF Reports: Underscores replace dots →
192_168_56_102 - SQLMap/Other: Standard dot notation →
192.168.56.102
Storage Considerations
Directory Creation
All subdirectories are created automatically withmkdir(parents=True, exist_ok=True), ensuring:
- Parent directories are created recursively
- No errors if directory already exists
- Safe for multiple runs
File Overwriting
Output files use unique identifiers:- Timestamps prevent PDF report collisions
- Port numbers allow multiple service scans
- URL paths differentiate WordPress installations
Cleanup
The framework does not automatically delete old outputs. Manual cleanup recommended:Accessing Results
All results are referenced in the PDF report’s conclusions section:“Toda la evidencia recopilada se encuentra en el directorio outputs/”Reviewers can:
- Read the PDF report for high-level findings
- Navigate to specific subdirectories for detailed evidence
- Examine raw tool output for verification