[FUG-BR] OT - UDP checar porta

Patrick Tracanelli eksffa em freebsdbrasil.com.br
Sábado Março 22 14:52:22 BRT 2008


> Ola pessoal
>
> seguinte, ontem tive que fazer um script com algo q eu achava q seria
> trivial, e foi um fracasso
>
> quero testar se uma porta UDP num servidor remoto esta aberta
>
> testei com netcat, nc -dozu pois faco perfeitamente com -doz com proto
> tcp, e nada, a propria pagina de manual indica que nao funciona
>
> depois fiz um script perl usando net::ping e tambem eh impreciso pra UDP
>
> ai testei com o hping e ele flooda a porta sem deixar claro se ela ta
> ouvindo ou nao
>
> ai testei com nmap e vi que mesmo o nmap nao tem resultados coesos e
> confiaveis, dizendo open|filtered na maioria das portas, inclusive as
> sabidamente ouvindo...
>
> uma coisa  qachei seria simples, se mostrou um problemao
>
> aos hackers de plantao, como posso fazer isso de forma que o resultado
> seja confiavel?
>
> Testei o check_udp do nagios e tambem é um fracasso irmao hehehe
>
> por isso tem check_dns, check_radius, tudo separado... parece que nada
> checa UDP de forma generica confiavel...
>
> valeu

Cara, UDP é um protocolo tão simples e previsível que da até pra entender
exatamente como seu target de teste está configurado só pelo seu e-mail.

Entenda o seguinte, se você enviar um e-mail para uma porta UDP que não
estiver ouvindo, deve receber como resposta um icmp dst port unreacheable.
Se estiver ouvindo vai receber cedo ou tarde pelo menos um pacote udp, ou
não vai receber nada. É onde mora as caracteristicas do seu ambiente de
teste.

Se voce mandou um nmap numa porta que voce sabe que nao esta ouvindo e o
nmap responder open|filtered, as possibilidades são (1) um firewall no
caminho dropou o icmp unreach, ou (2) o servidor está com blackholes ativo
ou (3) a porta esta ativa.

Certamente o check_udp do nagios foi testado na mesma maquina e por isso
também não gerou resultado positivo. Veja por exemplo um scan num servidor
com blackholes:

# nmap -sU -P0 -T Aggressive <endereco>

Starting Nmap 3.95 ( http://www.insecure.org/nmap/ ) at 2008-03-22 14:29 BRT
All 1480 scanned ports on <omiti o endereco> are: open|filtered

Veja outro teste:

# nmap -sU -P0 -T Aggressive 10.69.69.1 -p 53,123,161,490,111,120

Starting Nmap 3.95 ( http://www.insecure.org/nmap/ ) at 2008-03-22 14:44 BRT
Interesting ports on main.bh.freebsdbrasil.com.br (10.69.69.1):
PORT    STATE         SERVICE
53/udp  open|filtered domain
111/udp open|filtered rpcbind
120/udp closed        cfdptkt
123/udp open|filtered ntp
161/udp open|filtered snmp
490/udp closed        micom-pfs

Todos os resultados acima, especialmente os CLOSED, sao validos, e a
maquina nao tem blackhole nem firewall.

Mais um:

 nmap -n -sU -P0 -T Aggressive 10.69.69.132 -p 123,161,5060,6554

Starting Nmap 3.95 ( http://www.insecure.org/nmap/ ) at 2008-03-22 14:48 BRT
Interesting ports on 10.69.69.132:
PORT     STATE         SERVICE
123/udp  closed        ntp
161/udp  closed        snmp
5060/udp open|filtered sip
6554/udp closed        unknown
MAC Address: 00:1C:10:56:D7:54 (Unknown)

Portanto perfeito, é a unica porta ativa mesmo.

Resumindo a opera: se seu host de target tem blackholes ou firewall
fechando icmp familia 3, esqueça! Não há como ter uma resposta confiave.

Porem, se não for o caso (e 90% das vezes não é) o nmap tem resultados
confiáveis. Entao podemos afirmar certamente que seu host de testes ou
filtra icmptype 3 ou esta com blackholes de UDP. Teste em outro target com
nmap e veja.


-- 
Patrick Tracanelli
(31) 3516 0800
sip://313306@sip.freebsdbrasil.com.br



Mais detalhes sobre a lista de discussão freebsd