Bypass Firewall

Um dos grandes problemas ao scanear um host atrás de portas abertas, é quando o firewall bloqueia essa tentativa. Porém há maneiras mesmo havendo um firewall bloqueando, bypassar essa regra. Vamos supor que há um firewall bloqueando determinadas portas ao fazer um scan pelo nmap, ao fazermos isso não conseguimos receber a resposta dizendo que a porta está aberta. Uma técnica que pode ser feito para burlar isso, seria utilizar uma porta de origem, o tráfego de alguma determinada porta de origem pode estar sendo permitida pelo firewall. Uma das portas que poderíamos tentar: 53, 80, 443, etc. Se o firewall não foi muito bem configurado, podemos usar isso. Partindo pra prática, vamos rodar o nmap especificando a porta de origem que queremos utilizar.

Primeiro, veremos a regra do firewall que está configurada.

root@server5:/home/msfadmin/firewall# cat rules4.sh 
#!/bin/bash

# Ativar forward
sysctl -w net.ipv4.ip_forward=1

# Acertar as polĂ­ticas
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# Permintir entrada de tráfego
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT 
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT 
iptables -A INPUT -d 172.16.1.5 -i eth0 -p tcp -m tcp --sport 53 --dport 1024:65535 -j ACCEPT 
iptables -A INPUT -d 172.16.1.5 -i eth0 -p tcp -m tcp --sport 80 --dport 1024:65535 -j ACCEPT 
iptables -A INPUT -d 172.16.1.5 -i eth0 -p tcp -m tcp --sport 443 --dport 1024:65535 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 80 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 443 -j ACCEPT 
iptables -A OUTPUT -o eth0 -p tcp -m tcp --sport 1024:65535 --dport 53 -j ACCEPT 

# Mascaramento
iptables -t nat -A POSTROUTING -o 172.16.1.1/24 -j MASQUERADE

Aplicando essa regra, e executando o nmap temos o seguinte resultado.

Apenas a porta 22 e 80 aparece aberta. Agora, passando uma porta de origem, podemos burlar isso.

Com isso, conseguimos atingir serviços que antes não conseguimos, enviando a porta de origem junto.

Mas ao tentarmos conectar pelo browser na porta 8180, por exemplo, ele não nos mostra nada, fica apenas carregando a página. O motivo disso é porque o firewall está bloqueando, mas ainda há uma maneira de identificarmos o que está rodando no serviço utilizando o netcat, passando também uma porta de origem para burlar o filtro e por fim salvando num arquivo.

Abrindo esse arquivo, podemos ver as informações do servidor.

Last updated

Was this helpful?