Como muitos devem saber, o scanning de portas UDP funciona de forma distinta do TCP, pois tendo em vista que esse protocolo não é orientado a conexão, é necessário que haja algum tipo de interação entre o scanner e seu alvo.
Normalmente o Nmap funcionava da seguinte forma:
Caso uma porta não estivesse aberta, o alvo retorna um pacote ICMP (tipo 3, Código 3), sendo assim o Nmap entendia que aquela porta estava fechada, caso não houvesse resposta, algum tipo de firewall pode estar bloqueando a comunicação e assim o Nmap retornava da seguinte forma:
# nmap -sU -p123 192.168.122.254
Starting Nmap 5.00 ( http://nmap.org ) at 2010-01-28 13:17 Eastern Standard Time
Interesting ports on 192.168.122.254:
PORT STATE SERVICE
123/udp open|filtered ntp
MAC Address: 00:17:0E:0C:B7:61 (Cisco Systems)Nmap done: 1 IP address (1 host up) scanned in 1.91 seconds
Para essa checagem é enviado um pacote não válido como requisição padrão, nesse caso o NTP.
O problema é que ao receber esse pacote mal formado, o servidor NTP simplesmente descarta esse pacote, ou seja, não temos certeza se a porta está filtrada por um firewall ou aberta.
A versão 5.21 do Nmap promete resolver esse problema. Ao adicionar os payloads corretos, é possível requisitar o serviço corretamente e então obter um resultado mais preciso, tal como podemos verificar abaixo:
# nmap -sU -p 123 192.168.122.254
Starting Nmap 5.20 ( http://nmap.org ) at 2010-01-21 22:15 Eastern Standard Time
Nmap scan report for 192.168.122.254
Host is up (0.0019s latency).
PORT STATE SERVICE
123/udp open ntp
MAC Address: 00:17:0E:0C:B7:61 (Cisco Systems)Nmap done: 1 IP address (1 host up) scanned in 6.88 seconds
Agora vejam a comunicação com os payloads corretos:
O Nmap 5.21 tem suporte de payloads para os seguintes serviços/portas :
udp/7 echo
udp/53 domain
udp/111 rpcbind
udp/123 ntp
udp/137 netbios-ns
udp/161 SNMP
udp/177 xdmcp
udp/500 ISAKMP
udp/520 route
udp/1645 and udp/1812 RADIUS
udp/2049 NFS
udp/5353 zeroconf
udp/10080 amanda
Interessado no Nmap 5.21 ? Baixe os fontes aqui.
Usa algum distribuição de pacotes RPM? Execute o seguinte comando:
# rpm -vhU http://nmap.org/dist/nmap-5.21-1.i386.rpm
Fonte – SANS Diary
0sem comentários ainda