vamp-log-hunter
Forensic log analyzer that detects Indicators of Compromise across 14 attack categories
VampSecure Labs · Security Research Division
Overview
vamp-log-hunter is a forensic log analysis tool for detecting Indicators of Compromise (IoC) in system logs. It processes nginx, Apache, auth.log, syslog, and journald logs line-by-line — without loading full files into memory — and correlates events across 14 attack categories ranging from SSH brute force and SQL injection to webshell access and anomalous nocturnal activity. Each finding carries remediation steps and structured evidence lines ready for inclusion in client security reports.
Built-in threat intelligence covers known scanner IP ranges (Shodan, Censys, GreyNoise, Tor exit nodes) and automatically tags findings whose source IPs match those ranges.
Features
- 14 IoC categories: SSH brute force, web brute force (4xx flood), directory scanning, SQL injection, XSS, path traversal / LFI, webshell access, sensitive file enumeration (
.env,.git,wp-config, etc.), scanner User-Agent detection,sudo/suprivilege escalation, suspicious cron jobs, direct root SSH login, known-scanner IP correlation, and anomalous nocturnal traffic (02:00–05:59) - Known-scanner intelligence: built-in IP and CIDR database for Shodan, Censys, GreyNoise, SecurityTrails, Masscan, and Tor exit nodes — findings from those sources are automatically labelled
- Multi-format log support: nginx / Apache Combined Log Format, syslog, auth.log (gzip-compressed
.log.gzhandled transparently); stdin pipe via--file - - Configurable thresholds for brute-force event counts (
--threshold-brute) and directory scan path counts (--threshold-scan) - Time-window filtering with
--last-hoursto focus on recent events without reprocessing full logs - Top offensive IPs table summarizing total event counts per source with scanner tag
- JSON export — structured schema with full finding metadata: severity, category, source IPs, first/last seen timestamps, evidence lines, and remediation
- Standalone dark-theme HTML report — zero CDN dependencies; KPI summary bar + sortable findings table + detailed expandable cards
- Unified VSL client report (HTML/PDF) via
--report-html/--report-pdfflags - Rich console output with color-coded severity panels and a top-IPs summary table
Requirements
pip install -r requirements.txt
| Package | Version |
|---|---|
rich |
>= 13.7.0 |
Standard library: argparse, gzip, ipaddress, json, re, sys, collections, datetime, pathlib.
Installation
git clone https://github.com/belky-me/vamp-log-hunter.git
cd vamp-log-hunter
pip install -r requirements.txt
Usage
python vamp_log_hunter.py --help
usage: vamp_log_hunter.py [-h] [--file FILE] [--log-type {nginx,apache,auth,syslog,journald,auto}]
[--log-dir DIR] [--last-hours N] [--threshold-brute N]
[--threshold-scan N] [--json FILE] [--html FILE] [-v]
Examples
Scan all logs in /var/log (auto-discovery):
python vamp_log_hunter.py
Analyze specific log files:
python vamp_log_hunter.py --file /var/log/nginx/access.log \
--file /var/log/auth.log
Focus on the last 24 hours, lower brute-force threshold to 5 events:
python vamp_log_hunter.py --last-hours 24 --threshold-brute 5
Export JSON and standalone dark-theme HTML report:
python vamp_log_hunter.py --json report.json --html report.html
Read from stdin (pipe):
cat /var/log/nginx/access.log | python vamp_log_hunter.py --file -
Analyze a gzip-compressed rotated log:
python vamp_log_hunter.py --file /var/log/nginx/access.log.1.gz
IoC Category Reference
| ID | Category | Log Source |
|---|---|---|
| LOG-001 | SSH brute force | auth.log / syslog |
| LOG-002 | Web brute force (4xx flood) | nginx / apache |
| LOG-003 | Directory enumeration (unique 404s) | nginx / apache |
| LOG-004 | SQL injection in URI | nginx / apache |
| LOG-005 | XSS payload in URI | nginx / apache |
| LOG-006 | Path traversal / LFI | nginx / apache |
| LOG-007 | Webshell access or RCE parameter | nginx / apache |
| LOG-008 | Sensitive file access | nginx / apache |
| LOG-009 | Scanner User-Agent | nginx / apache |
| LOG-010 | sudo / su privilege escalation | auth.log / syslog |
| LOG-011 | Suspicious cron job commands | syslog |
| LOG-012 | Direct root SSH login | auth.log |
| LOG-013 | Known-scanner IP | nginx / apache |
| LOG-014 | Anomalous nocturnal activity (02:00–05:59) | nginx / apache / auth |
Output Formats
| Format | Flag | Description |
|---|---|---|
| Console (Rich) | (default) | Severity-ordered panels with evidence, IPs, timestamps, and remediation |
| JSON | --json FILE |
Full structured export with all finding fields |
| HTML | --html FILE |
Standalone dark-theme report with KPI bar and finding cards |
Exit Codes
| Code | Meaning |
|---|---|
0 |
No IoC found |
1 |
One or more IoC findings detected |
Part of VampSecure Labs Toolkit
This tool is part of the VampSecure Labs Security Toolkit — a collection of research-grade security tools for authorized penetration testing and red/blue team exercises.
- Full toolkit: github.com/belky-me
- Orchestrator: github.com/belky-me/vamp-orchestrator
© VampSecure Studios — VampSecure Labs Security Research Division
For authorized security testing only.
Release files for vamp-log-hunter 1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vamp_log_hunter-1.3.tar.gz | 39.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vamp_log_hunter-1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 80.4 kB
Release files / vamp_log_hunter-1.3.tar.gz
| Download URL | vamp_log_hunter-1.3.tar.gz |
|---|---|
| Size | 39.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
771a561ddc63197df548f862e848e16723ae826710d0924aaac6137efc085da7
|
|
BLAKE2b-256 checksum How to use checksums |
f347d181b6d89d87621a62a02447bdeed51e0c5fc7d0eaeb3e667866e1e70df8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / vamp_log_hunter-1.3-py3-none-any.whl
| Download URL | vamp_log_hunter-1.3-py3-none-any.whl |
|---|---|
| Size | 40.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ec66fc6e2e6957b2b0d7fe78d7e3edf1b6a41ef3f6fa76680cf1a7ce3f70bb07
|
|
BLAKE2b-256 checksum How to use checksums |
6f426f7a16b0dcdd0f8350259166dd2cdaecb32ac1a270e8ce9fe6b7e9b8aa1b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|