Tool to extract various things from .nessus
files.
At the moment it does common service URIs (--services
), SMB shares (--shares
), SMB share permissions (--sharepermissions
), and vulnerabilities (--listvulnerabilities
and --listallvulnerabilities
).
Services can optionally be filtered to just http[s] using --urls
.
In all cases, FQDNs can be included, where present, by specifying --fqdns
Verbose output is written to stderr
, so useful output can be piped directly to file, other tools, or the clipboard.
git clone --recurse-submodules https://github.com/sysophost/Vulcan
remember to use --recurse-submodules
to ensure you pick up the pyShot
submodule
python vulcan.py --inputfile <input .nessus file> [--urls] [--shares] [--sharepermissions] [--screenshot] [--fqdns]
--inputfile
/ -if
Path to the input .nessus
file to parse
You will need to specify at least one of --services
, --urls
, --shares
, --sharepermissions
or --listvulnerabilities
--services
/ -sv
Extract all services identified by the Service Detection
plugin in unauthenticated scans
--urls
/ -u
Only extract http[s] URIs from the extracted services
--shares
/ -sh
Extract SMB shares identified by the Microsoft Windows SMB Shares Enumeration
in authenticated scans
--sharepermissions
/ -sp
Extract SMB share permissions identified by the Microsoft Windows SMB Share Permissions Enumeration
in authenticated scans
--listvulnerabilities
/ -lv
List all vulnerabilties in the supplied .nessus
file and group by host (ordered by severity in descending order)
--listallvulnerabilities
/ -lva
List unique vulnerabilities in the supplied .nessus
file, and order by severity in descending order.
--minseverity
/ -ns
Set minimum severity level filter (0-4). Default=1
--maxseverity
/ -xs
Set maximum severity level filter (0-4). Default=4
- 0=Info
- 1=Low
- 2=Medium
- 3=High
- 4=Critical
--fqdns
/ -f
Output FQDN instead of IP address (where one exists)
--screenshot
/ -s
Capture screenshots of identified http[s] services
--outputdir
/ -od
Output directory for screenshots
If this doesn't exist it will be created
--proxy
/ -p
Proxy to use for outgoing screenshot connections
This currently supports HTTP
and SOCKS4/5
python vulcan.py --inputfile <input .nessus file> --services --urls [--fqdns] | xargs firefox
This assumes that firefox
is on the path
- Work out what to do with services that are not identified by Nessus
- Handle hosts with multple FQDNs
- Design a better data structure to hold a mapping between Nessus service names and the associated URI
Take screenshots of http[s] URIs