
metabigor v2.2.0
Ferramenta de reconhecimento OSINT para descoberta de rede, enumeração de subdomínios, enriquecimento de IPs e detecção de segredos via logs de certificados, Shodan e busca em código do GitHub—tudo sem chaves de API.
Metabigor - poder de OSINT sem a complicação de chaves de API
O que é o Metabigor?
O Metabigor mapeia a infraestrutura de um alvo sem exigir que você se registre para obter uma única chave de API. Faixas de rede, certificados, domínios relacionados, portas expostas, fornecedores de CDN e vazamentos de código - tudo proveniente de fontes gratuitas, tudo encadeável entre si.
Recursos
- Descoberta de Rede - encontre faixas de IP (CIDRs) a partir de um ASN, organização, domínio ou IP
- Transparência de Certificados - descubra subdomínios via crt.sh
- Enriquecimento de IP - portas, hostnames e CVEs via Shodan InternetDB (gratuito, sem chave)
- Pesquisa de Código no GitHub - encontre segredos, credenciais e subdomínios em repositórios públicos via grep.app
- Agrupamento de IPs - agrupe IPs por ASN para mapear infraestrutura
- Domínios Relacionados - pivote via logs de certificados, WHOIS reverso e IDs de analytics
- Detecção de CDN/WAF - separe endereços protegidos de origens candidatas
- Coleta de URLs - todas as URLs que os arquivos web já viram, incluindo endpoints extraídos de WARCs
Instalação
npm install -g @j3ssie/metabigor # macOS, Linux, Windows
brew install j3ssie/tap/metabigor # macOS, Linux
Ambos trazem o mesmo binário pré-compilado para a sua plataforma - nenhuma toolchain Go é necessária.
Ou compile a partir do código-fonte:
git clone https://github.com/j3ssie/metabigor.git
cd metabigor
make build # binary at ./bin/metabigor
Ou baixe um binário na página de releases.
O tour de 30 segundos
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
Como cada comando funciona
As mesmas convenções se aplicam em todos os lugares, então, quando você aprende um comando, você sabe usar todos.
Quatro maneiras de passar alvos
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
Eles se combinam, e a lista mesclada é deduplicada:
metabigor cluster 1.1.1.1 -i 8.8.8.8 -I more-ips.txt
Argumentos são o caminho mais curto e funcionam em todos os comandos. Recorra a -i quando o alvo, de outra forma,
pareceria uma flag, ou quando um script montar o comando para você:
metabigor github -i "--endpoint-url"
metabigor net --input "$TARGET" -f json
O stdin só é lido quando nenhum alvo foi fornecido de outra forma, então metabigor net AS13335 nunca fica bloqueado
esperando entrada dentro de um script ou job de CI.
Uma única flag para o formato de saída
-f/--format funciona em todos os comandos:
| Formato | O que você obtém | Para que usar |
|---|---|---|
text (padrão) | Colunas legíveis | Leitura em um terminal |
flat | Apenas o valor primário | Enviar via pipe para outras ferramentas |
json | Um objeto JSON por linha | jq, automação |
csv | Linhas sob um único cabeçalho | Planilhas, relatórios |
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
Os resultados sempre vão para o stdout e os logs sempre vão para o stderr, então os pipes ficam limpos em qualquer nível de log.
-o também grava os resultados em um arquivo, sobrescrevendo-o, a menos que você passe --append. O arquivo só é
reescrito quando há um resultado para gravar, então uma execução que falha ou não encontra nada deixa os resultados
anteriores intactos.
Comandos se encadeiam
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
Comandos
net - Descoberta de Rede
Encontra os CIDRs por trás de um ASN, IP, domínio ou organização. Usa o banco de dados offline incluído.
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
O tipo de alvo é detectado automaticamente. Substitua-o com --asn, --ip, --domain ou --org
(mutuamente exclusivos). --detail adiciona colunas de ASN, organização e país.
cert - Transparência de Certificados
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 - Enriquecimento de 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
IPs sobre os quais o InternetDB não tem nenhuma informação são pulados; passe --all para mantê-los.
github - Pesquisa de Código (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
Requer Chrome ou Chromium - o grep.app responde a clientes HTTP simples com um desafio de bot.
As buscas são executadas uma de cada vez, independentemente de -c, para respeitar o limite de taxa do grep.app.
cluster - Agrupamento de IPs
Agrupa IPs pelo ASN que os possui, do maior cluster para o menor. Aceita IPs ou CIDRs. Funciona 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 - Descoberta de Domínios Relacionados
metabigor related hackerone.com # all sources
metabigor related tesla.com --sources crt
metabigor related tesla.com --sources crt,whois
Fontes: crt (crt.sh), whois (WHOIS reverso do viewdns.info), analytics (IDs compartilhados de Google
Analytics / Tag Manager) ou all. Os resultados são deduplicados entre as fontes e marcados com a fonte que os
encontrou primeiro.
url - Coleta de URLs de Arquivos 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
Fontes: wayback, commoncrawl, otx, urlscan, ghostarchive, além de virustotal e
intelx quando suas chaves estão definidas. As cinco fontes sem chave são executadas por padrão; as duas com
credenciais entram automaticamente quando VT_API_KEY / INTELX_API_KEY estão presentes no ambiente, e
URLSCAN_API_KEY aumenta o tamanho de página do urlscan. Nomear uma fonte com credencial sem a chave dela é um
erro, em vez de um pulo silencioso.
Subdomínios são incluídos por padrão - a consulta é *.target, e não target. Esta é a maior
alavanca individual sobre o quanto uma execução retorna; --no-subs reduz isso.
O GhostArchive é minerado, não apenas listado. Toda página arquivada também tem um WARC bruto, e um WARC
registra toda sub-requisição que o navegador fez ao capturar a página - chamadas XHR, endpoints JSON, URLs de
script construídas dinamicamente. Nada disso aparece em um índice CDX, que só indexa capturas da própria URL da
página. Em testes, 8 requisições contra tesla.com retornaram 147 URLs, incluindo endpoints JSON de API ao
vivo. Limite o custo com --limit-requests.
Os filtros estão desativados por padrão, então nada é descartado sem ser pedido. --match-status / --filter-status,
--match-mime / --filter-mime, --from / --to e --keywords são enviados às APIs do Wayback e do Common Crawl
no lado do servidor e verificados novamente localmente; --blacklist e --no-params são locais.
--limit-requests limita as requisições por fonte e --limit-collections define até onde pesquisar nas ~126
coleções de índice do Common Crawl (0 para todas elas, de volta a 2008).
cdn - Detecção de 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 - Atualizar Bancos de Dados Locais
metabigor update
Atualiza os bancos de dados de IP-para-ASN e IP-para-país em ~/.metabigor. Uma cópia acompanha o
binário e é descompactada no primeiro uso, então isso só é necessário para obter dados de roteamento mais recentes.
skills - Habilidades para Agentes de Codificação
O Metabigor acompanha uma skill do agentskills.io que ensina um agente de codificação de IA (Claude Code, Codex ou qualquer agente compatível) a operar a CLI. A skill está embutida no binário, então ela sempre corresponde à versão que você instalou.
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 o Markdown bruto no stdout (use pipe, ou -o para salvá-lo). install copia o
pacote inteiro - SKILL.md mais suas references/ - e pula uma cópia existente, a menos que você passe
--force. Depois de instalada, o agente aciona a skill automaticamente sempre que você mencionar metabigor.
Flags globais
-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
O Metabigor sai com código diferente de zero em caso de falha, então ele se compõe com &&, set -e e CI.
Atualizando a partir da v2
A v3 renomeia flags e comandos por consistência. Não há aliases - atualize seus scripts.
| v2 | v3 | Motivo |
|---|---|---|
metabigor ipc | metabigor cluster | ipc era impossível de adivinhar |
-I, --inputFile | -I, --input-file | camelCase não é uma convenção de CLI |
-q, --silent | -q, --quiet | -q deve corresponder à sua forma longa |
--json | -f json | uma única flag controla o formato de saída |
ip --csv / ip --flat | -f csv / -f flat | o mesmo |
cert --simple | (agora o padrão) | --detail opta pelo bloco detalhado |
net --dynamic | net --live | linguagem simples |
cdn --strip-cdn | cdn --exclude | faz par com o novo --only |
related -s ua / -s gtm | --sources analytics | ambos faziam a mesma coisa |
related -s | -s, --sources | agora aceita realmente uma lista |
github (subdomínios por padrão) | github --subs | o formato de saída não depende mais dos resultados |
Mudanças de comportamento que vale a pena conhecer:
- A saída de progresso é silenciosa por padrão. Linhas
[verbose]agora exigem-v. -osobrescreve em vez de anexar silenciosamente. Use--appendpara o comportamento antigo.ipimprime texto legível, e não JSON bruto. Use-f jsonpara JSON.certimprime uma lista simples de domínios. Use--detailpara a visão agrupada de certificados.netem um CIDR informa a rede proprietária em vez de expandir para todos os hosts.- Erros saem com código 1. Antes, toda falha ainda saía com código 0.
metabigor updateatualiza ambos os bancos de dados. Antes, ele pulava o banco de dados de países.
Integre o Metabigor ao seu fluxo de trabalho de recon sem complicações?
Este projeto fez parte do Osmedeus Engine. Veja como ele foi integrado em @OsmedeusEngine
Créditos
📊 Fontes de Dados
- Banco de Dados Local - mapeamentos de IP-para-ASN e IP-para-país (mais de 2M de registros)
- crt.sh - logs de Transparência de Certificados
- Shodan InternetDB - API gratuita de enriquecimento de IP
- grep.app - pesquisa de código no GitHub
- bgp.he.net - dados de roteamento BGP ao vivo
- viewdns.info - consultas de WHOIS reverso
- builtwith.com - correlação de rastreamento de analytics
- projectdiscovery/cdncheck - biblioteca de detecção de CDN/WAF
- web.archive.org - índice CDX da Wayback Machine
- index.commoncrawl.org - índices CDX do Common Crawl
- otx.alienvault.com - listas de URLs do AlienVault OTX
- urlscan.io - pesquisa de histórico de varreduras
- ghostarchive.org - páginas arquivadas e seus arquivos WARC
- virustotal.com - relações de domínio (chave de API opcional)
- intelx.io - phonebook do Intelligence X (chave de API opcional)
Aviso Legal
Esta ferramenta é apenas para fins educacionais. Você é responsável pelas suas próprias ações. Se você estragar algo ou quebrar alguma lei ao usar este software, a culpa é sua, e somente sua.
Licença
Metabigor é feito com ♥ por @j3ssie e é distribuído sob a licença MIT.

