Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
urx — Extrai URLs de Arquivos de OSINT para Insights de Segurança | Kitploit
Ferramentas/GitHubGitHub/hahwul/urx
OSINT (Inteligência de Fontes Abertas)ReconhecimentoColeta de InformaçõesSegurança WebRastreador
GitHubhahwul/urx

urx

Extrai URLs de Arquivos de OSINT para Insights de Segurança

Ver Repositório
19020há 6 diasRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Site
Logotipo do Urx

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 o Wayback Machine e o Common Crawl. Construída em Rust para eficiência, ela utiliza processamento assíncrono para consultar rapidamente múltiplas fontes de dados. Esta ferramenta simplifica o processo de coleta de informações de URLs 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.

Funcionalidades

  • Busca URLs de múltiplas fontes em paralelo (Wayback Machine, Common Crawl, OTX, Arquivo.pt)
  • Sem chave por padrão: Wayback, Common Crawl, OTX, Arquivo.pt e URLScan (anônimo) funcionam sem chave de API
  • Suporte à rotação de chaves de API para os provedores VirusTotal e URLScan para mitigar limites de taxa
  • Filtra resultados por extensões de arquivo, padrões ou predefinições (ex.: "no-image" para excluir imagens)
  • Normalização e deduplicação de URLs: Ordena parâmetros de consulta, remove barras finais e mescla URLs semanticamente idênticas
  • Suporte a múltiplos formatos de saída: texto simples, JSON, CSV
  • Suporte direto a arquivos de entrada: Lê URLs diretamente de arquivos WARC, arquivos compactados do URLTeam e arquivos de texto
  • Envia resultados para o console ou para um arquivo, ou transmite via stdin para integração em pipelines
  • Teste de URLs:
    • Filtra e valida URLs com base em códigos de status HTTP e padrões.
    • Extrai links adicionais das URLs coletadas
  • Cache e Varredura Incremental:
    • Cache local SQLite ou remoto Redis para evitar re-varredura de domínios
    • Modo incremental para descobrir apenas novas URLs desde a última varredura
    • TTL de cache configurável e limpeza automática de entradas expiradas

Prévia

Instalação

A partir do Cargo

root@kitploit:~
# https://crates.io/crates/urx
cargo install urx

A partir do Homebrew

root@kitploit:~
# https://formulae.brew.sh/formula/urx
brew install urx

A partir do código fonte

root@kitploit:~
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

Uso

Uso básico

root@kitploit:~
# Escanear um único domínio
urx example.com

# Escanear múltiplos domínios
urx example.com example.org

# Escanear domínios a partir de um arquivo
cat domains.txt | urx

Opções

root@kitploit:~
Usage: urx [OPTIONS] [DOMAINS]...

Arguments:
  [DOMAINS]...  Domínios para buscar as URLs

Options:
  -c, --config <CONFIG>           Arquivo de configuração a ser carregado
      --provider-config <PATH>    Arquivo de configuração separado do provedor contendo apenas chaves de API (padrão: $XDG_CONFIG_HOME/urx/provider-config.toml). CLI/env > provider-config > config principal.
  -h, --help             Exibe ajuda
  -V, --version          Exibe a versão

Input Options:
      --files <FILES>...        Lê URLs diretamente de arquivos (suporta arquivos WARC, URLTeam compactados e texto)
      --domain-list <PATH>      Arquivo com domínios separados por linha para escanear (repetível; mesclado com DOMAINS posicionais e stdin; comentários `#` permitidos)

Output Options:
  -o, --output <OUTPUT>          Arquivo de saída para escrever os resultados
      --output-dir <PATH>        Escreve um arquivo por domínio neste diretório (extensão corresponde a --format). Coexiste com --output / stdout.
  -f, --format <FORMAT>          Formato de saída (ex.: "plain", "json", "csv") [padrão: plain]
      --merge-endpoint   Mescla endpoints com o mesmo caminho e mescla parâmetros de URL
      --normalize-url    Normaliza URLs para melhor deduplicação (ordena parâmetros de consulta, remove barras finais)

Provider Options:
      --providers <PROVIDERS>
          Provedores a serem usados (separados por vírgulas, ex.: "wayback,cc,otx,arquivo,vt,urlscan") [padrão: wayback,cc,otx]
      --exclude-providers <EXCLUDE_PROVIDERS>
          Provedores a serem excluídos (separados por vírgulas). Vence em conflito com --providers / --all-providers.
      --all-providers
          Ativa todos os provedores suportados. Provedores com chave de API só são ativados quando uma chave está disponível.
      --list-providers
          Lista todos os provedores suportados e sai.
      --subs
          Incluir subdomínios na busca
      --cc-index <CC_INDEX>
          Índice do Common Crawl a ser usado; aceita lista separada por vírgulas para consultar múltiplos índices em paralelo (ex.: `CC-MAIN-2026-17,CC-MAIN-2025-51`). `latest` (padrão) resolve o mais recente via collinfo.json. [padrão: latest]
      --wayback-from <DATE>
          Restringe os resultados do Wayback Machine a snapshots a partir de ou após DATA (YYYY/YYYYMM/YYYYMMDD/YYYYMMDDhhmmss)
      --wayback-to <DATE>
          Restringe os resultados do Wayback Machine a snapshots em ou antes de DATA (mesmo formato de --wayback-from)
      --vt-api-key <VT_API_KEY>
          Chave de API para o VirusTotal (pode ser usada várias vezes para rotação; também pode usar a variável de ambiente URX_VT_API_KEY com chaves separadas por vírgula)
      --urlscan-api-key <URLSCAN_API_KEY>
          Chave de API opcional para Urlscan; o provedor também funciona anonimamente (limitado a ~30 req/min por IP). Pode ser usado várias vezes para rotação, ou via URX_URLSCAN_API_KEY (chaves separadas por vírgula)
      --github-api-key <GITHUB_API_KEY>
          Token de acesso pessoal para o provedor GitHub Code Search (também lê URX_GITHUB_API_KEY, separado por vírgulas para rotação)

Discovery Options:
      --exclude-robots   Excluir descoberta de robots.txt
      --exclude-sitemap  Excluir descoberta de sitemap.xml

Display Options:
  -v, --verbose       Exibe saída detalhada
      --silent        Modo silencioso (sem saída)
      --no-progress   Sem barra de progresso
      --show-sources  Anota as URLs de saída com os provedores que as retornaram
      --stats         Imprime um resumo por provedor no stderr ao final da execução

Filter Options:
  -p, --preset <PRESET>
          Predefinições de filtro (ex.: "no-resources,no-images,no-audio,only-js,only-style")
  -e, --extensions <EXTENSIONS>
          Filtra URLs para incluir apenas aquelas com extensões específicas (separadas por vírgulas, ex.: "js,php,aspx")
      --exclude-extensions <EXCLUDE_EXTENSIONS>
          Filtra URLs para excluir aquelas com extensões específicas (separadas por vírgulas, ex.: "html,txt")
      --patterns <PATTERNS>
          Filtra URLs para incluir apenas aquelas contendo padrões específicos (separados por vírgulas)
      --exclude-patterns <EXCLUDE_PATTERNS>
          Filtra URLs para excluir aquelas contendo padrões específicos (separados por vírgulas)
      --show-only-host
          Mostra apenas a parte do host das URLs
      --show-only-path
          Mostra apenas a parte do caminho das URLs
      --show-only-param
          Mostra apenas a parte dos parâmetros das URLs
      --min-length <MIN_LENGTH>
          Comprimento mínimo da URL para incluir
      --max-length <MAX_LENGTH>
          Comprimento máximo da URL para incluir
      --strict
          Aplica validação exata de host (padrão)

Network Options:
      --network-scope <NETWORK_SCOPE>  Controla a quais componentes as configurações de rede se aplicam (all, providers, testers ou providers,testers) [padrão: all]
      --proxy <PROXY>                  Usa proxy para requisições HTTP (formato: <http://proxy.example.com:8080>)
      --proxy-auth <PROXY_AUTH>        Credenciais de autenticação do proxy (formato: usuário:senha)
      --insecure                       Ignora verificação de certificado SSL (aceita certificados autoassinados)
      --random-agent                   Usa um User-Agent aleatório para requisições HTTP
      --timeout <TIMEOUT>              Tempo limite de requisição em segundos [padrão: 120]
      --retries <RETRIES>              Número de tentativas para requisições com falha [padrão: 2]
      --parallel <PARALLEL>            Número máximo de domínios buscados simultaneamente por provedor (e testes de URL simultâneos); o --rate-limit de um provedor é compartilhado entre eles [padrão: 5]
      --rate-limit <RATE_LIMIT>        Limite de taxa (requisições por segundo)
      --rate-limit-by <PAIRS>          Substituições de taxa por provedor (ex.: `vt=1,wayback=10`); usa --rate-limit como fallback para provedores não listados
      --max-time <MAX_TIME>            Limite global de tempo de enumeração do provedor em segundos (0 = ilimitado) [padrão: 0]

Testing Options:
      --check-status
          Verifica o código de status HTTP das URLs coletadas [aliases: ----cs]
      --include-status <INCLUDE_STATUS>
          Inclui URLs com códigos de status HTTP ou padrões específicos (ex.: --is=200,30x) [aliases: ----is]
      --exclude-status <EXCLUDE_STATUS>
          Exclui URLs com códigos de status HTTP ou padrões específicos (ex.: --es=404,50x,5xx) [aliases: ----es]
      --extract-links
          Extrai links adicionais das URLs coletadas (requer requisições HTTP)

Exemplos

root@kitploit:~
# Salvar resultados em um arquivo
urx example.com -o results.txt

# Saída no formato JSON
urx example.com -f json -o results.json

# Filtrar apenas arquivos JavaScript
urx example.com -e js

# Excluir arquivos HTML e de texto
urx example.com --exclude-extensions html,txt

# Filtrar por endpoints de API
urx example.com --patterns api,v1,graphql

# Excluir padrões específicos
urx example.com --exclude-patterns static,images

# Usar predefinição de filtro (similar a --exclude-extensions=png,jpg,.....)
urx example.com -p no-images

# Usar provedores específicos
urx example.com --providers wayback,otx

# Adicionar o provedor Arquivo.pt (arquivo web português) sem chave
urx example.com --providers wayback,cc,otx,arquivo

# URLScan funciona sem chave (anônimo, limitado); uma chave apenas aumenta os limites
urx example.com --providers urlscan

# Usando os provedores VirusTotal e URLScan
# 1. Adicionar explicitamente aos provedores (com chaves de API via linha de comando)
urx example.com --providers=vt,urlscan --vt-api-key=*** --urlscan-api-key=***

# 2. Usando variáveis de ambiente para chaves de API
URX_VT_API_KEY=*** URX_URLSCAN_API_KEY=*** urx example.com --providers=vt,urlscan

# 3. Ativação automática: provedores são adicionados automaticamente quando as chaves de API são fornecidas
urx example.com --vt-api-key=*** --urlscan-api-key=*** # Não é necessário especificar em --providers

# 4. Rotação de múltiplas chaves de API (para mitigar limites de taxa)
# Usando flags repetidas para múltiplas chaves
urx example.com --vt-api-key=chave1 --vt-api-key=chave2 --vt-api-key=chave3

# Usando variáveis de ambiente com chaves separadas por vírgula
URX_VT_API_KEY=chave1,chave2,chave3 URX_URLSCAN_API_KEY=uchave1,uchave2 urx example.com

# Combinando flags de CLI e variáveis de ambiente (chaves da CLI são usadas primeiro)
URX_VT_API_KEY=env_chave1,env_chave2 urx example.com --vt-api-key=cli_chave1 --vt-api-key=cli_chave2

# URLs de robots.txt e sitemap.xml são incluídas por padrão

# Excluir URLs de arquivos robots.txt
urx example.com --exclude-robots

# Excluir URLs de sitemap
urx example.com --exclude-sitemap

# Incluir subdomínios
urx example.com --subs

# Verificar status das URLs coletadas
urx example.com --check-status

# Ler URLs diretamente de um arquivo de texto
urx --files urls.txt

# Combinar entrada de arquivo com filtragem
urx --files urls.txt --patterns api,admin -f json

# Extrair links adicionais das URLs coletadas
urx example.com --extract-links

# Configuração de rede
urx example.com --proxy http://localhost:8080 --timeout 60 --parallel 10 --insecure

# Filtragem avançada
urx example.com -e js,php --patterns admin,login --exclude-patterns logout,static --min-length 20

# Filtragem baseada em código de status HTTP
urx example.com --include-status 200,30x,405 --exclude-status 20x

# Desabilitar validação de host
urx example.com --strict false

# Normalização e deduplicação de URLs
# Normalizar URLs ordenando parâmetros de consulta e removendo barras finais
urx example.com --normalize-url

# Combinar normalização com mesclagem de endpoints para deduplicação abrangente
urx example.com --normalize-url --merge-endpoint

# Normalização de URLs com entrada de arquivo
urx --files urls.txt --normalize-url

Cache e Varredura Incremental

Urx suporta cache para melhorar o desempenho em varreduras repetidas e varredura incremental para descobrir apenas novas URLs.

root@kitploit:~
# Ativar cache com SQLite (padrão)
urx example.com --cache-type sqlite --cache-path ~/.urx/cache.db

# Usar Redis para cache distribuído
urx example.com --cache-type redis --redis-url redis://localhost:6379

# Varredura incremental - mostrar apenas novas URLs desde a última varredura
urx example.com --incremental

# Definir TTL do cache (tempo de vida) como 12 horas
urx example.com --cache-ttl 43200

# Desabilitar cache completamente
urx example.com --no-cache

# Combinar varredura incremental com filtros
urx example.com --incremental -e js,php --patterns api

# Arquivo de configuração com configurações de cache
urx -c example/config.toml example.com

Casos de uso de cache

root@kitploit:~
# Monitoramento diário - alertar apenas sobre novas URLs
urx target.com --incremental --silent | notify-tool

# Processamento eficiente de listas de domínios
cat domains.txt | urx --incremental --cache-ttl 3600 > new_urls.txt

# Varredura em equipe distribuída com Redis
urx example.com --cache-type redis --redis-url redis://shared-cache:6379

# Re-varreduras rápidas durante o desenvolvimento
urx test-domain.com --cache-ttl 300  # Cache de 5 minutos para iterações rápidas

Integração com outras ferramentas

Urx funciona bem em pipelines com outras ferramentas de segurança e reconhecimento:

root@kitploit:~
# Encontrar domínios, depois descobrir URLs
echo "example.com" | urx | grep "login" > potential_targets.txt

# Combinar com outras ferramentas
cat domains.txt | urx --patterns api | outra-ferramenta

Inspiração

Urx foi inspirado por gau (GetAllUrls), uma ferramenta que busca URLs conhecidas do AlienVault's Open Threat Exchange, do Wayback Machine e do Common Crawl. Embora compartilhe funcionalidades principais semelhantes, Urx foi construído do zero em Rust com foco em desempenho, concorrência e capacidades expandidas de filtragem.

Contribua

Urx é um projeto de código aberto e foi feito com ❤️ se você quiser contribuir com este projeto, por favor veja CONTRIBUTING.md e faça um Pull-Request com seu conteúdo legal.

Baixar ferramenta