Escolar Documentos
Profissional Documentos
Cultura Documentos
NMAP(1)
NAME
nmap - Ferramenta de explorao de Rede e Rastreio de Segurana / Portas
SYNOPSIS
nmap [Tipo de Rastreio(Scan)...] [Opes] {Especificao do Alvo}
DESCRIO
O Nmap (Network Mapper) uma ferramenta em cdigo aberto para explorao
de rede e auditoria de segurana. Foi desenhada para rastrear(Scan)
rapidamente redes amplas contudo funciona bem com um nico anfitrio(host).
Nmap usa pacotes IP em estado bruto(raw) sobre novas formas para determinar
que anfitries(hosts) esto disponveis na rede, que servios (nome e verso
da aplicao) esses anfitries(hosts) esto disponibilizando, que sistemas
operativos (e verses de SO) esto em uso, que tipo de filtros de
pacotes/firewalls esto em uso e dezenas de outras caractersticas. Enquanto
o Nmap frequentemente usado para auditorias de segurana, muitos sistemas
e
administradores de redes consideram-no til para as tarefas de rotina como o
inventrio da rede, gesto de actualizaes de servios e monitorizar o
uptime de anfitries ou servios.
ESPECIFICAO DE ALVO
Tudo na linha de comando do Nmap que no for uma opo (ou argumento de uma
opo) tratado como uma especificao de um anfitrio (host)-alvo. O caso
mais simples especificar um endereo IP como alvo ou um nome de
anfitrio(hostname) para ser rastreado(scaned).
DESCOBERTA DE HOSTS
Um dos primeiros passos em qualquer misso de reconhecimento de uma rede
reduzir um conjunto (s vezes enorme) de faixas de endereos IP, em uma
lista
de anfitries(hosts) activos e interessantes. Efectuar o rastreio(scan) de
cada porta de cada endereo IP lento e normalmente desnecessrio. claro
que o que torna um anfitrio(host) interessante depende muito do propsito
do
rastreio(scan). Administradores de rede podem estar apenas interessados em
hosts que executam um determinado servio, enquanto os auditores de
segurana
podem se importar com cada dispositivo que possuir um endereo IP. Um
administrador pode se sentir vontade em usar o ping ICMP para localizar os
anfitries(hosts) na rede interna, enquanto um profissional externo de
anlise de vulnerabilidades (penetration tester) pode utilizar um conjunto
diversificado de dezenas de sondagens numa tentativa de enganar as
restries
da firewall.
Se nenhuma opo de descoberta de hosts for dada, o Nmap envia um pacote TCP
ACK destinado a porta 80 e uma procura ICMP Echo Request a cada mquina-
alvo.
Uma exceo a isso que um rastreio(scan) ARP utilizado para cada alvo
localizado na rede ethernet local. Para usurios Unix sem privilgios de
shell, um pacote SYN enviado ao invs do ack utilizando a chamada de
sistema connect(). Esses valores default equivalem s opes -PA -PE. Esta
descoberta de anfitrio(host) frequentemente suficiente para o
rastreio(scan) de redes locais, mas um conjunto de sondagens mais
abrangentes
recomendado para auditoria de segurana.
As opes -P* (que seleccionam tipos de ping) podem ser combinadas. Voc
pode
aumentar as chances de penetrar numa firewall enviando muitos tipos de
sondagens, utilizando diferentes portas/flags TCP e cdigos ICMP. Note
tambm
que a descoberta por ARP (-PR) feita por default contra alvos na rede
ethernet local mesmo que especifique outras opes -P* , porque quase
sempre mais rpida e mais eficiente.
Uma vez que a idia apenas mostrar uma lista dos hosts-alvos, as
opes
de funcionalidade de nvel mais alto tais como o rastreio(scan) de
portas, deteco de SO, ou rastreio(scan) utilizando ping, no podem ser
combinadas com esta opo. Se deseja desactivar o rastreio(scan)
utilizando ping enquanto executa funes de nvel elevado, leia a opo
-P0.
A flag SYN sugere aos sistemas remotos que est tentando estabelecer uma
comunicao. Normalmente a porta de destino estar fechada e um pacote
RST (reset) ser enviado de volta. Se a porta estiver aberta, o alvo ir
dar o segundo passo do cumprimento-de-trs-vias (3-way-handshake) do TCP
respondendo com um pacote TCP SYN/ACK TCP. A mquina executando o Nmap
ento derruba a conexo recm-criada respondendo com um RST ao invs de
enviar um pacote ACK que iria completar o cumprimento-de-trs-vias e
estabelecer uma conexo completa. O pacote RST enviado pelo kernel da
mquina que est executando o Nmap em resposta ao SYN/ACK inesperado, e
no pelo prprio Nmap.
A opo -PA utiliza a mesma porta default que a sondagem SYM (80) e pode
tambm obter uma lista de portas destino no mesmo formato. Se um usurio
privilegiado tenta isto, ou se um alvo IPv6 especificado, o contorno
connect() discutido anteriormente utilizado. Esse contorno
imperfeito
pois o connect() est realmente enviando um pacote SYN ao invs de um
ACK.
O motivo para oferecer ambas as sondagens ping, que utilizam SYN e ACK,
A principal vantagem deste tipo de scan que ele passa por firewalls e
filtros que apenas examinam o TCP. Por exemplo, uma vez eu tive um
router
broadband sem-fios Linksys BEFW11S4. A interface externa desse
dispositivo filtrava todas as portas TCP por default, mas as sondagens
UDP ainda causavam mensagens de porta inalcanvel, denunciando assim o
dispositivo.
aberto (open)
Uma aplicao est activamente aceitando conexes TCP ou pacotes UDP
nesta porta. Encontrar esse estado frequentemente o objectivo
principal
de um rastreio(scan) de portas. Pessoas conscientes sobre a segurana
sabem que cada porta aberta um convite para um ataque. Invasores e
profissionais de avaliao de segurana querem explorar as portas
abertas, enquanto os administradores tentam fechar ou proteger com
firewalls sem bloquear usurios legtimos. Portas abertas so tambm
interessantes para rastreios(scans) no-relacionados segurana pois
mostram os servios disponveis para utilizao na rede.
fechado (closed)
Uma porta fechada est acessvel (ela recebe e responde a pacotes de
sondagens do Nmap), mas no h nenhuma aplicao ouvindo nela. Elas
podem
ser teis para mostrar que um anfitrio(host) est activo em um
determinado endereo IP (descoberta de hosts, ou rastreio(scan) usando
ping), e como parte de uma deteo de SO. Pelo facto de portas fechadas
serem alcanveis, pode valer a pena o rastreio(scan) mais tarde no caso
de alguma delas abrir. Os administradores deveriam considerar o bloqueio
dessas portas com um firewall. Ento elas apareceriam no estado
filtrado,
discutido a seguir.
filtrado(filtered)
O Nmap no consegue determinar se a porta est aberta porque uma
filtragem de pacotes impede que as sondagens alcancem a porta. A
filtragem poderia ser de um dispositivo firewall dedicado, regras de
router, ou um software de firewall baseado em anfitrio(host). Essas
portas frustram os atacantes pois elas fornecem poucas informaes. s
vzes elas respondem com mensagens de erro ICMP tais como as do tipo 3
cdigo 13 (destino inalcanvel: comunicao proibida
administrativamente), mas os filtros que simplesmente descartam pacotes
sem responder so bem mais comuns. Isso fora o Nmap a tentar diversas
vezes s para o caso de a sondagem ter sido descartada por
congestionamento da rede ao invs de filtragem. Isso reduz a velocidade
do rastreio(scan) dramaticamente.
no-filtrado(unfiltered)
O estado no-filtrado significa que uma porta est acessvel, mas que o
Nmap incapaz de determinar se ela est aberta ou fechada. Apenas o
rastreio(scan) ACK, que usado para mapear conjuntos de regras de
firewall classifica portas com este estado. O rastreio(scan) de portas
no-filtradas com outros tipos de scan, tal como scan Window, scan Syn,
ou scan FIN, podem ajudar a responder se a porta est aberta.
open|filtered
O Nmap coloca portas neste estado quando incapaz de determinar se uma
porta est aberta ou filtrada. Isso acontece para tipos de
rastreio(scan)
onde as portas abertas no do nenhuma resposta. A falta de resposta
poderia tambm significar que um filtro de pacotes descartou a sondagem
ou qualquer resposta que ela tenha provocado. Portanto o no sabe com
certeza se a porta est aberta ou se est sendo filtrada. Os
rastreios(scans) UDP, IP Protocol, FIN, Null, e Xmas classificam portas
desta forma.
closed|filtered
Este estado usado quando o Nmap incapaz de determinar se uma porta
est fechada ou filtrada. apenas usado para o rastreio(scan) IPID Idle
scan.
O rastreio(scan) UDP activado com a opo -sU. Ele pode ser combinado
com um tipo de rastreio(scan) TCP como o rastreio(scan) SYN (-sS) para
averiguar ambos protocolos na mesma execuo.
O SYN UDP funciona enviando um cabealho UDP vazio (sem dados) para cada
porta pretendida. Se um erro ICMP de porta inalcanvel (tipo 3, cdigo
3) retornado a porta est fechada. Outros erros do tipo inalcanvel
(tipo 3, cdigos 1, 2, 9, 10, ou 13) marcam a porta como filtrada.
Ocasionalmente um servio ir responder com um pacote UDP provando que
est aberta. Se nenhuma resposa recebida aps as retransmisses a
porta
classificada como aberta|filtrada. Isso significa que a porta poderia
estar aberta ou talvez que filtros de pacotes estejam bloqueando a
comunicao. Rastreios(scans) de verses (-sV) podem ser utilizados para
ajudar a diferenciar as portas verdadeiramente abertas das que esto
filtradas.
rastreio(scan) Xmas(-sX)
Marca as flags FIN, PSH e URG, iluminando o pacote como uma rvore
de
Natal.
Depois que as portas TCP e/ou UDP forem descobertas usando qualquer um dos
outros mtodos de rastreio(scan), a deteco de verso interroga essas
portas
para determinar mais informaes sobre o que realmente sendo executado
nessas
portas. O banco de dados nmap-service-probes do Nmap contm sondagens para
pesquisar diversos servios e expresses de acerto (match expressions) para
reconhecer e destrinchar as respostas. O Nmap tenta determinar os protocolos
de servios (p.ex.: ftp, ssh, telnet, http), o nome da aplicao (p.ex.: ISC
Bind, Apache httpd, Solaris telnetd), o nmero da verso, o nome do
anfitrio(host), tipo de dispositivo (p.ex.: impressora, router), a famlia
do SO (p.ex.: Windows, Linux) e s vezes detalhes diversos do tipo, se um
servidor X est aberto para conexes, a verso do protocolo SSH ou o nome do
usurio do KaZaA. claro que a maioria dos servios no fornece todas essas
informaes. Se o Nmap foi compilado com o suporte ao OpenSSL ele ir se
conectar aos servidores SSL para deduzir qual o servio que est escutando
por trs da camada criptografada. Quando os servios RPC so descobertos, o
"amolador" de RPC (RPC grinder) do Nmap (-sR) automaticamente utilizado
para determinar o nome do programa RPC e o nmero da verso. Algumas portas
UDP so deixadas no estado aberta|filtrada depois que rastreio(scan) de
porta
UDP no consegue determinar se a porta est aberta ou filtrada. A deteco
de
verso ir tentar provocar uma resposta dessas portas (do mesmo jeito que
faz
com as portas abertas) e alterar o estado para aberta se conseguir. Portas
TCP do tipo aberta|filtrada so tratadas da mesma forma. Note que a opo -A
do Nmap habilita a deteco de verso entre outras coisas. Um trabalho
documentando o funcionamento, uso e customizao da deteco de verso est
disponvel em http://www.insecure.org/nmap/versionscan.html.
DETECO DE SO
Uma das caractersticas mais conhecidas do Nmap a deteco remota de SO
utilizando a identificao da pilha (stack fingerprinting) do TCP/IP. O Nmap
envia uma srie de pacotes TCP e UDP ao anfitrio(host) remoto e examina
praticamente todos os bits das respostas. Aps executar dezenas de testes
como a amostragem TCP ISN, suporte e ordenamento das opes do TCP,
amostragem IPID e a observao do tamanho inicial da janela, o Nmap compara
os resultados com o banco de dados nmap-os-fingerprints com mais de 1500
identificaes de SO conhecidas e mostra os detalhes do SO se houver uma
correspondncia. Cada identificao inclui uma descrio textual livre do SO
e uma classificao que fornece o nome do fabricante (p.ex.: Sun), SO base
(p.ex.: Solaris), gerao do SO (p.ex.: 10) e tipo de dispositivo (genrico,
router, switch, consola de jogo, etc.).
Embora o -T0 e o -T1 possam ser usados para evitar alertas no IDS, eles
iro leva muito mais tempo para rastrear(scan) milhares de mquinas ou
portas. Para um rastreio(scan) to amplo prefira estabelecer os valores
exatos de temporizao que precisa ao invs de depender dos valores
"engessados" de -T0 e -T1.
Os principais efeitos de T0 serializar o rastreio(scan) de forma que
apenas uma porta rastreada de cada vez e ento aguardar cinco minutos
entre o envio de cada sondagem. T1 e T2 so similares mas aguardam
apenas 15 segundos e 0,4 segundos, respectivamente, entre as sondagens.
T3 o comportamento default do Nmap, que inclui o paralelismo. T4 faz
o
mesmo que --max-rtt-timeout 1250 --initial-rtt-timeout 500 e estabelece
o
atraso mximo de rastreio(scan) TCP em 10 milissegundos. T5 faz o mesmo
que --max-rtt-timeout 300 --min_rtt_timeout 50 --initial-rtt-timeout 250
--host-timeout 900000 e estabelece o atraso mximo de rastreio(scan) TCP
em 5ms.
No existe uma carta mgica (ou opo do Nmap) para detectar e subverter
firewalls e sistemas IDS. necessrio habilidade e experincia. Um tutorial
est alm do objectivo deste guia de referncia que apenas lista as opes
relevantes e descreve suas funes.
Vale a pena observar que usar chamarizes demais pode deixar seu
rastreio(scan) lento e potencialmente at torn-lo menos preciso. Outra
coisa, alguns provedores ISP iro filtrar os seus pacotes disfarados
mas
muitos no restringem pacotes IP disfarados.
SADA (OUTPUT)
Qualquer ferramenta de segurana s til se a sada que ela gera tambm o
for. Testes e algortmos complexos so de pouco valor se no forem
apresentados de uma forma organizada e compreensvel. Dado o nmero de
formas
que o Nmap utilizado pelas pessoas e por outros softwares, nenhum formato
ir agradar a todos. Ento o Nmap oferece diversos formatos incluindo o modo
interativo para humanos lerem diretamente e o XML para fcil interpretao
por um software.
Mesmo que essas opes gravem os resultados em arquivos, o Nmap ainda assim
mostra a sada interativa na stdout como de costume. Por exemplo, o comando
nmap -oX myscan.xml target grava em XML no myscan.xml e enche a sada padro
com os mesmos resultados interativos que teria mostrado se a opo -oX no
tivesse sido especificada. Voc pode mudar isso passando um caracter hfen
como argumento de um dos tipos de formato. Isso faz com que o Nmap desactive
a sada interativa e apenas grave os resultados no formato que especificou
para a sada padro. Dessa forma, o comando nmap -oX - target ir enviar
apenas a sada XML para a stdout. Erros srios ainda podem ser mostrados na
sada padro de erros, stderr.
A sada XML faz referncia a uma folha de estilo que pode ser usada para
formatar os resultados em HTML. A forma mais fcil de se utilizar isso
simplesmente carregar a sada XML em um navegador web como o Firefox ou
o
IE. Por default, isso s ir funcionar na mquina onde rodou o Nmap (ou
em uma mquina similarmente configurada) devido ao caminho (path) do
sistema de arquivos (filesystem) gravado de forma inaltervel do
nmap.xsl. Veja a opo --stylesheet para ver uma forma de criar um
arquivo XML portvel que possa ser interpretado como um HTML em qualquer
mquina conectada web.
Assim como na sada XML, esta pgina man no permite que se documente o
formato todo. Uma viso mais detalhada sobre o formato de sada para o
grep do Nmap est disponvel em http://www.unspecific.com/nmap-oG-
output.
aumentado.
v / V
Aumenta / Diminui a quantidade de informaes (Verbosity)
d / D
Aumenta / Diminui o Nvel de Depurao (Debugging Level)
p / P
Habilita / Desabilita o Rastreamento de Pacotes (Packet Tracing)
EXEMPLOS
Aqui esto alguns exemplos de utilizao do Nmap desde o simples e
rotineiro,
at ao mais complexo e esotrico. Alguns endereos IP reais e nomes de
domnio foram utilizados para tornar as coisas mais concretas. Nesses
lugares
deve substituir os endereos/nomes pelos da sua prpria rede. Embora eu no
ache que o rastreio(scan) de portas de outras redes seja ou deva ser
considerado ilegal, alguns administradores de rede no apreciam o
rastreio(scan) no-solicitado de suas redes e podem reclamar. Obter a
permisso antecipadamente a melhor opo.
nmap -v scanme.nmap.org
BUGS
Como o seu autor, o Nmap no perfeito. Mas pode ajudar a torn-lo melhor
enviando relatrios de erros (bug reports) ou mesmo escrevendo correes. Se
o Nmap no se comporta da forma que espera, primeiro actualize para a verso
mais atual disponvel em http://www.insecure.org/nmap/. Se o problema
persistir, pesquise um pouco para determinar se o problema j foi descoberto
e encaminhado. Tente procurar no Google pela mensagem de erro ou navegar nos
arquivos da Nmap-dev em http://seclists.org/. Se no encontrar nada envie
uma
mensagem com um relatrio do erro para dev@nmap.org. Por favor inclua tudo o
que souber sobre o problema bem como a verso do Nmap que est executando e
em qual verso e sistema operativo que est a usar.
AUTOR
Fyodor fyodor@nmap.org (http://www.insecure.org)
TRADUO
Portugus (Portugal) : Jos Domingos jd_pt@yahoo.com Portugus (Portugal) :
Andreia Gaita shana.ufie@gmail.com
AVISOS LEGAIS
Copyright e Licenciamento
O Nmap Security Scanner (C) 1996-2005 Insecure.Com LLC. O Nmap tambm
uma
marca registada de Insecure.Com LLC. Este programa um software livre; pode
redistribu-lo e/ou modific-lo sob os termos da Licena Pblica Geral GNU
(GNU General Public License) conforme publicado pela Free Software
Foundation; Verso 2. Isso garante o seu direito de usar, modificar e
redistribuir este software sob certas condies. Se desejar embutir a
tecnologia do Nmap em um software proprietrio poderemos querer vender
licenas alternativas (contate sales@insecure.com). Muitos vendedores de
scanner de segurana j licenciam a tecnologia do Nmap, tal como a
descoberta
de anfitries(hosts), rastreio(scan) de portas, deteco de SO e deteco de
servios/verses.
O termo Nmap deve ser considerado como contendo parte ou sendo trabalho
derivado do Nmap. Esta lista no definitiva mas deve ser entendida como
uma
forma de esclareer nossa interpretao de trabalho derivado com alguns
exemplos comuns. Estas restries apenas se aplicam quando realmente
redistribui o Nmap. Por exemplo, nada impede que escreva e venda um front-
end
proprietrio para o Nmap. Apenas redistribua o seu produto isoladamente e
mostre s pessoas onde elas podem descarregar(download) o Nmap.
Como uma exceo especial aos termos da GPL, a Insecure.Com LLC permite que
uma ligao (link) do cdigo deste program seja feito com qualquer verso da
biblioteca do OpenSSL que seja distribuda sob uma licena idntica quela
listada no arquivo Copying.OpenSSL incluido e distribuir combinaes de
ligao incluindo os dois. Deve obedecer GPL GNU em todos os aspectos para
todo o cdigo utilizado que no seja OpenSSL. Se modificar este aquivo pode
estender esta excepo para a sua verso do arquivo mas no obrigado a
fazer isso.
O cdigo fonte tambm permite que porte o Nmap para novas plataformas
consserte problemas e adicione novas caractersticas. E altamente encorajado
a enviar suas alteraes para fyodor@nmap.org para uma possvel incorporao
na distribuio principal. Enviar essas alteraes para Fyodor ou para
algum
da lista de mensagens de desenvolvimento da Insecure.Org, pressupe que est
oferecendo a Fyodor e Insecure.Com LLC o direito ilimitado e no-exclusivo
para reutilizar, modificar e relicenciar o cdigo. O Nmap sempre estar
disponvel como um Open Source mas isto importante porque a
impossibilidade
de relicenciar o cdigo causou problemas devastadores para outros projetos
de
Software Livre (tal como o KDE e o NASM). Ns tambm relicenciamos
ocasionalmente o cdigo para terceiros conforme discutido anteriormente. Se
deseja especificar condies de licenciamento especiais das suas
contribuies deixe isso claro quando envi-las.
Nenhuma Garantia
Este programa distribudo na esperana de que ser til mas SEM QUALQUER
GARANTIA; sem sequer a garantia implcita de COMERCIALIZAO ou ADEQUAO A
QUALQUER PROPSITO PARTICULAR. Veja a Licena Pblica Geral GNU para mais
detalhes em http://www.gnu.org/copyleft/gpl.html ou no arquivo COPYING
includo com o Nmap.
Tambm deve ser observado que o Nmap reconhecidamente trava certas
aplicaes
mal-escritas, a pilha TCP/IP e mesmo alguns sistemas operativos. O Nmap
nunca deve ser executado contra sistemas de misso-crtica a menos que
esteja
preparado para lidar com o servio fora do ar (downtime). Ns reconhecemos
aqui que o Nmap pode travar os seus sistemas ou redes e ns renunciamos toda
e qualquer responsabilidade por qualquer dano ou problema que o Nmap possa
causar.
Uso inapropriado
Pelo facto de haver o menor risco de travamento e porque existem pessoas
mal-intencionadas (black hats) que gostam de usar o Nmap para reconhecimento
antes atacar um sistema, existem administradores que ficam chateados e podem
reclamar quando o sistema deles rastreado. Portanto normalmente
aconselhvel que solicite a permisso antes de fazer um rastreio(scan) de
uma
rede por mais leve que seja.
O Nmap nunca deveria ser instalado com privilgios especiais (p.ex.: suid
root) por questes de segurana.
Software de Terceiros
Este produto inclui software desenvolvido pela Apache Software
Foundation[8].
Uma verso modificada da biblioteca porttil de captura de pacotes
Libpcap[9]
distribuda junto com o Nmap. A verso para o Windows do Nmap por outro
lado utiliza biblioteca WinPcap[10], derivada da libpcap. O suporte a
expresses regulares fornecido pela biblioteca PCRE[11] que um software
de cdigo aberto escrito por by Philip Hazel. Algumas funes de rede em
estado bruto utilizam a biblioteca de rede Libdnet[12] que foi escrita por
Dug Song. Uma verso modificada distribuda com o Nmap. O Nmap pode
opcionalmente ser ligado ao conjunto de ferramentas de criptografia do
OpenSSL[13] para o suporte deteco de verso do SSL. Todos os softwares
de
terceiros descritos neste pargrafo so distribudos gratuitamente sob o
licenciamento de software no estilo BSD.
NOTES
1. RFC 1122
http://www.rfc-editor.org/rfc/rfc1122.txt
2. RFC 792
http://www.rfc-editor.org/rfc/rfc792.txt
3. UDP
http://www.rfc-editor.org/rfc/rfc768.txt
4. RFC do TCP
http://www.rfc-editor.org/rfc/rfc793.txt
5. RFC 959
http://www.rfc-editor.org/rfc/rfc959.txt
6. Nmap::Scanner
http://sourceforge.net/projects/nmap-scanner/
7. Nmap::Parser
http://www.nmapparser.com
12. Libdnet
http://libdnet.sourceforge.net