ubisoft / vulnmine

Vulnmine searches for vulnerable hosts using MS SCCM host / software inventory data with NIST NVD Vulnerability feed data.
GNU General Public License v3.0
38 stars 13 forks source link

Vulnmine

Vulnmine uses simple Machine Learning to mine Microsoft's SCCM host and software inventory data for vulnerable 3rd-party software.

NIST's NVD vulnerability feeds are pulled in on a daily basis to determine the latest vulnerabilities to search for.

Running Vulnmine

There is a public container with test data ready for use on Docker Hub: lorgor/vulnmine

To download and run the Vulnmine container:

docker run -it --rm lorgor/vulnmine bash

python vulnmine/__main__.py -a 'all'

Commandline Start Options

Here are the possible options when starting Vulnmine:

vulnmine.py  [-h] [--version] [-l Logging] [-a Action] [-y Years] [-w Workdir]
Parameter Use
-h Help information
-help
-l Set desired verbosity for logging:
--loglevel debug info warning error critical
-a Desired action to perform:
--action _rd_sccmhosts: Read SCCM host data
_rd_sccmsft: Read SCCM software data
_rdcpe: Download / input NIST CPE Vendor-Product dictionary
_rdcve: Download / input NIST CVE Vulnerability feed data
_matchvendors:
Match vendors from SCCM "Add-Remove" registry data to NVD CPE data
_matchsft:
Match software from SCCM "Add-Remove"registry data to NVD CPE data
_upd_hostsvulns: Determine vulnerabilities for each host in SCCM
_outputstats: Output the results
all: Run all the above in sequence
-y Number of years to download. There is one CVE feed file for each year's data.
--years
-w Specifies work directory
--workdir

Production mode

If no parameters are specified, then Vulnmine runs in production mode:

Configuring Vulnmine

Vulnmine can be configured using .INI files. (This uses the standard python ConfigParser library.)

The default .INI file is in vulnmine/vulnmine_data/vulnmine_defaults.ini.

Users can override default values. Vulnmine looks for the following file: data/vulnmine.ini.

Here is an example:

[User]
# Section must start with "[User]"

# Override Plugin default values
# ===================================

# Plugins will load from "data/my_plugins"
Plugins: data/my_plugins/

# Turn off plugin function completely
Activate_plugins: No

Where to get more information

Vulnmine is on Github: https://github.com/ubisoftinc/vulnmine

The docs directory has the full Vulnmine documentation.