
metabigor v2.2.0
Outil de reconnaissance OSINT pour la découverte de réseau, l'énumération de sous-domaines, l'enrichissement d'adresses IP et la détection de secrets via les journaux de certificats, Shodan et la recherche de code GitHub—le tout sans clés API.
Metabigor - La puissance de l'OSINT sans les tracas des clés API
Qu'est-ce que Metabigor ?
Metabigor cartographie l'infrastructure d'une cible sans vous demander de créer la moindre clé API. Plages réseau, certificats, domaines liés, ports exposés, fournisseurs CDN et fuites de code - le tout issu de sources gratuites, le tout chaînable entre eux.
Fonctionnalités
- Découverte réseau - trouver les plages IP (CIDR) à partir d'un ASN, d'une organisation, d'un domaine ou d'une IP
- Transparence des certificats - découvrir des sous-domaines via crt.sh
- Enrichissement IP - ports, noms d'hôtes et CVE via Shodan InternetDB (gratuit, sans clé)
- Recherche de code GitHub - trouver des secrets, identifiants et sous-domaines dans les dépôts publics via grep.app
- Regroupement d'IP - regrouper les IP par ASN pour cartographier l'infrastructure
- Domaines liés - pivoter via les journaux de certificats, le WHOIS inversé et les identifiants d'analytics
- Détection CDN/WAF - séparer les adresses protégées des origines candidates
- Collecte d'URL - toutes les URL vues par les archives web, y compris les endpoints extraits des WARC
Installation
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
Les deux fournissent le même binaire précompilé pour votre plateforme - aucune chaîne d'outils Go n'est nécessaire.
Ou compilez depuis les sources :
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
Ou téléchargez un binaire depuis la page des releases.
Le tour en 30 secondes
metabigor net AS13335 # network ranges behind an ASN
metabigor cert hackerone.com # subdomains from certificate logs
metabigor ip 1.1.1.1 # open ports and CVEs for an IP
metabigor related tesla.com # other domains the target owns
metabigor cdn --exclude -I ips.txt # candidate origin servers
Comment fonctionne chaque commande
Les mêmes conventions s'appliquent partout : une fois que vous maîtrisez une commande, vous les connaissez toutes.
Quatre façons de fournir des cibles
metabigor cert example.com # as an argument
metabigor cert example.com tesla.com # several arguments
metabigor cert -i example.com # with -i
metabigor cert -I domains.txt # from a file, one per line (# comments are ignored)
cat domains.txt | metabigor cert # on stdin
Elles se combinent, et la liste fusionnée est dédupliquée :
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
Les arguments constituent le chemin le plus court et fonctionnent sur chaque commande. Utilisez -i
lorsque la cible ressemblerait sinon à une option, ou lorsqu'un script construit la commande à votre place :
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
Stdin n'est lu que lorsqu'aucune cible n'a été fournie d'une autre manière : metabigor net AS13335 ne bloque
donc jamais en attendant une entrée dans un script ou un job CI.
Une seule option pour le format de sortie
-f/--format fonctionne sur toutes les commandes :
| Format | Ce que vous obtenez | Utilisation |
|---|---|---|
text (par défaut) | Colonnes lisibles | Lecture dans un terminal |
flat | La valeur primaire brute | Envoi vers d'autres outils via pipe |
json | Un objet JSON par ligne | jq, automatisation |
csv | Lignes sous un en-tête | Feuilles de calcul, rapports |
metabigor ip 1.1.1.0/28 # 1.1.1.1 | 80,443 | one.one.one.one
metabigor ip 1.1.1.0/28 -f flat # 1.1.1.1:80
metabigor ip 1.1.1.0/28 -f json # {"ip":"1.1.1.1","ports":[80,443],...}
metabigor ip 1.1.1.0/28 -f csv -o ports.csv
Les résultats vont toujours sur stdout et les journaux toujours sur stderr, ce qui garde les pipes propres quel que soit
le niveau de journalisation. -o écrit aussi les résultats dans un fichier, en l'écrasant sauf si vous passez --append.
Le fichier n'est réécrit qu'à partir du moment où il y a un résultat à écrire : un lancement qui échoue ou ne trouve rien
laisse donc les résultats précédents intacts.
Les commandes s'enchaînent
metabigor net AS13335 -f flat | metabigor ip -f flat
metabigor related tesla.com -f flat | metabigor cert
cat domains.txt | dnsx -silent -resp-only | metabigor cdn --exclude
Commandes
net - Découverte réseau
Trouve les CIDR derrière un ASN, une IP, un domaine ou une organisation. Utilise la base de données hors ligne fournie.
metabigor net AS13335 # every CIDR announced by an ASN
metabigor net 1.1.1.1 --detail # which ASN owns this IP
metabigor net --org Cloudflare # search by company name
metabigor net --live tesla.com # query live sources instead of the local DB
metabigor net -I asn-list.txt -f csv -o ranges.csv
Le type de cible est détecté automatiquement. Remplacez-le avec --asn, --ip, --domain ou --org
(mutuellement exclusifs). --detail ajoute les colonnes ASN, organisation et pays.
cert - Transparence des certificats
metabigor cert hackerone.com # one domain per line
metabigor cert "HackerOne Inc" # search by organization
metabigor cert example.com --clean # strip the *. from wildcards
metabigor cert example.com --wildcard # only wildcard entries
metabigor cert example.com --detail # cert IDs, issuers, validity dates
metabigor cert tesla.com | dnsx -silent
ip - Enrichissement IP (Shodan InternetDB)
metabigor ip 1.1.1.1 # ports, hostnames, CVEs
metabigor ip 1.1.1.0/28 # CIDRs expand to hosts
metabigor ip 1.1.1.0/28 -f flat # IP:PORT pairs
metabigor ip -I ips.txt -c 30 -f csv -o ports.csv
Les IP qu'InternetDB ne connaît pas sont ignorées ; passez --all pour les conserver.
github - Recherche de code (grep.app)
metabigor github hackerone.com # repo and path per match
metabigor github tesla.com --subs # only subdomains found in matches
metabigor github "api_key=" --detail # show the matching code
metabigor github AKIA --pages 3 --detail
Nécessite Chrome ou Chromium - grep.app répond aux clients HTTP simples par un défi anti-bot.
Les recherches s'exécutent une à la fois, indépendamment de -c, pour respecter la limite de débit de grep.app.
cluster - Regroupement d'IP
Regroupe les IP par ASN propriétaire, du plus grand groupe au plus petit. Accepte les IP ou les CIDR. Fonctionne hors ligne.
cat ips.txt | metabigor cluster
metabigor cluster -I ips.txt -f csv -o clusters.csv
cat domains.txt | dnsx -silent -resp-only | metabigor cluster
related - Découverte de domaines liés
metabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
Sources : crt (crt.sh), whois (WHOIS inversé de viewdns.info), analytics (identifiants Google
Analytics / Tag Manager partagés) ou all. Les résultats sont dédupliqués entre les sources et étiquetés
avec la source qui les a trouvés en premier.
url - Collecte d'URL depuis les archives web
metabigor url hackerone.com # every keyless source, subdomains included
metabigor url blog.hackerone.com --no-subs # one hostname only
metabigor url hackerone.com/reports # scope to a path prefix
metabigor url tesla.com --sources wayback,urlscan
metabigor url tesla.com --keywords '\.js(\?|$)' # JavaScript only
metabigor url tesla.com --blacklist default --no-params
metabigor url tesla.com -f flat | httpx
Sources : wayback, commoncrawl, otx, urlscan, ghostarchive, plus virustotal et
intelx lorsque leurs clés sont définies. Les cinq sources sans clé s'exécutent par défaut ; les deux sources
authentifiées rejoignent automatiquement lorsque VT_API_KEY / INTELX_API_KEY sont présentes dans
l'environnement, et URLSCAN_API_KEY augmente la taille de page d'urlscan. Nommer une source authentifiée
sans sa clé provoque une erreur plutôt qu'un ignoré silencieux.
Les sous-domaines sont inclus par défaut - la requête est *.target, pas target. C'est le plus gros
levier sur ce qu'une exécution retourne ; --no-subs réduit la portée.
GhostArchive est exploité, pas seulement listé. Chaque page archivée possède aussi un WARC brut, et un WARC
enregistre chaque sous-requête que le navigateur a faite en capturant la page - appels XHR, endpoints JSON,
URL de scripts construites dynamiquement. Rien de tout cela n'apparaît dans un index CDX, qui n'indexe que les
captures de l'URL de la page elle-même. Lors des tests, 8 requêtes sur tesla.com ont renvoyé 147 URL, dont
des endpoints JSON d'API en production. Contenez le coût avec --limit-requests.
Les filtres sont désactivés par défaut, donc rien n'est supprimé sans demande. --match-status / --filter-status,
--match-mime / --filter-mime, --from / --to et --keywords sont poussés côté serveur dans les API de
Wayback et Common Crawl puis revérifiés localement ; --blacklist et --no-params sont locaux. --limit-requests
plafonne les requêtes par source et --limit-collections définit la profondeur de recherche dans les ~126
collections d'index de Common Crawl (0 pour toutes, jusqu'en 2008).
cdn - Détection CDN/WAF
metabigor cdn 1.1.1.1 # vendor and type
cat ips.txt | metabigor cdn --exclude # candidate origins
cat ips.txt | metabigor cdn --only # only protected addresses
update - Actualiser les bases de données locales
metabigor update
Actualise les bases de données IP-vers-ASN et IP-vers-pays dans ~/.metabigor. Une copie est fournie avec le
binaire et se déploie à la première utilisation, donc cette commande n'est nécessaire que pour récupérer des
données de routage plus récentes.
skills - Compétences pour agents de codage
Metabigor fournit une compétence agentskills.io qui apprend à un agent d'IA de codage (Claude Code, Codex, ou tout agent compatible) comment piloter la CLI. La compétence est intégrée au binaire, elle correspond donc toujours à la version que vous avez installée.
metabigor skills # list the bundled skills
metabigor skills get metabigor --full # print the skill and its references
metabigor skills install # install into .claude/skills (this project)
metabigor skills install --scope global # install into ~/.claude/skills
metabigor skills install --agent agents # install into .agents/skills for Codex
metabigor skills install --dir ./skills # install into a directory you choose
get imprime le Markdown brut sur stdout (passez-le dans un pipe, ou utilisez -o pour l'enregistrer).
install copie l'ensemble du paquet - SKILL.md et son dossier references/ - et ignore une copie existante
sauf si vous passez --force. Une fois installée, l'agent déclenche automatiquement la compétence dès que vous
mentionnez metabigor.
Options globales
-i, --input string Target to look up (also accepts arguments or stdin)
-I, --input-file string File of targets, one per line (use - for stdin)
-o, --output string Also write results to this file
-f, --format string Output format: text, json, csv, flat (default "text")
--append Append to the output file instead of overwriting it
-c, --concurrency int Number of parallel workers (default 10)
-t, --timeout int Request timeout in seconds (default 40)
--retry int Retries per failed request (default 3)
--proxy string Upstream proxy, e.g. http://127.0.0.1:8080
-v, --verbose Show step-by-step progress
-q, --quiet Show results and errors only
--debug Show HTTP traffic and internal traces (implies --verbose)
--no-color Disable colored log output
Metabigor se termine avec un code non nul en cas d'échec, il se compose donc avec &&, set -e et
les environnements CI.
Migration depuis v2
v3 renomme les options et commandes par souci de cohérence. Il n'y a pas d'alias - mettez à jour vos scripts.
| v2 | v3 | Pourquoi |
|---|---|---|
metabigor ipc | metabigor cluster | ipc était impossible à deviner |
-I, --inputFile | -I, --input-file | le camelCase n'est pas une convention CLI |
-q, --silent | -q, --quiet | -q doit correspondre à sa forme longue |
--json | -f json | une seule option contrôle le format de sortie |
ip --csv / ip --flat | -f csv / -f flat | identique |
cert --simple | (désormais le comportement par défaut) | --detail active le bloc détaillé |
net --dynamic | net --live | langage clair |
cdn --strip-cdn | cdn --exclude | s'associe à la nouvelle option --only |
related -s ua / -s gtm | --sources analytics | les deux faisaient la même chose |
related -s | -s, --sources | accepte désormais une véritable liste |
github (sous-domaines par défaut) | github --subs | la forme de sortie ne dépend plus des résultats |
Changements de comportement à connaître :
- La sortie de progression est silencieuse par défaut. Les lignes
[verbose]nécessitent désormais-v. -oécrase au lieu de concaténer silencieusement. Utilisez--appendpour l'ancien comportement.ipaffiche un texte lisible, pas du JSON brut. Utilisez-f jsonpour le JSON.certaffiche une simple liste de domaines. Utilisez--detailpour la vue groupée des certificats.netsur un CIDR indique le réseau propriétaire au lieu de l'étendre à chaque hôte.- Les erreurs provoquent une sortie avec le code 1. Auparavant, chaque échec se terminait quand même par 0.
metabigor updateactualise les deux bases de données. Il ignorait auparavant la base des pays.
Intégrer Metabigor sans douleur dans votre workflow de reconnaissance ?
Ce projet faisait partie d'Osmedeus Engine. Découvrez comment il a été intégré sur @OsmedeusEngine
Crédits
📊 Sources de données
- Base de données locale - correspondances IP-vers-ASN et IP-vers-pays (2M+ entrées)
- crt.sh - journaux de transparence des certificats
- Shodan InternetDB - API gratuite d'enrichissement IP
- grep.app - recherche de code GitHub
- bgp.he.net - données de routage BGP en direct
- viewdns.info - recherches WHOIS inversées
- builtwith.com - corrélation de suivi analytics
- projectdiscovery/cdncheck - bibliothèque de détection CDN/WAF
- web.archive.org - index CDX de la Wayback Machine
- index.commoncrawl.org - index CDX de Common Crawl
- otx.alienvault.com - listes d'URL AlienVault OTX
- urlscan.io - recherche dans l'historique des scans
- ghostarchive.org - pages archivées et leurs fichiers WARC
- virustotal.com - relations entre domaines (clé API facultative)
- intelx.io - annuaire Intelligence X (clé API facultative)
Avertissement
Cet outil est uniquement à des fins éducatives. Vous êtes responsable de vos propres actions. Si vous cassez quelque chose ou enfreignez des lois en utilisant ce logiciel, c'est votre faute, et uniquement votre faute.
Licence
Metabigor est fait avec ♥ par @j3ssie et est publié sous licence MIT.

