O Que É e Por Que Você Precisa de um WAF
Um Firewall de Aplicação Web (WAF) é crucial para proteger seu site. Ele filtra e monitora o tráfego, defendendo contra vulnerabilidades significativas. Empresas modernas estão atualizando suas infraestruturas para incluir WAFs. No entanto, é fundamental configurar corretamente esses firewalls para identificar e bloquear ataques externos, conforme recomendam especialistas.
Onde É Usado um WAF na Rede
Antes de implementar um WAF, é importante entender onde ele deve ser colocado na rede. Normalmente, o WAF está entre o firewall tradicional e o servidor web, monitorando o tráfego e protegendo contra ameaças externas.

Impressões Digitais: Coleta de Informações Críticas
Para utilizar eficazmente um WAF, é essencial reunir informações básicas sobre o alvo. A impressão digital é a técnica utilizada para coletar o máximo de dados possíveis sobre o alvo. Pentesters frequentemente usam impressões digitais para mapear a presença na web do alvo, permitindo desenvolver cenários de ataque precisos que identificam vulnerabilidades.
Como Realizar Impressões Digitais com Telnet
Agora, vamos explorar como usar o telnet básico para realizar impressões digitais de um site, uma prática essencial para hacking ético.
Telnet é uma ferramenta mais usada por administradores de rede/pentesters. O Telnet permite que você conecte computadores remotos em qualquer porta, conforme mencionado. Muitos dos firewalls de aplicativos Web deixam (ou inserem) parâmetros HTTP em cabeçalhos de resposta. Com a ajuda do telnet você pode encontrar informações básicas de impressão digital, como servidor, cookies que podem estar na impressão digital.
Digite:
telnet testsite.com 80
Saída do comando:
root@kali:/home/hackwit# telnet testsite.com 80
Trying 14.139.40.44…
Connected to testsite.com.
Escape character is ‘^]’.
Depois de executar o comando acima, digite GET / HTTP / 1.1 e pressione a tecla Enter 2 vezes como mostrado abaixo.
Você também pode executar HEAD / HTTP / 1.1 e POST / HTTP / 1.1 para análise mais aprofundada.
Saída do comando:
GET / HTTP/1.1
HTTP/1.1 200 OK
Server: Apache/2.2.9 (Debian) mod_fcgid/2.3.6
X-Powered-By: PHP/5.5.10-1~dotdeb.1
ETag: "2aa7c09658dda1cc89e2bd3b9673569d"
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: must-revalidate
Set-Cookie: SESSf528764d624db129b32c21fbca0cb8d6=o28jpp8kikr00m5io9l3boo1f4; expires=Thu, 27-Dec-2018 09:23:13 GMT; Max-Age=2000000; path=/
Last-Modified: Tue, 04 Dec 2018 05:44:52 GMT
Vary: Accept-Encoding
Content-Type: text/html; charset=utf-8
Content-Length: 63145
Date: Tue, 04 Dec 2018 05:49:53 GMT
X-Varnish: 1823464611
Age: 0
Via: 1.1 varnish
Connection: keep-alive
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta charset="utf-8">
=============================SNIPP===========================
</body>
</html>Connection closed by foreign host.
Depois de usar o telnet na porta de destino 80, ele mostra o servidor no qual o site está hospedado e o idioma de back-end no qual o site foi escrito (marcado em destaque e Itálico). As informações acima podem ser usadas em outras atividades de hacking.
A saída acima também retorna “X-Varnish: 1823464611″
Verniz é, na verdade, um proxy reverso HTTP de cache. O verniz reduz as ameaças de aplicações web. Este parâmetro HTTP na resposta HTTP que encontramos usando telnet mostra a presença de verniz no destino.
Impressão Digital Usando Nmap
Nmap é a ferramenta de auditoria de segurança mais usada por pentesters e administradores de rede. O Nmap é usado na coleta de informações do alvo.
Tipo:
nmap –script=http-waf-fingerprint testsite.com
ou digite
nmap –script=http-waf-fingerprint –script-args http-waf-fingerprint.intensive=1 testsite.com
Saída:
root@kali:/home/hackwit# nmap --script=http-waf-fingerprint testsite.com
Starting Nmap 7.70 ( https://nmap.org ) at 2018-12-04 02:58 EST
Nmap scan report for testsite.com (200.252.149.141)
Host is up (0.38s latency).
Not shown: 997 filtered ports
PORT STATE SERVICE
80/tcp open http
| http-waf-fingerprint:
| Detected WAF
| Citrix Netscaler
443/tcp open https
8080/tcp closed http-proxy
Nmap done: 1 IP address (1 host up) scanned in 31.98 seconds
Depois de executar o comando nmap, detecte o firewall do aplicativo Web citrix netscaler.
IMPRESSÃO DIGITAL USANDO WAFW00F
Wafw00f é a ferramenta mais conhecida para detectar o firewall de aplicação web. Wafw00f envia a solicitação http que identifica o firewall da aplicação Web.
Às vezes, enquanto o envio de solicitação HTTP não funciona, wafw00f envia a solicitação http maliciosa.
Se o envio de uma solicitação HTTP maliciosa falhar, wafw00f analisa a solicitação HTTP anterior e usa algoritmo simples para verificar se o firewall da aplicação web está respondendo aos nossos ataques ou não.
Wafw00f não vem pré-instalado em distros kali linux.
Instalação:
git clone https://github.com/EnableSecurity/wafw00f.git
Entre no diretório
cd wafw00f
Liste o conteúdo do diretório
ls
Saída:
root@kali:/home/hackwit# cd wafw00f
root@kali:/home/hackwit/wafw00f# ls
CREDITS.txt docs LICENSE Makefile MANIFEST.in nose.cfg README.md setup.py wafw00f
Execute o arquivo Setup.py
python setup.py install
Após a instalação de todos os arquivos execute o programa: wafw00f.
root@kali:/home/hackwit/wafw00f# wafw00f
^ ^
_ __ _ ____ _ __ _ _ ____
///7/ /.' \ / __////7/ /,' \ ,' \ / __/
| V V // o // _/ | V V // 0 // 0 // _/
|_n_,'/_n_//_/ |_n_,' \_,' \_,'/_/
<
...'
WAFW00F - Web Application Firewall Detection Tool
By Sandro Gauci && Wendel G. Henrique
Usage: wafw00f url1 [url2 [url3 ... ]]
example: wafw00f https://www.victim.org/
Seu uso é muito simples, bastando digitar o nome do programa seguido da Url do site alvo.
root@kali:/home/hackwit/wafw00f# wafw00f testsite.com
^ ^
_ __ _ ____ _ __ _ _ ____
///7/ /.' \ / __////7/ /,' \ ,' \ / __/
| V V // o // _/ | V V // 0 // 0 // _/
|_n_,'/_n_//_/ |_n_,' \_,' \_,'/_/
<
...'
WAFW00F - Web Application Firewall Detection Tool
By Sandro Gauci && Wendel G. Henrique
Checking https://testsite.com
The site https://testsite.com is behind a Citrix NetScaler
Number of requests: 6
Depois de executar o wafw00f. Ele mostra que o site de destino está usando o firewall do aplicativo Web citrix netscaler.
As informações acima são vitais e podem ser usadas em outras atividades de hacking
Conclusão
Neste artigo, aprendemos como detectar firewalls de aplicativos Web. É uma parte importante do teste de penetração na web. Este método é utilizado na fase inicial do Pentest ou do Bug Bount.
Cada vez mais o (waf) está se tornando importante no dia a dia e é sempre importante analisar seus logs de aplicativos web para encontrar novos ataques acontecendo no servidor de aplicativos web back-end. Isso permite que você personalize regras no firewall do aplicativo Web para fornecer segurança máxima.