Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
machinae — Collecteur automatisé de renseignements de sécurité qui interroge les flux publics et les API pour obtenir des données sur les menaces concernant les IP, domaines, URLs, hachages et empreintes SSL, avec une configuration basée sur YAML et une sortie en JSON. | Kitploit
Outils/GitHubGitHub/hurricanelabs/machinae
OSINT (Renseignement de Sources Ouvertes)Flux et Agrégateurs de MenacesCollecte d'InformationsRenseignement sur les Menaces
GitHubhurricanelabs/machinae

machinae

Collecteur automatisé de renseignements de sécurité qui interroge les flux publics et les API pour obtenir des données sur les menaces concernant les IP, domaines, URLs, hachages et empreintes SSL, avec une configuration basée sur YAML et une sortie en JSON.

Voir le dépôt
536101il y a 2 moisVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Build Status CII Best Practices Quality Gate Status

Logo Machinae

Collecteur de renseignements de sécurité Machinae

Machinae est un outil de collecte de renseignements provenant de sites/flux publics concernant divers éléments liés à la sécurité : adresses IP, noms de domaine, URL, adresses e-mail, empreintes de fichiers et empreintes SSL. Il s'inspire d'Automater, un autre excellent outil de collecte d'informations. Le projet Machinae est né du désir d'améliorer Automater dans 4 domaines :

  1. Base de code - Mettre Automater à jour vers python3 tout en rendant le code plus pythonique
  2. Configuration - Utiliser un format de configuration plus lisible par l'humain (YAML)
  3. Entrées - Prendre en charge l'analyse JSON directement sans avoir à écrire d'expressions régulières, tout en conservant la possibilité de récupérer par regex si nécessaire
  4. Sorties - Prendre en charge des types de sortie supplémentaires, dont JSON, tout en rendant les sorties superflues optionnelles

Installation

Machinae peut être installé avec pip3 :

root@kitploit:~
pip3 install machinae

Ou, si vous vous sentez aventureux, directement depuis github :

root@kitploit:~
pip3 install git+https://github.com/HurricaneLabs/machinae.git

Vous devez disposer des dépendances nécessaires sur votre système pour compiler les modules Python (sur les systèmes basés sur Debian, python3-dev), ainsi que du paquet de développement libyaml (sur les systèmes basés sur Debian, libyaml-dev).

Vous voudrez aussi récupérer le fichier de configuration le plus récent et le placer dans /etc/machinae.yml.

Fichier de configuration

Machinae prend en charge un système simple de fusion de configuration pour vous permettre d'ajuster la configuration sans modifier le fichier machinae.yml fourni, ce qui simplifie les mises à jour de configuration. Cela fonctionne en trouvant une configuration par défaut à l'échelle du système (par défaut /etc/machinae.yml), en fusionnant avec une configuration locale système (/etc/machinae.local.yml) et enfin une configuration locale par utilisateur (~/.machinae.yml). La configuration système peut également être située dans le répertoire de travail courant, être définie via la variable d'environnement MACHINAE_CONFIG, ou bien sûr en utilisant les options de ligne de commande -c ou --config. La fusion de configuration peut être désactivée avec l'option --nomerge, ce qui fait que Machinae ne charge que la configuration système par défaut (ou celle passée en ligne de commande).

Par exemple, supposons que vous souhaitiez activer le site Fortinet Category, qui est désactivé par défaut. Vous pourriez modifier /etc/machinae.yml, mais ces modifications seraient écrasées lors d'une mise à jour. Au lieu de cela, vous pouvez placer ce qui suit dans /etc/machinae.local.yml ou ~/.machinae.yml :

root@kitploit:~
fortinet_classify:
  default: true

Ou, inversement, pour désactiver un site, comme Virus Total pDNS :

root@kitploit:~
vt_ip:
  default: false
vt_domain:
  default: false

Utilisation

L'utilisation de Machinae est très similaire à Automater :

root@kitploit:~
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]
            ...
  • Voir ci-dessus pour les détails des options -c/--config et --nomerge.

  • Machinae prend en charge une option -d/--delay, comme Automater. Cependant, Machinae utilise 0 par défaut.

  • La sortie de Machinae est contrôlée par deux arguments :

    • -o contrôle le format de sortie et peut être suivi d'un seul caractère pour indiquer le type de sortie souhaité :
      • N est la sortie par défaut (« Normale »)
      • D est la sortie par défaut, mais les points sont remplacés
      • J est la sortie JSON
    • -f/--file spécifie le fichier où la sortie doit être écrite. La valeur par défaut est "-" pour la sortie standard.
  • Machinae tente de détecter automatiquement le type de cible passé (Machinae appelle les cibles des « observables » et le type, « otype »). Cette détection peut être remplacée avec l'option -O/--otype. Les choix sont listés dans l'utilisation.

  • Par défaut, Machinae fonctionne en mode verbeux. Dans ce mode, il affiche les informations d'état sur les services qu'il interroge sur la console au fur et à mesure de l'interrogation. Cette sortie est toujours écrite sur la sortie standard, quel que soit le paramètre de sortie. Pour désactiver le mode verbeux, utilisez .

Sources de données prêtes à l'emploi

Machinae est livré avec la prise en charge prête à l'emploi des sources de données suivantes :

  • IPVoid
  • URLVoid
  • URL Unshortener (http://www.toolsvoid.com/unshorten-url)
  • Malc0de
  • SANS
  • FreeGeoIP (freegeoip.io)
  • Fortinet Category
  • VirusTotal pDNS (via web scraping - commenté)
  • 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 (désactivé par défaut)
  • DomainTools Parsed Whois (nécessite une clé API)
  • DomainTools Reverse Whois (nécessite une clé API)
  • DomainTools Reputation
  • IP WHOIS (via interfaces REST RIR)
  • Hacked IP
  • Metadefender Cloud (nécessite une clé API)
  • GreyNoise (nécessite une clé API)
  • IBM XForce (nécessite une clé API)

Avec d'autres sources de données à venir.

Authentification HTTP Basic et configuration

Machinae prend en charge l'authentification HTTP Basic pour les sites qui l'exigent via l'option --auth/-a. Vous devrez créer un fichier YAML avec vos identifiants, qui contiendra une clé pour le site nécessitant les identifiants et une liste de deux éléments, nom d'utilisateur et mot de passe ou clé API. Par exemple, pour le site PassiveTotal inclus, cela pourrait ressembler à :

root@kitploit:~
passivetotal: ['[email protected]', 'my_api_key']

Dans la configuration du site sous request, vous verrez une clé telle que :

root@kitploit:~
json:
  request:
    url: '...'
    auth: passivetotal

Le auth: passivetotal pointe vers la clé dans la configuration d'authentification passée via la ligne de commande.

Désactivé par défaut

Les sites suivants sont désactivés par défaut

  • Fortinet Category (fortinet_classify)
  • Telize Geo IP (telize)
  • TotalHash (totalhash_ip)
  • DomainTools Parsed Whois (domaintools_parsed_whois)
  • DomainTools Reverse Whois (domaintools_reverse_whois)
  • DomainTools Reputation (domaintools_reputation)
  • PassiveTotal Passive DNS (passivetotal_pdns)
  • PassiveTotal Whois (passivetotal_whois)
  • PassiveTotal SSL Certificate History (passivetotal_sslcert)
  • PassiveTotal Host Attribute Components (passivetotal_components)
  • PassiveTotal Host Attribute Trackers (passivetotal_trackers)
  • MaxMind GeoIP2 Passive Insight (maxmind)

Formats de sortie

Machinae est livré avec un ensemble limité de formats de sortie : normale, normale avec échappement des points, et JSON. Nous prévoyons d'ajouter d'autres formats de sortie à l'avenir.

Ajout de sites supplémentaires

*** PROCHAINEMENT ***

Problèmes connus

  • Certains fournisseurs d'accès sur IPvoid contiennent des entités HTML doublement encodées, qui ne sont pas doublement décodées

Fonctionnalités à venir

  • Ajouter une fonctionnalité de recherche de règles IDS (VRT/ET)
  • Ajouter un lien « Plus d'infos » pour les sites
  • Ajouter une option « dedup » dans les paramètres d'analyse
  • Ajouter une option pour les paramètres de requête par otype
  • Ajouter une sortie personnalisée par site pour les codes d'erreur

Historique des versions

Version 1.4.9 (2020-11-25)

  • Correction d'un bug dans le traitement as_time JSON lorsque l'heure est une heure epoch, mais de type str

Version 1.4.1 (2018-08-31)

  • Nouvelles fonctionnalités
    • Sortie automatiquement désactivée (defanged)
    • Prise en charge MISP (exemple ajouté à machinae.yml)

Version 1.4.0 (2016-04-20)

  • Nouvelles fonctionnalités
    • Option "-a"/"--auth" pour passer un fichier de configuration d'authentification
      • Merci à johannestaas pour la soumission
    • Option "-H"/"--http-proxy" et prise en charge des variables d'environnement pour les proxys HTTP
  • Nouveaux sites
    • Passivetotal (diverses formes, merci johannestaas)
    • MaxMind
    • FraudGuard
    • Shodan
  • Sites mis à jour
    • FreeGeoIP (remplacement de freegeoip.net par freegeoip.io)

Version 1.3.4 (2016-04-01)

  • Corrections de bugs
    • Conversion des exceptions en str lors de la sortie vers JSON
      • Devrait réellement fermer le #14

Version 1.3.3 (2016-03-28)

  • Corrections de bugs
    • Gestion correcte des résultats d'erreur lors de la sortie vers JSON
      • Ferme le #14
      • Merci à Den1al pour le rapport de bug

Version 1.3.2 (2016-03-10)

  • Nouvelles fonctionnalités
    • Mode de sortie « Court » - affiche simplement oui/non/erreur pour chaque site
    • Option "-i"/"--infile" pour passer un fichier contenant une liste de cibles

Version 1.3.1 (2016-03-08)

  • Nouvelles fonctionnalités
    • Ajout de "http://" au début des cibles URL lorsqu'elles ne commencent pas par http:// ou https://

Version 1.3.0 (2016-03-07)

  • Nouveaux sites
    • Cymon.io - Agrégateur/suivi de renseignements sur les menaces par eSentire
  • Nouvelles fonctionnalités
    • Prise en charge des réponses paginées simples
    • Prise en charge de l'encodage url de la 'cible' dans l'URL de la requête
    • Prise en charge du décodage url des valeurs dans les résultats

Version 1.2.0 (2016-02-16)

  • Nouvelles fonctionnalités
    • Prise en charge des sites renvoyant plusieurs documents JSON
    • Possibilité de spécifier le format d'heure pour les paramètres de temps relatif
    • Possibilité d'analyser les horodatages Unix dans les résultats et de les afficher au format ISO-8601
    • Possibilité de spécifier les codes d'état à ignorer par API
  • Nouveaux sites
    • DNSDB - Base de données DNS passives FarSight Security (premium)

Version 1.1.2 (2015-11-26)

  • Nouveaux sites
    • Telize (premium) - Site GeoIP (premium)
    • Freegeoip - Site GeoIP (gratuit)
    • CIF - Prise en charge de l'API CIFv2, de csirtgadgets.org
  • Nouvelles fonctionnalités
    • Possibilité de spécifier des étiquettes pour les sorties JSON à correspondance multiple sur une seule ligne
    • Possibilité de spécifier des paramètres de temps relatif avec la bibliothèque relatime

Version 1.0.1 (2015-10-13)

  • Correction d'un bug de faux positif avec Spamhaus (Github#10)

Version 1.0.0 (2015-07-02)

  • Première version

Informations sur la licence

The MIT License (MIT)

Copyright (c) 2015 Hurricane Labs LLC

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Télécharger l’outil
-q
  • Par défaut, Machinae parcourt tous les services de la configuration qui s'appliquent à l'otype de chaque cible et qui ne sont pas marqués comme « default: false ». Pour modifier ce comportement, vous pouvez :

    • Passer une liste de sites séparés par des virgules à exécuter (utilisez la clé de premier niveau de la configuration).
    • Passer le mot-clé spécial all pour parcourir tous les services, y compris ceux marqués comme « default: false ».

    Notez que dans les deux cas, la validation de l'otype est toujours appliquée.

  • Machinae prend en charge le passage d'un proxy HTTP en ligne de commande via l'argument -H/--http-proxy. Si aucun proxy n'est spécifié, machinae recherche les variables d'environnement standard HTTP_PROXY et HTTPS_PROXY, ainsi que les variables moins standard http_proxy et https_proxy.

  • Enfin, une liste de cibles doit être passée. Tous les arguments autres que les options listées ci-dessus seront interprétés comme des cibles.

  • FraudGuard (fraudguard)
  • Shodan (shodan)
  • Hacked IP
  • Metadefender Cloud (nécessite une clé API)
  • GreyNoise (nécessite une clé API)
  • IBM XForce (nécessite une clé API)