NT-2026.10.12 DOSSIÊ

BYPASS WAF COM EVILWAF: TÉCNICAS DE BYPASS DE FIREWALL WEB

EvilWAF é um proxy MITM transparente e scanner de WAF que a referência apresenta em modos de proxy e varredura, com foco em características da camada de transporte.

Capa editorial BYPASS WAF COM EVILWAF

Introdução

A demonstração apresenta o EvilWAF como uma ferramenta de código aberto voltada a testar defesas de firewall de aplicações web por meio de características da camada de transporte.

A fonte contextualiza a mudança dos WAFs, que passaram de comparações simples de padrões para análises de comportamento. Nesse cenário, a proposta descrita para o EvilWAF é atuar na conexão usada pela ferramenta de teste, em vez de alterar diretamente a carga útil ou os cabeçalhos da aplicação.

O que é EvilWAF?

Segundo a referência, o EvilWAF é um proxy transparente Man-in-the-Middle (MITM) e um scanner de vulnerabilidades de WAF. A ferramenta é apresentada com dois modos: proxy e scanner independente.

No modo proxy, a ferramenta de teste é configurada para enviar o tráfego por meio do EvilWAF. A fonte descreve que o foco está nos perfis TCP, nas impressões digitais TLS, como JA3 e JA4, e em outros aspectos da conexão; as cargas de injeção SQL, o corpo HTTP e os cabeçalhos enviados pela ferramenta de teste não são modificados.

No modo independente, a referência descreve uma avaliação do próprio WAF em dez camadas de defesa, incluindo mecanismo de regras, limitação de taxa, técnicas de evasão, comportamento de métodos HTTP e configurações TLS.

Instalando o EvilWAF

A fonte mostra a preparação do EvilWAF em Kali Linux com um ambiente virtual Python. Os comandos abaixo são reproduzidos como aparecem na demonstração e não foram executados durante a preparação deste artigo.

kali> git clone https://github.com/matrixleons/evilwaf.git
kali> cd evilwaf
kali> python3 -m venv myenv
kali> source myenv/bin/activate
kali> pip3 install -r requirements.txt
kali> python3 evilwaf.py -h
Tela de ajuda do EvilWAF exibida no terminal
Tela de ajuda do EvilWAF apresentada na demonstração.

Configurando o certificado SSL

A demonstração informa que, por atuar como proxy MITM HTTPS, o EvilWAF gera um certificado de autoridade certificadora local na primeira execução. O procedimento mostrado pela fonte primeiro inicia a ferramenta para gerar o certificado e depois o importa no sistema Kali para evitar erros de SSL no uso de ferramentas de proxy.

kali> python3 evilwaf.py -t https://example.com
kali> sudo cp /tmp/evilwaf_ca_*/evilwaf-ca.pem /usr/local/share/ca-certificates/evilwaf-ca.crt
kali> sudo update-ca-certificates
Importação do certificado SSL do EvilWAF no terminal
Importação do certificado SSL do EvilWAF na demonstração.

Executando o EvilWAF no modo proxy

No modo proxy, a referência inicia o EvilWAF para a aplicação web em auditoria e informa que a interface de terminal escuta em 127.0.0.1:8080 por padrão. Em seguida, ela direciona a ferramenta de teste pelo proxy local.

kali> python3 evilwaf.py -t https://target.com
kali> sqlmap -u "https://target.com/page?id=1" --proxy=http://127.0.0.1:8080

A captura da fonte mostra a interface de terminal usada para acompanhar o tráfego e as técnicas de manipulação de camada de transporte, os perfis de impressão digital e as injeções de cabeçalho aplicadas às solicitações de saída.

Interface de terminal do EvilWAF em modo proxy
Interface do EvilWAF em execução no modo proxy.

Recurso de auto-hunt

A fonte também descreve o recurso auto-hunt, apresentado como uma busca pelo IP de origem por trás do WAF. Segundo a demonstração, essa etapa usa dez scanners paralelos, incluindo histórico de DNS, análise de certificado SSL e enumeração de subdomínios.

kali> python3 evilwaf.py -t https://target.com --auto-hunt

Depois de encontrar um IP de alta confiança, a ferramenta apresentada pela fonte pede confirmação para encaminhar o tráfego diretamente ao servidor de origem.

Saída de terminal do recurso auto-hunt do EvilWAF
Recurso auto-hunt mostrado pela demonstração.

Especificando o IP do servidor manualmente

Quando o endereço de origem já é conhecido, a demonstração mostra a opção de informá-lo manualmente.

kali> python3 evilwaf.py -t https://target.com --server-ip 1.2.3.4

Modo scanner independente de WAF

A etapa seguinte troca o modo proxy por uma varredura independente de vulnerabilidades do WAF. A referência apresenta esse modo como uma avaliação de falhas de configuração do firewall sem acionar uma ferramenta de terceiros.

kali> python3 evilwaf.py -t https://target.com --scan-only

A demonstração afirma que essa varredura investiga dez camadas de defesa simultaneamente; as duas capturas a seguir pertencem a essa sequência do modo scanner.

Primeira captura do modo scanner independente do EvilWAF
Primeira parte da saída do modo scanner independente.
Segunda captura do modo scanner independente do EvilWAF
Continuação da saída do modo scanner independente.

Nota importante sobre o Cloudflare

A fonte destaca o Cloudflare como um caso mais difícil, por operar como uma defesa em múltiplas camadas e usar centros de dados distribuídos para identificar e mitigar padrões de ataque.

Segundo a explicação apresentada, a análise considera sinais como impressões digitais TCP/IP e TLS, estrutura HTTP/2 e padrões comportamentais. A correlação desses fatores produz uma pontuação de risco para cada solicitação.

A referência também descreve uma resposta progressiva: desafios podem ser aplicados antes mesmo da inspeção completa da carga útil, e os limites de taxa consideram características da sessão, não apenas o endereço IP. Esse conjunto de sinais torna inadequado tratar o comportamento de um WAF moderno como uma simples lista estática de regras.

Por isso, a fonte ressalta que técnicas eficazes contra WAFs baseados em regras podem não funcionar contra o Cloudflare. O EvilWAF é apresentado apenas como um exemplo de como um bypass de WAF pode ocorrer, e não como uma solução infalível.

Resposta 403 do Cloudflare exibida na demonstração
Resposta 403 do Cloudflare apresentada na referência.

Resumo

A referência conclui que ofuscação de carga útil e codificação simples tendem a não ser suficientes diante de WAFs modernos. A demonstração usa o EvilWAF para discutir a relevância de características da camada de transporte, de perfis TLS e de comportamento na avaliação dessas defesas.