
Script de bypass de firewall baseado em registros históricos de DNS. Este script pesquisará registros históricos de DNS A e verificará se o servidor responde para aquele domínio. Útil para caçadores de bug bounty.

Este script tentará encontrar:
Este script (ab)usa registros históricos de DNS. Este script pesquisará registros DNS A antigos e verificará se o servidor responde para esse domínio. Ele também gera um nível de confiança, baseado na similaridade da resposta HTML entre o possível servidor de origem e o firewall.
O script também coleta os IPs de subdomínios porque minha própria experiência me ensinou que os IPs de subdomínios às vezes apontam para a origem do domínio principal.
Use o script assim:
bash bypass-firewalls-by-DNS-history.sh -d example.com
-d --domain: domínio a ser contornado-o --outputfile: arquivo de saída com IPs-l --listsubdomains: lista com subdomínios para cobertura extra-a --checkall: Verificar todos os subdomínios para um bypass de WAFjq é necessário para analisar a saída e coletar automaticamente subdomínios.
Instale com apt install jq.
Para ilustrar o que definimos como bypass de WAF, veja o esquema abaixo.

Um visitante normal se conecta a um site. A solicitação inicial é uma requisição DNS para perguntar o IP do site, para que o navegador do cliente saiba para onde enviar a requisição HTTP. Para sites atrás do Cloudflare ou outro WAF público, a resposta contém um endereço IP do próprio WAF. Seu tráfego HTTP flui basicamente através do WAF para o servidor web de origem. O WAF bloqueia requisições maliciosas e protege contra ataques (D)DoS. No entanto, se um invasor conhece o IP do servidor web de origem e o servidor web de origem aceita tráfego HTTP de toda a internet, o invasor pode realizar um bypass de WAF: deixar o tráfego HTTP ir diretamente ao servidor web de origem em vez de passar pelo WAF.
Este script tenta encontrar esse IP de origem, para que você possa se conectar diretamente ao servidor web de origem. Ataques como injeções de SQL ou SSRF não são filtrados e podem ser bem-sucedidos, ao contrário de quando há um WAF no meio que impede esse tipo de ataque.
Quando você encontrar um bypass, tem duas opções:
/etc/hosts (Linux/Mac) ou c:\Windows\System32\Drivers\etc\hosts (Windows). Adicione uma entrada como esta: 80.40.10.22 vincentcox.com.
A partir deste momento, seu tráfego HTTP vai diretamente para o servidor web de origem. Você pode realizar um teste de penetração como de costume, sem que suas requisições sejam bloqueadas pelo WAF.
Este script é útil para:
Os seguintes serviços são usados:
Por que em Bash e não em Python?
Começou como alguns one-liners de CURL, tornou-se um script bash, estendi o código cada vez mais, e o arrependimento de não usar Python cresceu proporcionalmente.
Eu encontro mais subdomínios com minhas ferramentas?
Eu sei. Não posso esperar que todos instalem todas essas ferramentas de brute-force e enumeração de DNS. Além disso, não sei de antemão em qual pasta essas ferramentas estão localizadas ou sob qual alias são chamadas. Você ainda pode fornecer sua própria lista com
-lpara alimentar a saída dessas ferramentas de subdomínio neste script. A entrada esperada é um subdomínio completo por linha.
bypass de WAF
Bypass de Firewall de Aplicação Web
Histórico de DNS
encontrar IP direto/origem do site
| Criador do Projeto |
|---|
|
|