Ir para o conteúdo
CatSuite

Idioma

Escolha se o site segue o navegador ou se deve forçar português do Brasil ou inglês.

Baixar grátis

Módulos

Descobridor

Descobridor do CatSuite: como usar e configurar a descoberta de caminhos, parâmetros e endpoints com wordlists, métodos HTTP, ritmo controlado e backoff 429.

14 min de leitura

O Descobridor é o módulo de descoberta de conteúdo do CatSuite: ele percorre uma wordlist de caminhos ou parâmetros e aplica cada entrada a uma URL base com o marcador $CAT$, testando combinações contra um alvo autorizado para revelar diretórios, endpoints e parâmetros que não aparecem na navegação comum. O módulo controla o ritmo com requisições por segundo, atraso extra e backoff automático em 429, filtra o que é capturado por status e tamanho, e preserva a sessão para você pausar e retomar de onde parou. Esta página explica cada conceito, cada opção e como configurar o Descobridor passo a passo.

O que é o Descobridor e para que serve #

O Descobridor faz fuzzing de conteúdo (também chamado de content discovery ou força bruta de diretórios). Em vez de depender só dos links visíveis de um site, ele testa uma lista de nomes prováveis — admin, backup, api/v1, .git, id, token e milhares de outros — e observa como o servidor responde a cada um. Caminhos e parâmetros que existem, mas não estão publicados, costumam se revelar pelo código de status, pelo tamanho da resposta ou por um redirecionamento.

É um módulo de nível intermediário: você escolhe a wordlist, o método HTTP e o ritmo, e interpreta os achados. O Descobridor foi desenhado para rodar em Android de forma contínua e segura, lendo wordlists grandes por stream (linha a linha, sem carregar tudo na memória) e respeitando limites de ritmo para não sobrecarregar o alvo nem o aparelho.

Conceitos essenciais #

Antes de configurar, vale entender os termos que aparecem na tela e nos logs.

  • Wordlist. Arquivo de texto com uma entrada por linha. Cada linha é um candidato (um nome de caminho ou de parâmetro). O Descobridor traz bases prontas e também lê as suas; veja Wordlists.
  • URL base com $CAT$. O endereço do alvo com o marcador $CAT$ no ponto exato em que a palavra da wordlist deve entrar. Para cada entrada, o Descobridor substitui $CAT$ pela palavra e dispara a requisição.
  • Candidato / palavra-chave. A entrada da wordlist que está sendo testada naquela requisição. Nos resultados ela aparece como PALAVRA-CHAVE.
  • Requisições por segundo (RPS). O ritmo base: quantas requisições o módulo tenta disparar a cada segundo.
  • Atraso (delay extra). Uma pausa fixa adicional entre uma tentativa e a próxima, somada ao ritmo de RPS.
  • Intervalo efetivo. O espaçamento real entre requisições. O Descobridor sempre respeita o maior valor entre o intervalo exigido pelo RPS e o atraso extra, para você nunca ficar mais rápido do que pediu.
  • Backoff em 429. Quando o servidor responde 429 Too Many Requests, o módulo espera automaticamente alguns segundos antes de continuar, para aliviar o serviço.
  • Repetição automática. Quando uma requisição falha por timeout, o módulo tenta de novo automaticamente, até um limite de tentativas.
  • Verificação inicial (pre-flight). Antes de começar a percorrer a wordlist, o Descobridor faz um GET de teste na URL base para validar a conectividade com o alvo.
  • Filtros de captura. Regras de status e tamanho que decidem quais respostas viram resultado (correspondência) e quais são apenas processadas e descartadas.
  • Sessão retomável. O estado da execução é salvo em disco. Se o app for para segundo plano, fechar ou cair, você consegue retomar da entrada em que parou.

A tela do Descobridor: painéis, abas e indicadores #

O módulo tem três telas, acessadas a partir da tela de execução:

  • Execução — onde você informa a URL, inicia a varredura e acompanha o log e os resultados.
  • Configurações — wordlist, método, ritmo, filtros e opções de exibição (botão CONFIGURAÇÕES / ícone de ajustes).
  • Headers — identidade das requisições: User-Agent, Accept, Referer, Origin, spoof de IP e outros cabeçalhos.

Tela de execução #

No topo ficam o campo URL com $CAT$ e o botão de configurações. Logo abaixo, uma faixa de chips resume a configuração ativa: nome da wordlist, método, RPS, atraso, estado do log (LOG ON/LOG OFF), RETRY AUTO/SEM RETRY, 429 AUTO/429 OFF, contagem compacta ou completa, resumo dos headers e o passo efetivo em milissegundos. Durante a execução aparecem ainda EM EXECUÇÃO, PAUSADO ou PAUSA AUTOMÁTICA.

Três indicadores acompanham o progresso:

IndicadorO que mostra
PROCESSADASQuantas entradas já foram testadas, no formato atual / total da wordlist.
RESULTADOSQuantas respostas corresponderam aos filtros de status e tamanho.
FALHASQuantas tentativas falharam (timeout ou erro inesperado).

Abaixo dos indicadores ficam os painéis LOG DA EXECUÇÃO (se o log estiver ativo) e RESULTADOS DETALHADOS. Ambos têm botão para abrir em tela cheia, e o painel de resultados tem botão de filtros.

Bases de diretórios, parâmetros e wordlists #

O Descobridor já vem com duas bases internas, e você pode adicionar as suas em Wordlists.

Wordlist internaPara que serveEntradas
Catsuite diretórios e API (padrão)Enumeração de caminhos e endpoints (diretórios, rotas e recursos de API).4.750
Catsuite parâmetrosTeste de nomes de parâmetros e variações de query/campos.6.453

Para escolher a base, abra Configurações → WORDLIST e toque na lista desejada. As bases internas aparecem primeiro; as suas wordlists importadas aparecem em WORDLISTS DO USUÁRIO, logo abaixo. Se ainda não houver nenhuma personalizada, o botão ADICIONAR WORDLIST leva à tela de importação.

Métodos HTTP: GET, POST, PUT e DELETE #

O método escolhido é aplicado a todas as tentativas geradas pela wordlist. Abra Configurações → MÉTODO HTTP para trocá-lo.

MétodoQuando usar
GET (padrão)Leitura leve para mapear caminhos e endpoints. É a escolha inicial para a maioria das descobertas.
POSTEnvio sem corpo para testar comportamentos que dependem do método (rotas que só respondem a POST).
PUTÚtil em variações de rotas que respondem a atualização de recurso.
DELETETesta respostas condicionadas ao método DELETE.

Opções do Descobridor e como configurar #

A tabela abaixo reúne as opções da aba Configurações. A seção seguinte explica como ajustar cada uma.

OpçãoValoresPadrãoO que faz
WordlistBases internas ou suas listasCatsuite diretórios e APILista de entradas que o módulo vai percorrer.
Método HTTPGET, POST, PUT, DELETEGETMétodo aplicado a todas as tentativas.
Requisições por segundo1 a 62Ritmo base de disparo das requisições.
Delay extra (atraso)0, 100, 250, 500, 750, 1000 ms250 msPausa fixa adicional entre tentativas.
Backoff 429 automáticoLigado / desligadoLigadoEspera automática ao receber 429.
Repetição automáticaLigado / desligadoLigadoRepete requisições que falharem por timeout (até 3 tentativas).
Filtrar por statusCódigos 100–599 separados por vírgula200,204,301,302,307,308,401,403Quais códigos de status viram resultado.
Filtrar por tamanho mínimoBytes (≥ 0)0 (desligado)Tamanho mínimo da resposta para virar resultado.
Mostrar logLigado / desligadoLigadoExibe o log completo da execução.
Mostrar contagem compactaLigado / desligadoLigadoResume números grandes (mil / milhão / bilhão).
Ativar headersLigado / desligadoDesligadoAplica os cabeçalhos personalizados da aba Headers.

Ritmo: requisições por segundo #

Abra REQUISIÇÕES POR SEGUNDO e escolha de 1 a 6 RPS. Valores até 2 são mais leves para execuções longas; 3 e 4 são equilibrados; 5 e 6 são mais agressivos, porém ainda controlados para celular. O padrão é 2 RPS. Esse valor define o intervalo base entre requisições (1000 ms dividido pelo RPS, arredondado para cima):

RPSIntervalo base
11000 ms
2500 ms
3334 ms
4250 ms
5200 ms
6167 ms

Atraso (delay extra) #

Abra DELAY EXTRA e escolha SEM DELAY (0 ms) ou 100, 250, 500, 750 ou 1000 ms. O atraso é uma pausa fixa somada ao ritmo. O Descobridor respeita sempre o maior intervalo entre o exigido pelo RPS e o atraso: com 2 RPS (500 ms) e atraso de 250 ms, o passo efetivo continua 500 ms; já com 6 RPS (167 ms) e atraso de 500 ms, o passo efetivo vira 500 ms. O painel EXECUÇÃO SEGURA, na própria tela de configurações, mostra o valor "N MS EFETIVOS" calculado a partir das suas escolhas.

Backoff automático em 429 #

Mantenha BACKOFF 429 AUTOMÁTICO ligado (padrão) para que o módulo reduza o ritmo sozinho quando o servidor responder 429 Too Many Requests. No primeiro 429 da sequência, o Descobridor aguarda 5 segundos antes da próxima tentativa; se os 429 continuarem, a espera sobe para 10 segundos. Quando chega uma resposta diferente de 429, a contagem é zerada. O log registra cada pausa com a mensagem "429 recebido. Backoff automático aplicado por Ns antes da próxima tentativa."

Repetição automática #

Com REPETIÇÃO AUTOMÁTICA ligada (padrão), cada requisição que falhar por timeout é refeita automaticamente, somando até 3 tentativas. Desligada, cada entrada é testada uma única vez. Falhas que não são de timeout (erros inesperados) contam direto como FALHA e não são repetidas.

Opções de exibição #

  • MOSTRAR LOG controla o painel LOG DA EXECUÇÃO. Com o log desligado, a tela mostra só os resultados, ocupando mais espaço.
  • MOSTRAR CONTAGEM COMPACTA resume números grandes (por exemplo, 12 mil em vez de 12.000). Desligada, os indicadores mostram o valor completo com separador de milhar.

Filtros de captura por status e tamanho #

Esses dois filtros, na aba Configurações, decidem o que é considerado resultado durante a varredura.

  • Filtrar por status. Lista de códigos HTTP separados por vírgula. Só respostas com um desses códigos viram resultado. O padrão 200,204,301,302,307,308,401,403 cobre sucesso (200, 204), redirecionamentos (301, 302, 307, 308) e acessos negados reveladores (401, 403). São aceitos códigos de 100 a 599. Deixe o campo vazio para capturar todos os status.
  • Filtrar por tamanho mínimo. Tamanho mínimo da resposta, em bytes. Respostas menores do que esse valor são processadas, mas não viram resultado. Útil para descartar páginas de erro curtas e padronizadas. O padrão 0 desliga o filtro de tamanho.

Botões e ações #

Botão / açãoO que faz
CONFIGURAÇÕES / CONFIG.Abre a aba de configurações do Descobridor.
CONFIGURARAparece no lugar de iniciar quando ainda não há configuração salva; leva às configurações.
INICIARComeça a varredura (após a verificação inicial).
PAUSARPausa a execução preservando o ponto atual da wordlist.
RETOMARContinua da entrada em que a sessão foi pausada.
PARARInterrompe e encerra a execução atual.
LIMPARLimpa log, resultados e a sessão temporária.
SALVARSalva as configurações e volta para a execução.
CANCELARDescarta as alterações nas configurações.
Ícone de filtroAbre os filtros dos resultados.
Ícone de tela cheiaExpande o log ou os resultados.
VER RESPONSEAbre a resposta completa salva de um resultado.
LIMPAR FILTROSRemove os filtros aplicados aos resultados.

Ações por resultado #

Toque em um resultado para ver os detalhes (PALAVRA-CHAVE, URL, CONTENT-TYPE, LOCATION quando houver, e PRÉVIA). Pressione e segure (ou use o menu) para abrir as ações de cópia:

AçãoO que faz
Enviar para o RepetirAbre a requisição no módulo Repetir.
Copiar URLCopia a URL final testada.
Copiar headersCopia os cabeçalhos enviados na requisição.
Copiar bodyCopia o corpo enviado (quando houver).
Copiar cURLCopia a requisição como comando curl.

Headers e identidade das requisições #

Na aba Headers, ative ATIVAR HEADERS para aplicar cabeçalhos personalizados em todas as requisições do Descobridor, inclusive na verificação inicial e no loop da wordlist. Com os headers ativos, você define User-Agent, Accept-Language, Accept, Content-Type, Referer, Origin, Sec-Fetch-Site e um spoof de IP (header e valor). Com a opção desligada (padrão), o Descobridor usa os cabeçalhos padrão do sistema. O chip HEADERS na tela de execução mostra DESATIVADOS, PADRÃO ou PERSONALIZADO.

Passo a passo #

Mapear diretórios de um alvo #

  1. Abra o Descobridor e toque em CONFIGURAÇÕES.
  2. Em WORDLIST, escolha Catsuite diretórios e API.
  3. Deixe MÉTODO HTTP em GET.
  4. Ajuste REQUISIÇÕES POR SEGUNDO para 2 e DELAY EXTRA para 250 MS (padrões seguros).
  5. Confira Filtrar por status (padrão) e deixe Filtrar por tamanho mínimo em 0.
  6. Toque em SALVAR.
  7. No campo URL com $CAT$, escreva https://alvo.com/$CAT$.
  8. Toque em INICIAR. O módulo faz a verificação inicial e começa a varredura.
  9. Acompanhe PROCESSADAS, RESULTADOS e FALHAS e abra os achados em RESULTADOS DETALHADOS.

Descobrir parâmetros #

  1. Em CONFIGURAÇÕES → WORDLIST, escolha Catsuite parâmetros.
  2. Salve e volte para a execução.
  3. Em URL com $CAT$, posicione o marcador no nome do parâmetro, por exemplo https://alvo.com/busca?$CAT$=cat-suite.
  4. Toque em INICIAR e observe variações de status e tamanho que indiquem parâmetros válidos.

Enviar um achado para outro módulo #

  1. Em RESULTADOS DETALHADOS, toque no resultado que interessa.
  2. Abra o menu de ações e toque em Enviar para o Repetir.
  3. No Repetir, ajuste a requisição e reenvie. Para automatizar variações, leve-a ao Intruso.

Exemplos #

URL base para enumeração de caminhos:

Mapear diretóriosTexto
https://alvo.com/$CAT$

URL base para descoberta de parâmetros:

Descobrir parâmetrosTexto
https://alvo.com/busca?$CAT$=cat-suite

Filtro de status que captura sucesso, redirecionamentos e acessos negados:

Filtrar por statusTexto
200,204,301,302,307,308,401,403

Requisição copiada de um resultado como comando cURL (ação Copiar cURL):

Resultado em cURLShell
curl 'https://alvo.com/api/v1/users'
Resultado POST em cURLShell
curl -X POST -H 'Content-Type: application/json' --data-raw '{}' 'https://alvo.com/api/login'

Pausar, retomar e recuperação de sessão #

O Descobridor salva o estado da execução em disco periodicamente. Isso permite:

  • Pausar e retomar manualmente. Toque em PAUSAR para parar no ponto atual e em RETOMAR para continuar da mesma entrada.
  • Pausa automática. Ao enviar o app para segundo plano durante a varredura, o módulo pausa sozinho para preservar o ponto da wordlist (chip PAUSA AUTOMÁTICA). Ao voltar, a execução retoma.
  • Recuperação após encerramento. Se o app for fechado ou cair, ao reabrir o Descobridor você recebe uma mensagem de sessão recuperada e pode RETOMAR da entrada em que parou, com os achados preservados.

Problemas comuns e perguntas frequentes #

"Inclua $CAT$ na URL..." — A URL base precisa conter o marcador $CAT$ no ponto em que a palavra entra. Sem ele, o módulo não sabe onde aplicar a wordlist.

"A URL informada não é válida." — Revise o endereço. Se você não digitar o esquema, o Descobridor assume https:// automaticamente e avisa.

A verificação inicial falhou por timeout. — Verifique conexão, VPN e se o alvo está no ar antes de iniciar. A verificação inicial é um GET de teste na URL base.

Muitos 429 aparecendo. — O alvo está limitando o ritmo. Mantenha o backoff 429 automático ligado, reduza o RPS e aumente o atraso. Veja também Referência de erros.

Nenhum resultado, só processadas. — Os filtros de status ou tamanho podem estar restritivos demais. Esvazie o campo de status para capturar todos os códigos ou zere o tamanho mínimo.

A wordlist configurada não está disponível. — Abra as configurações e selecione outra wordlist, ou reimporte a lista personalizada em Wordlists.

Muitas FALHAS. — Timeouts frequentes indicam instabilidade de rede ou alvo lento. Reduza o RPS, mantenha a repetição automática ligada e verifique a conexão.

Boas práticas e uso responsável #

  • Teste somente alvos autorizados. A descoberta é intensa por natureza; veja Segurança.
  • Comece com RPS baixo e atraso moderado; suba o ritmo só quando tiver certeza de que o alvo aguenta.
  • Deixe o backoff 429 e a repetição automática ligados para um comportamento mais educado com o serviço.
  • Use os filtros de status e tamanho para separar sinal de ruído desde a captura.
  • Encaminhe achados relevantes para o Repetir e o Intruso em vez de repetir a varredura inteira.

Continue #