# gau: extraindo URLs arquivadas de datasets públicos

> Como instalar e executar o gau, para que serve seu corpus de URLs, e como o Tandera usa URLs arquivadas para trazer à tona endpoints que já não aparecem num crawl.

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

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

## Comandos principais

```bash
# 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:

```bash
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.

---

Canonical: https://tandera.io/pt-br/tools/gau
This page as markdown: https://tandera.io/pt-br/tools/gau.md
Index for agents: https://tandera.io/llms.txt

Every page here is also available as markdown: append `.md` to the path (e.g. `/recon.md`, `/index.md` for this homepage, `/blog/<slug>.md`), or request the canonical path with `Accept: text/markdown`.
