Machinae Security Intelligence Collector
Project description
Codebase - Bring Automater to python3 compatibility while making the code more pythonic
Configuration - Use a more human readable configuration format (YAML)
Inputs - Support JSON parsing out-of-the-box without the need to write regular expressions, but still support regex scraping when needed
Outputs - Support additional output types, including JSON, while making extraneous output optional
Installation
Machinae can be installed using pip3:
pip3 install machinae
Or, if you’re feeling adventurous, can be installed directly from github:
pip3 install git+https://github.com/HurricaneLabs/machinae.git
Usage
Machinae usage is very similar to Automater:
usage: machinae [-h] [-c CONFIG] [-d DELAY] [-f FILE] [--nomerge] [-o {D,J,N}] [-O {ipv4,ipv6,fqdn,email,sslfp,hash,url}] [-q] [-s SITES] targets [targets ...]
- Machinae supports a simple configuration merging system to allow you to makeadjustments to the configuration without modifying the machinae.yml we provideyou, making configuration updates a snap. This is done by finding a system-widedefault configuration (default /etc/machinae.yml), merging into that asystem-wide local configuration (/etc/machinae.local.yml) and finally aper-user local configuration (~/.machinae.yml). The system-wide configurationcan also be located in the current working directory, can be set using theMACHINAE_CONFIG environment variable, or of course by using the -c or--config command line options. Configuration merging can be disabled bypassing the --nomerge option, which will cause Machinae to only load thedefault system-wide configuration (or the one passed on the command line).
- Machinae supports a -d/--delay option, like Automater. However, Machinaeuses 0 by default.
Machinae output is controlled by two arguments:
- -o controls the output format, and can be followed by a single characterto indicated the desired type of output:
N is the default output (“Normal”)
D is the default output, but dot characters are replaced
J is JSON output
- -f/--file specifies the file where output should be written. The defaultis “-” for stdout.
- Machinae will attempt to auto-detect the type of target passed in (Machinaerefers to targets as “observables” and the type as “otype”). This detection canbe overridden with the -O/--otype option. The choices are listed in theusage
- By default, Machinae operates in verbose mode. In this mode, it will outputstatus information about the services it is querying on the console as they arequeried. This output will always be written to stdout, regardless of the outputsetting. To disable verbose mode, use -q
- By default, Machinae will run through all services in the configuration thatapply to each target’s otype and are not marked as “default: false”. To modifythis behavior, you can:
Pass a comma separated list of sites to run (use the top level key from the configuration).
Pass the special keyword all to run through all services including those marked as “default: false”
Note that in both cases, otype validation is still applied.
- Lastly, a list of targets should be passed. All arguments other than theoptions listed above will be interpreted as targets.
Out-of-the-Box Data Sources
Machinae comes with out-of-the-box support for the following data sources:
IPVoid
URLVoid
URL Unshortener (http://www.toolsvoid.com/unshorten-url)
Malc0de
SANS
Telize GeoIP
Fortinet Category (disabled by default)
VirusTotal pDNS (via web scrape)
VirusTotal pDNS (via JSON API)
VirusTotal URL Report (via JSON API)
VirusTotal File Report (via JSON API)
Reputation Authority
ThreatExpert
VxVault
ProjectHoneypot
McAfee Threat Intelligence
StopForumSpam
Cymru MHR
ICSI Certificate Notary
TotalHash (disabled by default)
DomainTools Whois (Requires API key)
DomainTools Reverse Whois (Requires API key)
IP WHOIS (Using RIR REST interfaces)
With additional data sources on the way.
Output Formats
Adding additional sites
*** COMING SOON ***
Known Issues
Some ISP’s on IPvoid contain double-encoded HTML entities, which are not double-decoded
Upcoming Features
Add IDS rule search functionality (VRT/ET)
Add “More info” link for sites
Add “dedup” option to parser settings
Add option for per-otype request settings
Add custom per-site output for error codes
Version History
Version 1.0.0 (2015-07-02)
Initial release
License Info
The MIT License (MIT)
Copyright (c) 2015 Hurricane Labs LLC
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file machinae-1.0.0.tar.gz
.
File metadata
- Download URL: machinae-1.0.0.tar.gz
- Upload date:
- Size: 14.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70b382e33814a8ff34dd6c30a5d02717328a6c94d6e494eee49f43e280b2959c |
|
MD5 | dbee42bd3698b87338ae05c6b5650a48 |
|
BLAKE2b-256 | 19da9cc6f2d07c27557149ad32fa852e652c75285eb50cd29bc3e9b40ed38eec |