CGE: Visualização de Crawlers e Conexões Ocultas entre Subdomínios

CGE: Visualização de Crawlers e Conexões Ocultas entre Subdomínios

Descubra o CGE, uma ferramenta open-source para mapear subdomínios e endpoints, construindo grafos de interação em tempo real. Ideal para equipes de Red Team, o CGE facilita a descoberta de APIs não documentadas e a identificação de cadeias de escalonamento.

MundiX News·26 de maio de 2026·3 min de leitura·👁 3 views

Olá, pessoal do MundiX!

Gostaria de compartilhar com vocês meu projeto open-source para encontrar diretórios, subdomínios e, essencialmente, atuar como um crawler. Não estou dizendo que ele vai revolucionar o mundo dos crawlers ou superar o Katana, mas acredito que a ferramenta será extremamente útil para equipes de Red Team.

https://github.com/a11mut3d/CGE

Problemas que o CGE Resolve

Um aplicativo web moderno não é um monolito, onde tudo está em um único HTML, mas sim um conjunto de microsserviços, APIs e, em geral, endpoints. Montar um mapa de todas as requisições é bastante complicado, por isso, você não consegue ver o quadro completo.

O CGE ajuda nessa tarefa. Ele:

  • Coleta todos os subdomínios do certificado SSL (como em crt.sh);
  • Faz o crawling de cada endpoint, analisando HTML, JS, formulários, uploads e arquivos;
  • Rastreia para onde as requisições vão em tempo real através da interação com formulários;
  • Constrói um gráfico de interação de endpoints em tempo real.

Como Funciona

Atualmente, o CGE tem duas opções de uso: web UI e CLI.

Se não há muito a descrever sobre o CLI (ele simplesmente exibe todos os endpoints encontrados no console ou, opcionalmente, salva em um arquivo), vamos nos aprofundar na web UI.

Tentei fazer a interface web no estilo Obsidian (spoiler: não ficou muito bom).

  • Cada nó é um host (subdomínio).
  • Uma aresta entre os nós é um fato de troca de informações HTTP.
  • Ao clicar em um nó, obtemos uma lista de todos os endpoints (mesmo aqueles que foram observados em requisições de outros hosts).
  • Ao clicar em uma aresta, obtemos todas as requisições reais entre os hosts.

Detalhes Técnicos

Decidi implementar em Python usando BS, requests e DNS. Decidi usar Neo4j como banco de dados.

Por que considero uma boa solução para Red Team

  • Detecção de APIs não documentadas.
  • Construção de uma cadeia de escalonamento: se você capturar um host, poderá ver com quem ele se comunica.
  • Economia de tempo, para não ter que colocar o crawler primeiro em um ponto e depois em outro.
  • Salvamento de varreduras - ou seja, você não precisa manter os arquivos em seu PC.

Conclusão

Como eu disse antes, não espero que meu crawler abale a indústria, mas ficarei muito feliz se ele ajudar alguém.

📤 Compartilhar & Baixar