
Strumento di ricognizione OSINT per la scoperta di rete, enumerazione dei sottodomini, arricchimento degli IP e rilevamento di segreti tramite log dei certificati, Shodan e ricerca del codice su GitHub—tutto senza chiavi API.
Metabigor - potenza OSINT senza il fastidio delle chiavi API
Metabigor mappa l'infrastruttura di un target senza chiederti di registrarti per una qualsiasi chiave API. Intervalli di rete, certificati, domini correlati, porte esposte, vendor CDN e fughe di codice: tutto da fonti gratuite, tutto componibile in pipe tra loro.
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
Entrambi includono lo stesso binario precompilato per la tua piattaforma: non serve il toolchain Go.
Oppure compila dai sorgenti:
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
Oppure scarica un binario dalla pagina delle release.
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
Le stesse convenzioni valgono ovunque, quindi una volta imparato un comando li conosci tutti.
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
Si combinano e la lista risultante viene deduplicata:
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
Gli argomenti sono la via più diretta e funzionano su ogni comando. Ricorri a -i quando il target
sembrerebbe altrimenti un flag, o quando uno script costruisce il comando per te:
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
Lo stdin viene letto solo quando il target non è stato fornito in nessun altro modo, quindi metabigor net AS13335 non si blocca mai in attesa di input dentro uno script o un job CI.
-f/--format funziona su ogni comando:
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
I risultati vanno sempre su stdout e i log sempre su stderr, così le pipe restano pulite a qualsiasi livello di log. -o scrive i risultati anche su un file, sovrascrivendolo a meno che non passi --append. Il file viene riscritto solo quando c'è un risultato da scrivere, quindi un'esecuzione che fallisce o non trova nulla lascia intatti i risultati precedenti.
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
net - Scoperta di reteTrova i CIDR dietro un ASN, IP, dominio o organizzazione. Usa il database offline incluso.
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
Il tipo di target viene rilevato automaticamente. Sostituiscilo con --asn, --ip, --domain o --org (mutuamente esclusivi). --detail aggiunge le colonne ASN, organizzazione e paese.
cert - Trasparenza dei certificatimetabigor 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 - Arricchimento 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
Gli IP di cui InternetDB non sa nulla vengono saltati; passa --all per conservarli.
github - Ricerca codice (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
Richiede Chrome o Chromium: grep.app risponde ai client HTTP semplici con una sfida anti-bot. Le ricerche vengono eseguite una alla volta indipendentemente da -c, per rispettare il rate limit di grep.app.
cluster - Clustering IPRaggruppa gli IP in base all'ASN che li possiede, dal cluster più grande in giù. Accetta IP o CIDR. Funziona offline.
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 - Scoperta domini correlatimetabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
Fonti: crt (crt.sh), whois (reverse WHOIS di viewdns.info), analytics (ID condivisi di Google Analytics / Tag Manager) o all. I risultati vengono deduplicati tra le fonti ed etichettati con la fonte che li ha trovati per prima.
url - Raccolta URL dagli archivi webmetabigor 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
Fonti: wayback, commoncrawl, otx, urlscan, ghostarchive, più virustotal e intelx quando le relative chiavi sono impostate. Le cinque fonti senza chiave vengono eseguite di default; le due con credenziali si aggiungono automaticamente quando VT_API_KEY / INTELX_API_KEY sono presenti nell'ambiente, e URLSCAN_API_KEY aumenta la dimensione di pagina di urlscan. Nominare una fonte con credenziali senza la sua chiave è un errore, non un salto silenzioso.
I sottodomini sono inclusi di default - la query è *.target, non target. Questa è la leva più importante su quanto restituisce un'esecuzione; --no-subs la restringe.
GhostArchive viene estratto, non solo elencato. Ogni pagina archiviata ha anche un WARC grezzo, e un WARC registra ogni sotto-richiesta fatta dal browser durante la cattura della pagina: chiamate XHR, endpoint JSON, URL di script costruiti dinamicamente. Niente di tutto ciò appare in un indice CDX, che indicizza solo le catture dell'URL della pagina stessa. Nei test, 8 richieste verso tesla.com hanno restituito 147 URL, inclusi endpoint JSON API live. Contieni il costo con --limit-requests.
I filtri sono disattivati di default, così nulla viene scartato senza richiesta. --match-status / --filter-status, --match-mime / --filter-mime, --from / --to e --keywords vengono passati alle API di Wayback e Common Crawl lato server e ricontrollati localmente; --blacklist e --no-params sono locali. --limit-requests limita le richieste per fonte e --limit-collections definisce quanto in profondità cercare nelle ~126 collezioni di indici di Common Crawl (0 per tutte, fino al 2008).
cdn - Rilevamento CDN/WAFmetabigor 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 - Aggiorna i database localimetabigor update
Aggiorna sia il database IP-ASN sia quello IP-paese in ~/.metabigor. Una copia è inclusa nel binario e viene estratta al primo utilizzo, quindi serve solo per ricevere dati di routing più recenti.
skills - Skill per agenti di codingMetabigor include una skill agentskills.io che insegna a un agente di coding AI (Claude Code, Codex o qualsiasi agente compatibile) come usare la CLI. La skill è incorporata nel binario, quindi corrisponde sempre alla versione che hai installato.
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 stampa il Markdown grezzo su stdout (passalo in pipe oppure usa -o per salvarlo). install copia l'intero bundle - SKILL.md più la sua references/ - e salta una copia esistente a meno che non passi --force. Una volta installata, l'agente attiva automaticamente la skill ogni volta che menzioni metabigor.
-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 esce con codice non zero in caso di errore, quindi si combina bene con &&, set -e e CI.
La v3 rinomina flag e comandi per coerenza. Non ci sono alias: aggiorna i tuoi script.
Cambi di comportamento da conoscere:
[verbose] ora richiedono -v.-o sovrascrive invece di accodare in silenzio. Usa --append per il vecchio comportamento.ip stampa testo leggibile, non JSON grezzo. Usa -f json per il JSON.cert stampa una semplice lista di domini. Usa --detail per la vista raggruppata dei certificati.net su un CIDR riporta la rete proprietaria invece di espandersi a ogni host.metabigor update aggiorna entrambi i database. Prima saltava il database dei paesi.
Questo progetto faceva parte di Osmedeus Engine. Scopri come è stato integrato su @OsmedeusEngine
Logo preso da flaticon di freepik
Questo strumento è solo a scopo educativo. Sei responsabile delle tue azioni. Se combini qualche guaio o infrangi qualsiasi legge usando questo software, è colpa tua, e solo tua.
Metabigor è fatto con ♥ da @j3ssie ed è rilasciato sotto licenza MIT.
| Formato | Cosa ottieni | A cosa serve |
|---|
text (predefinito) | Colonne leggibili | Leggere in un terminale |
flat | Il solo valore primario | Pipe verso altri strumenti |
json | Un oggetto JSON per riga | jq, automazione |
csv | Righe sotto un'unica intestazione | Fogli di calcolo, report |
| v2 | v3 | Perché |
|---|
metabigor ipc | metabigor cluster | ipc era impossibile da indovinare |
-I, --inputFile | -I, --input-file | il camelCase non è una convenzione CLI |
-q, --silent | -q, --quiet | -q dovrebbe corrispondere alla sua forma lunga |
--json | -f json | un solo flag controlla la forma dell'output |
ip --csv / ip --flat | -f csv / -f flat | idem |
cert --simple | (ora è il default) | --detail opta per il blocco dettagliato |
net --dynamic | net --live | linguaggio semplice |
cdn --strip-cdn | cdn --exclude | si abbina al nuovo --only |
related -s ua / -s gtm | --sources analytics | facevano entrambi la stessa cosa |
related -s | -s, --sources | ora accetta davvero una lista |
github (sottodomini di default) | github --subs | la forma dell'output non dipende più dai risultati |