
Automatisierter Sicherheitsintelligenz-Sammler, der öffentliche Feeds und APIs nach Bedrohungsdaten zu IPs, Domains, URLs, Hashes und SSL-Fingerabdrücken abfragt, mit YAML-basierter Konfiguration und JSON-Ausgabe.

Machinae ist ein Werkzeug zum Sammeln von Informationen von öffentlichen Webseiten/Feeds über verschiedene sicherheitsrelevante Daten: IP-Adressen, Domainnamen, URLs, E-Mail-Adressen, Datei-Hashes und SSL-Fingerabdrücke. Es wurde von Automater inspiriert, einem weiteren hervorragenden Tool zur Datensammlung. Das Machinae-Projekt entstand aus dem Wunsch, Automater in vier Bereichen zu verbessern:
Machinae kann mit pip3 installiert werden:
pip3 install machinae
Oder, wenn Sie abenteuerlustig sind, direkt von GitHub:
pip3 install git+https://github.com/HurricaneLabs/machinae.git
Sie müssen die für Ihr System erforderlichen Abhängigkeiten installieren, um
Python-Module kompilieren zu können (auf Debian-basierten Systemen
python3-dev), sowie das libyaml-Entwicklungspaket (auf Debian-basierten
Systemen libyaml-dev).
Sie sollten auch die aktuellste Konfigurationsdatei herunterladen und unter
/etc/machinae.yml ablegen.
Machinae unterstützt ein einfaches Konfigurationszusammenführungssystem, mit dem
Sie Anpassungen vornehmen können, ohne die mitgelieferte machinae.yml zu
ändern – das macht Konfigurationsaktualisierungen zum Kinderspiel. Dazu wird eine
systemweite Standardkonfiguration (standardmäßig /etc/machinae.yml) geladen, mit
einer systemweiten lokalen Konfiguration (/etc/machinae.local.yml) und schließlich
einer benutzerspezifischen Konfiguration (~/.machinae.yml) zusammengeführt. Die
systemweite Konfiguration kann auch im aktuellen Arbeitsverzeichnis liegen, über die
Umgebungsvariable MACHINAE_CONFIG gesetzt oder natürlich mit der
Kommandozeilenoption -c bzw. --config angegeben werden. Die Zusammenführung kann
mit der Option --nomerge deaktiviert werden, wodurch Machinae nur die systemweite
Standardkonfiguration (oder die über die Kommandozeile übergebene) lädt.
Als Beispiel: Angenommen, Sie möchten die Fortinet-Kategorieseite aktivieren, die
standardmäßig deaktiviert ist. Sie könnten /etc/machinae.yml ändern, aber diese
Änderungen würden bei einem Update überschrieben. Stattdessen können Sie Folgendes
in /etc/machinae.local.yml oder ~/.machinae.yml einfügen:
fortinet_classify:
default: true
Oder umgekehrt, um eine Seite zu deaktivieren, z. B. VirusTotal pDNS:
vt_ip:
default: false
vt_domain:
default: false
Die Verwendung von Machinae ähnelt stark der von Automater:
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]
...
Einzelheiten zu den Optionen -c/--config und --nomerge finden Sie oben.
Machinae unterstützt eine -d/--delay-Option wie Automater. Allerdings verwendet
Machinae standardmäßig den Wert 0.
Die Ausgabe von Machinae wird durch zwei Argumente gesteuert:
-o steuert das Ausgabeformat. Es folgt ein einzelner Buchstabe, der die
gewünschte Ausgabeart angibt:
-f/--file gibt die Datei an, in die die Ausgabe geschrieben werden soll.
Standard ist "-" für die Standardausgabe.Machinae versucht, den Typ des übergebenen Ziels automatisch zu erkennen (Machinae
bezeichnet Ziele als "Observables" und den Typ als "Otype"). Diese Erkennung kann
mit der Option -O/--otype überschrieben werden. Die Auswahlmöglichkeiten sind
in der Verwendung aufgelistet.
Standardmäßig arbeitet Machinae im ausführlichen Modus. In diesem Modus werden Statusinformationen über die abgefragten Dienste auf der Konsole ausgegeben, während sie abgefragt werden. Diese Ausgabe wird immer auf die Standardausgabe geschrieben, unabhängig von der Ausgabeeinstellung. Um den ausführlichen Modus zu deaktivieren, verwenden Sie .
Machinae bietet von Haus aus Unterstützung für die folgenden Datenquellen:
Weitere Datenquellen sind in Planung.
Machinae unterstützt HTTP-Basisauthentifizierung für Seiten, die dies erfordern,
über das Flag --auth/-a. Sie müssen eine YAML-Datei mit Ihren Anmeldedaten
erstellen, die einen Schlüssel für die Seite, die die Anmeldedaten benötigt, sowie
eine Liste mit zwei Einträgen (Benutzername und Passwort oder API-Schlüssel) enthält.
Für die enthaltene PassiveTotal-Seite könnte das beispielsweise so aussehen:
passivetotal: ['[email protected]', 'my_api_key']
In der Seitenkonfiguration unter request finden Sie einen Schlüssel wie:
json:
request:
url: '...'
auth: passivetotal
Der Eintrag auth: passivetotal verweist auf den Schlüssel in der
Authentifizierungskonfiguration, die über die Kommandozeile übergeben wird.
Die folgenden Seiten sind standardmäßig deaktiviert:
fortinet_classify)telize)totalhash_ip)domaintools_parsed_whois)domaintools_reverse_whois)domaintools_reputation)passivetotal_pdns)passivetotal_whois)passivetotal_sslcert)passivetotal_components)passivetotal_trackers)maxmind)Machinae bietet eine begrenzte Auswahl an Ausgabeformaten: normal, normal mit Punkt-Escaping und JSON. Wir planen, in Zukunft weitere Ausgabeformate hinzuzufügen.
*** KOMMT BALD ***
Die MIT-Lizenz (MIT)
Copyright (c) 2015 Hurricane Labs LLC
Hiermit wird jeder Person, die eine Kopie dieser Software und der zugehörigen Dokumentationsdateien (die "Software") erhält, kostenlos die Erlaubnis erteilt, die Software ohne Einschränkung zu nutzen, einschließlich und ohne Einschränkung der Rechte zur Nutzung, Vervielfältigung, Änderung, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und/oder zum Verkauf von Kopien der Software, und Personen, denen die Software zur Verfügung gestellt wird, dies unter den folgenden Bedingungen zu gestatten:
Der obige Urheberrechtshinweis und dieser Genehmigungshinweis müssen in allen Kopien oder wesentlichen Teilen der Software enthalten sein.
DIE SOFTWARE WIRD "WIE BESEHEN" ZUR VERFÜGUNG GESTELLT, OHNE JEGLICHE GEWÄHRLEISTUNG, AUSDRÜCKLICH ODER IMPLIZIERT, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF DIE GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER. IN KEINEM FALL HAFTEN DIE AUTOREN ODER URHEBERRECHTSINHABER FÜR JEGLICHE ANSPRÜCHE, SCHÄDEN ODER SONSTIGE HAFTUNG, OB AUS VERTRAG, UNERLAUBTER HANDLUNG ODER ANDERWEITIG, DIE AUS DER SOFTWARE ODER DER NUTZUNG DER SOFTWARE ODER ANDEREN GESCHÄFTEN IM ZUSAMMENHANG MIT DER SOFTWARE ENTSTEHEN.
-qStandardmäßig durchläuft Machinae alle Dienste in der Konfiguration, die auf den Otype jedes Ziels zutreffen und nicht als "default: false" markiert sind. Um dieses Verhalten zu ändern, können Sie:
all übergeben, um alle Dienste zu durchlaufen,
einschließlich derer, die als "default: false" markiert sind.Beachten Sie, dass in beiden Fällen die Otype-Validierung weiterhin angewendet wird.
Machinae unterstützt die Übergabe eines HTTP-Proxys über die Kommandozeile mit dem
Argument -H/--http-proxy. Wenn kein Proxy angegeben wird, sucht Machinae in den
Standard-Umgebungsvariablen HTTP_PROXY und HTTPS_PROXY sowie in den weniger
standardisierten Variablen http_proxy und https_proxy.
Schließlich sollte eine Liste von Zielen übergeben werden. Alle Argumente außer den oben aufgeführten Optionen werden als Ziele interpretiert.
fraudguard)shodan)