gau: extraindo URLs arquivadas de datasets públicos

gau (getallurls) · MIT

O gau busca URLs conhecidas de um domínio em arquivos públicos — Wayback Machine, Common Crawl, URLScan, Open Threat Exchange. Ele não envia nada ao alvo. O que retorna é um registro histórico de URLs que esses serviços observaram, que rotineiramente inclui endpoints que a aplicação atual já não referencia.

Instalação

go install -v github.com/lc/gau/v2/cmd/gau@latest

Comandos principais

# tudo que os arquivos conhecem
gau example.com

# inclui subdomínios
gau --subs example.com

# filtra para extensões interessantes
gau --subs example.com --blacklist png,jpg,gif,css,woff,svg,ico

# restringe por data e provedor
gau --from 202401 --to 202608 --providers wayback,commoncrawl example.com

# JSON
gau --json --subs example.com > gau.jsonl

Sem uma blacklist você vai afogar em assets estáticos. Sempre filtre.

Saída

Uma URL por linha por padrão:

https://example.com/api/v1/user?id=1
https://example.com/admin/backup.sql
https://example.com/old/login.php

Onde ele entra no Tandera

O gau roda na fase de enrich do recon_web_lite e do recon_web_full, ao lado do waybackurls. Rodar os dois é intencional — eles consultam provedores que se sobrepõem mas não são idênticos, e a união é maior que qualquer um deles.

Sua saída se junta ao crawl ao vivo do katana para formar o corpus de URLs que unfurl, arjun e as etapas de análise de parâmetro consomem.

Usando em um pentest

URLs históricas são o ponto. /old/login.php retornando 404 hoje é irrelevante. /old/login.php retornando 200 é um endpoint esquecido fora do release atual, que é exatamente o tipo de coisa que não foi corrigida. Sempre re-sonde o corpus:

gau --subs example.com --blacklist png,jpg,css,woff 
  | httpx -silent -status-code -title -mc 200,401,403,500

Faça grep no corpus antes de sondá-lo. URLs arquivadas frequentemente contêm parâmetros com valores reais — tokens, e-mails, IDs internos — capturados quando a página foi crawleada. Procure por key=, token=, password=, api_key= na lista bruta.

Atenção ao limite de escopo. O --subs puxa todo subdomínio que os arquivos conhecem, incluindo os de fora do engajamento. Filtre contra sua lista de escopo antes de sondar qualquer coisa.

acesso antecipado

Garanta a Tandera antes do próximo engagement.

Entre na waitlist para acesso antecipado. Estamos integrando times de pentest em ondas.

Onboarding prioritário para times de pentest.
Linha direta com quem está construindo.
Preço de acesso antecipado, garantido.

Sem spam, sem cartão. Cancele quando quiser.

enespt-br