Identificando e dando Bypass em WAFs

Antes de nesse tópico, você enquanto invadia coisas por aí já se deparou com alguma coisa parecida com isso:
“sqlmap detect a WAF/IDS/IPs to you want sqlmap try to backend it?
Y/N ?”

Mas enfim, o que é esse tal WAF?
Leia a definição.

“Um firewall de Aplicação Web (WAF) pode ser um appliance, plugin do servidor ou um filtro que aplica um conjunto de regras para uma comunicação HTTP. Geralmente, estas regras abrangem os ataques comuns, tais como Cross-site Scripting (XSS) e SQL Injection. Ao personalizar as regras para a sua aplicação, muitos ataques podem ser identificados e bloqueados. O esforço para realizar esta personalização pode ser significativo e precisa ser mantido conforme a aplicação é modificada.

Um sistema WAF eficiente precisa, além de detectar e bloquear os ataques, identificar e separar os visitantes reais dos bots. Isso significa que eles devem ser capazes de identificar com precisão os visitantes do site, acompanhar o seu comportamento além de entender suas ações. Essa habilidade pode proporcionar maior flexibilidade, precisão e eficiência quando se deparam com novas ameaças que ainda não foram identificadas.”

Uma imagem explicativa.

(perdi o link)

Beleza. Agora, que você sabe, eu irei lhes apresentar uma tool que serve para reconhecer e dar bypass em certos módelos de WAFs.

Conheçam o WAFW00F!
Uma ferramente desenvolvida pra reconhecer! Ele faz o footprinting no servidor e descobre o WAF que o servidor usa.

Desenvolvida por Sandro Gauci e Wendel G. Henrique, essa ferramenta vai melhorar e facilitar sua vida muito!

Sem mais delongas, vou lhes apresentar essa tool.

Primeiramente, como ela funciona?

Envia uma solicitação HTTP normal e analisa a resposta, isso é: Identifica uma série de soluções WAF
Se isso não for bem sucedido, ele envia um número de pedidos (potencialmente malicioso) HTTP e usa a lógica simples de deduzir qual é WAF
Se isso também não for bem sucedida, ele analisa as respostas previamente retornado e usa outro algoritmo simples de adivinhar se um WAF ou solução de segurança está respondendo ativamente a nossos ataques.
Irei mostrar-lhes agora as opções que essa ferramenta tras:

x.JPG

Quem estiver interessado, pra instalar bastar abrir seu terminal e digitar os seguintes comandos:

waf.JPG

Agora, quem estiver com preguiça , não precisa do waf00f instalado, porque existem outras maneiras.
Mas enfim, quem estiver com alguma distro de Pentest aí (Kali Linux por exemplo.)
Basta ir no seu terminal e digitar:

$ nmap -p 80 –script http-waf-detect.nse <URL ou IP>

Mesmo assim se você estiver insatisfeito, tente manualmente, com o telnet…

$ telnet <IP ou URL> 80

(uma imagem, porque eu perdi o link)

Como você pode observar, apareceu ali que o WAF desse servidor se chama Varnish ( Alí, embaixo do Date, e no Via)

Via telnet funciona dessa maneira simples, é através dos cabeçalhos HTTP como muitos produtos WAF permitir que o cabeçalho para ser reescrito e eles também podem fazer o servidor web para produzir diferentes respostas HTTP de os mais comuns.

Via telnet, as vezes você pode apenas identificar que o servidor possui um WAF, porque ao momento que você conecta, ele droparia sua conexão (desconectando você).

(perdi a imagem culpa do M)

Então são dessas maneiras, que você identifica e faz o bypass em WAFs.
Mas lembre-se,nem sempre você conseguira dar Bypass e até mesmo identificar se o módelo do WAF que esse servidor possui.

Abraços e boa sorte!

Uma outra sugestão que deixo aqui é utilizando o próprio SQLMap. Antes de tentar atacar em si, caso tenha umas suspeitas, pode testar com um simples comando:

waf 1.JPG

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s