Overview
Somnium generates detailed result files for each test category. Understanding these output files is crucial for validating your security controls and identifying gaps in your defenses.Output File Locations
All result files are saved in the current working directory where you executed Somnium:| Test Category | Output File |
|---|---|
| Known Bad IPs | IP_Results.txt |
| Phishing URLs | URL_Results.txt |
| TOR Exit Nodes | TOR_Results.txt |
| Malware Distribution | Malware_Results.txt |
| Cryptomining Domains | Mining_Results.txt |
| DGA Domains | DGA_Results.txt |
| Remote Desktop Tools | RAT_Results.txt |
| Bad User Agents | Agent_Results.txt |
| DNS over HTTPS | DoH_Results.txt |
Result files are opened in append mode (
a+), so running the same test multiple times will add new results to the existing file rather than overwriting it.Result File Formats
- IP-Based Tests
- URL-Based Tests
- DGA Domains
- Remote Desktop Tools
- Bad User Agents
- DNS over HTTPS
Files:
IP_Results.txt, TOR_Results.txtFormat Structure
Example Output
Field Descriptions
- Timestamp: Time in HH:MM:SS format (local system time)
- IP: The malicious IP address being tested
- Port: TCP port number (80, 22, or 443 for bad IPs; 80 or 443 for TOR)
- Status:
SUCCESSFUL: Connection established (potentially a security gap)FAILED: Connection blocked or timed out (expected behavior)
Interpreting Results
SUCCESSFUL - Investigate immediately
SUCCESSFUL - Investigate immediately
A successful connection to a known malicious IP indicates:
- Firewall rules may not be blocking the threat feed
- IPS/IDS signatures are not preventing the connection
- The IP may have been removed from blocklists
- Verify the IP is still on threat intelligence feeds
- Check firewall and IPS policies
- Review why the connection was allowed
- Add the IP to your blocklist if missing
FAILED - Expected behavior
FAILED - Expected behavior
A failed connection is the desired outcome:
- Firewall is blocking the malicious IP
- Network timeout occurred (no route to host)
- IPS dropped the connection attempt
- Check firewall logs for explicit DENY entries
- Verify IPS/IDS generated alerts
- Confirm SIEM correlated the event
Timestamp Format
All result files use thetime.strftime("%X") format, which outputs local time in HH:MM:SS format:
Analyzing Multiple Test Runs
Since results append to existing files, you can analyze trends over time:Best Practices for Result Analysis
Correlate with SIEM immediately
Correlate with SIEM immediately
After each test:
- Note the start and end timestamps
- Search your SIEM for events in that timeframe
- Verify security controls logged the activity
- Document any missing alerts or blocks
Archive results regularly
Archive results regularly
Prevent result files from growing too large:
Create baseline metrics
Create baseline metrics
Track your security posture over time:
- Document initial test results before tuning
- Retest after security control changes
- Measure improvement in block rates
- Track mean time to detection
Share results with stakeholders
Share results with stakeholders
Troubleshooting Result Files
Result file is empty
Result file is empty
Possible causes:
- Test was interrupted before completion
- No write permissions in the directory
- Exception occurred before any results were written
Results show all FAILED
Results show all FAILED
If legitimate:
- Your security controls are working perfectly
- All malicious connections were blocked
- Network connectivity issues
- Firewall blocking all outbound traffic
- Test system is isolated from internet
Results show all SUCCESSFUL
Results show all SUCCESSFUL
This is a critical security issue:
- Firewall rules may not be applied
- IPS/IDS may be in monitor-only mode
- Threat feeds may not be loaded
- System may be bypassing security controls