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 MASQUERADEAplicando essa regra, e executando o nmap temos o seguinte resultado.
┌──(root💀kali)-[/home/user/Desktop]
└─# sudo nmap -sS -Pn 172.16.1.5
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2021-07-03 10:44 EDT
Nmap scan report for 172.16.1.5
Host is up (0.21s latency).
Not shown: 998 filtered ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 13.87 seconds
Apenas a porta 22 e 80 aparece aberta. Agora, passando uma porta de origem, podemos burlar isso.
┌──(root💀kali)-[/home/user/Desktop]
└─# sudo nmap -sS -Pn -g 53 172.16.1.5
Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times will be slower.
Starting Nmap 7.91 ( https://nmap.org ) at 2021-07-03 10:57 EDT
Nmap scan report for 172.16.1.5
Host is up (0.21s latency).
Not shown: 979 closed ports
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
23/tcp open telnet
25/tcp open smtp
53/tcp open domain
80/tcp filtered http
111/tcp open rpcbind
139/tcp open netbios-ssn
445/tcp open microsoft-ds
512/tcp open exec
513/tcp open login
514/tcp open shell
1099/tcp open rmiregistry
1524/tcp open ingreslock
2049/tcp open nfs
3306/tcp filtered mysql
5900/tcp open vnc
6000/tcp open X11
6667/tcp open irc
8009/tcp open ajp13
8180/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 7.99 secondsCom 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.
┌──(root💀kali)-[/home/user/Desktop]
└─# nc -vn -p 53 172.16.1.5 8180 > resultado.html
(UNKNOWN) [172.16.1.5] 8180 (?) open
GET / HTTP/1.0Abrindo esse arquivo, podemos ver as informações do servidor.

Last updated
Was this helpful?