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