
Extrai URLs de Arquivos de OSINT para Insights de Segurança
Extrai URLs de Arquivos OSINT para Insights de Segurança.
Urx é uma ferramenta de linha de comando projetada para coletar URLs de arquivos OSINT, como a Wayback Machine e o Common Crawl. Construída com Rust para eficiência, ela aproveita o processamento assíncrono para consultar rapidamente múltiplas fontes de dados. Esta ferramenta simplifica o processo de coleta de informações de URL para um domínio especificado, fornecendo um conjunto de dados abrangente que pode ser usado para diversos fins, incluindo testes de segurança e análise.
--cdx-endpoint URL, sem necessidade de alteração de código-H, --cookie e --user-agent se aplicam a todas as requisições que o urx faz ao alvo (--check-status, --extract-links, --extract-js-endpoints, --expand-specs) e deliberadamente nunca são enviados a um arquivo--match-regex / --filter-regex)--meta-*): filtre por data da primeira/última captura, tipo MIME registrado e status registrado uniformemente em todos os provedores, após a coletaurx example.com/shop envia o escopo para a própria consulta CDX (url=example.com/shop*), de modo que uma subárvore de um site grande custa uma fração do índice inteiro em vez de ser filtrada no lado do cliente--scope-file): a própria lista *.example.com / !admin.example.com de um programa usada literalmente, repetível e unida, com exclusões sempre prevalecendo--dedup-similar)wordlist — os segmentos de caminho e nomes de parâmetros dos quais o alvo é construído, com ids, hashes e datas deixados de fora--params (o inventário completo de parâmetros do alvo), --params-by-endpoint (qual endpoint aceita o quê) e --fuzz-placeholder FUZZ (uma URL modelada por assinatura de parâmetro, pronta para ffuf ou dalfox)first_seen, last_seen, mime, archive_status e digest retornam com cada URL que um arquivo CDX reportou, sem custo extra de rede--stream): as URLs são escritas conforme cada provedor as reporta, para que um pipeline comece a funcionar imediatamente em vez de esperar pelo arquivo mais lento--archive-body), para que páginas que não existem mais ainda revelem os links que continham — uma requisição por corpo distinto, graças à deduplicação por digest do CDX--extract-js-endpoints, minera também o JavaScript arquivado: um bundle nomeado por hash de build retorna 404 no momento em que o site é reimplantado, e o arquivo é o único lugar onde sua superfície de API ainda existe--archive-body-dir) como um corpus para grep do que nenhum extrator de links procura — comentários de desenvolvedores, credenciais embutidas, hostnames internos — sem requisições extras--expand-specs): documentos OpenAPI 3.x, Swagger 2.0 e introspecção GraphQL, JSON ou YAML, transformados em todas as rotas que descrevem — uma requisição compra toda a superfície documentada--check-status também registra Location, Content-Length e Content-Type, e --check-title adiciona o <title> do HTML--archived-discovery): todas as versões distintas que a Wayback Machine mantém, para que um Disallow: de 2015 ainda nomeie os caminhos que o site deixou de mencionarurx cache para inspecionar e manter o cache: stats, list, prune, drop <domain>, clear
cargo install urx
### Do Homebrew```bash
# https://formulae.brew.sh/formula/urx
brew install urx
git clone https://github.com/hahwul/urx.git cd urx cargo build --release
O binário compilado estará disponível em `target/release/urx`.
### A partir do Docker
[ghcr.io/hahwul/urx](https://github.com/hahwul/urx/pkgs/container/urx)
### Shell Completions
O `urx` gera seu próprio script de completion, então ele sempre corresponde às flags do
binário que você realmente tem instalado.```bash
# zsh — any directory on your $fpath works
urx --completions zsh > ~/.zfunc/_urx
# (make sure ~/.zfunc is on the fpath, then `compinit`)
# bash
urx --completions bash > ~/.local/share/bash-completion/completions/urx