Machinae: Security Intelligence Collector
Introduction
Machinae is one of the best open-source tools used to gather forensic data from public sources. It was inspired by and designed to be an upgrade of the Automater, another collecting intelligence tool that has the ability to automate the OSINT framework of an IP address.
Like its predecessor, Machinae works by tapping into mainframes and collecting the needed Intel, this can range from URLs, IPs, domain names to file hashes. After collecting data it can also carry out an in-depth analysis of the gathered information.
Machinae: Security Intelligence Collector
As an intelligence-driven information gathering tool, this intelligence collector is at a whole new level when it comes to seeking hidden or readily available information. It does not matter in which section of the system the Intel is hidden, this tool can tweak any system into giving sensitive information.
It is the best when it comes to spotting and taking advantage of system vulnerabilities, with its intelligence threat analyses, malware and malleable security scans in cybersecurity.
Features:
- Ability to specify labels for single-line multimatch JSON outputs and relative time parameters
- Upgraded to support Python 3
- Support additional output types, including JSON, while making extraneous output optional
- Ability to specify status codes to ignore per-API
- Support simple paginated responses
- Support url decoding values in results and url encoding ‘target’ in request URL
- Prepend “http://” to URL targets when not starting with http:// or https://
- “Short” output mode – simply output yes/no/error for each site
- Support JSON parsing out-of-the-box without the need to write regular expressions
- Automatically Defangs output and MISP Support (example:
machinae.yml
) - And much more…
Machinae: Out-of-the-Box Data Sources
It provides out of the box support for numerous sources, including:
- IPVoid
- URLVoid
- URL Unshortener
- Malc0de
- SANS
- FreeGeoIP (freegeoip.io)
- Fortinet Category
- VirusTotal pDNS (via web scrape – commented out)
- VxVault
- VirusTotal pDNS (via JSON API)
- VirusTotal URL Report (via JSON API)
- VirusTotal File Report (via JSON API)
- Reputation Authority
- ThreatExpert
- ProjectHoneypot
- McAfee Threat Intelligence
- StopForumSpam
- Cymru MHR
- ICSI Certificate Notary
- TotalHash (disabled by default)
- DomainTools Prsed and Reverse Whois (Requires API key)
- DomainTools Reputation
- IP WHOIS (Using RIR REST interfaces)
- Hacked IP
- Metadefender Cloud (Requires API key)
- GreyNoise (Requires API key)
- IBM XForce (Required API key)
Supported Platforms:
- Linux (Ubuntu, Debian, Linux Mint, etc.), Windows, OSX
Dependencies:
python3-dev
(Debian-based)libyaml-dev
(Debian-based)- Latest config file.
Install Machinae
Clone/Download:
$ git clone https://github.com/r3vn/badKarma.git
Use pip3
to install:
$ pip3 install machinae
You can also install it directly:
$ pip3 install git+https://github.com/HurricaneLabs/machinae.git
Configuration
machinae.yml
. Depending on your local configuration, you can simply merge system file by locating system default configuration, /etc/machinae.yml
, and merging it into local system configuration, /etc/machinae.local.yml
. Local user configuration should be performed as a final step ~/.machinae .yml
. To perform basic HTTP authentications, simply create a YAML file and fill it with the required details. This may include your username and API key or password.
Usage
Use -h
to list all available options.
usage: machinae [-h] [-c CONFIG] [--nomerge] [-d DELAY] [-f FILE] [-i INFILE] [-v] [-o {D,J,N,S}] [-O {ipv4,ipv6,fqdn,email,sslfp,hash,url}] [-q] [-s SITES] [-a AUTH] [-H HTTP_PROXY] [--dump-config | --detect-otype] ...
-c/--config and --nomerge
: additional details-d/--delay
:-o
: output formatN
: normal, default outputD
: default output but dot characters are replacedJ
: Json output
-f/--file
: write to file (default: stdout)-O/--otype
: overrides the target type auto-detection that is passed in-q
: disable verbose mode-H/--http-proxy
: passes HTTP proxy on the command lineall
: runs through all services including those marked as “default: false
“- …