Documente Academic
Documente Profesional
Documente Cultură
Mapeador de Redes
Nmap
Mapeador de Redes
Gordon Fyodor Lyon
Traduo:
Angelo Giuseppe Meira Costa (angico)
SUMRIO
Prefcio ..........................................................................................xxxv
1. Introduo............................................................................xxxv
2. Pblico alvo e organizao .................................................xxxvi
3. Convenes .......................................................................xxxvii
4. Outros recurssos .................................................................xxxix
5. Requisies de comentrios ...............................................xxxix
6. Agradecimentos ........................................................................xl
1. Iniciando-se com o Nmap ...............................................................1
1.1. Introduo...............................................................................1
1.2. Viso Geral e Demonstrao do Nmap ..................................2
1.2.1. A Avatar Online .................................................................................2
1.2.2. Salvando a Raa Humana ...............................................................12
1.2.3. MadHat no Pas das Maravilhas .....................................................15
VIII
Sumrio
IX
Sumrio
XI
5.5. Exames de TCP por FIN, Nulo e de Natal (-sF, -sN, -sX) .169
5.6. Tipos de Exames Personalizados com --scanags .............174
5.6.1. Exame Personalizado por SYN/FIN .............................................175
5.6.2. Exame por PSH .............................................................................176
XII
Sumrio
XIII
7.9. SOLUO: Aprimorar a Deteco de Verso para Adequla a Necessidades Personalizadas, tais como a Deteco de
Proxies Abertos ..................................................................267
7.9.1. Problema .......................................................................................267
7.9.2. Soluo..........................................................................................268
7.9.3. Discusso ......................................................................................269
8. Deteco de SO Remoto..............................................................271
8.1. Introduo...........................................................................271
8.1.1. Razes para Deteco de SO ........................................................272
XIV
Sumrio
XV
XVI
Sumrio
XVII
XVIII
Sumrio
XIX
XX
Sumrio
XXI
XXII
ndice Remissivo..............................................................................667
LISTA DE FIGURAS
XXIV
LISTA DE TABELAS
XXVI
LISTA DE EXEMPLOS
XXVIII
Lista de Exemplos
XXIX
XXX
Lista de Exemplos
XXXI
XXXII
Lista de Exemplos
XXXIII
XXXIV
PREFCIO
1. Introduo
Em 1 de setembro de 1997, eu liberei um scanner de segurana chamado Nmap,
na 51 edio da revista Phrack. Meu objetivo era consolidar o fragmentado
campo de scanners de portas de propsitos especiais em uma ferramenta livre
poderosa e exvel, fornecendo uma interface consistente e uma implementao eciente de todas as tcnicas prticas de exame de portas. O Nmap, ento,
consistia de trs arquivos (aproximadamente 2.000 linhas de cdigo) e suportava apenas o sistema operacional Linux. Ele foi escrito para meus prprios
propsitos, e foi liberado na esperana de que outros o achassem til.
Deste modesto incio, e atravs da fora do desenvolvimento do Cdigo Aberto, o Nmap cresceu at se tornar o scanner de segurana de redes mais popular
do mundo1, com milhes de usurios em todo o mundo. Ao longo dos anos,
o Nmap continuou a adicionar funcionalidades avanadas, tais como a deteco de SO remoto, a deteco de verso/servio, o exame ocioso por ID de
IP, o Mecanismo de Scripts do Nmap, e o rpido exame de multiprovas por
ping. Ele suporta, agora, todas as principais plataformas do Unix, Windows, e
Mac OS. Tanto verses de console quanto grcas esto disponveis. Publicaes, incluindo Linux Journal, Info World, LinuxQuestions.Org, e Codetalker
Digest reconheceram o Nmap como ferramenta de segurana do ano. Ele
at participou de vrios lmes2, incluindo The Matrix Reloaded, O Ultimato
Bourne, e Duro de Matar 4.
1 Com base na frequncia de download, nmero de alcances no Google, e na parada de popularidade de software do Freshmeat.Net.
2 http://nmap.org/movies.html
XXXVI
Prefcio
XXXVII
3. Convenes
A sada do Nmap usada, ao longo deste livro, para demonstrar princpios e
funcionalidades. A sada frequentemente editada para excluir linhas que sejam irrelevantes para a questo sendo levantada. As datas/horrios e nmeros
de verses apresentados pelo Nmap so, geralmente, removidos, tambm, j
que alguns leitores acham-nas distrativas. Informaes delicadas, como nomes
de hospedeiros, endereos IP e endereos MAC, podem ser trocados ou removidos. Outras informaes podem ser excludas, ou as linhas serem quebradas
para que possam caber numa pgina impressa. Edies similares so feitas
na sada de outras aplicaes. O exemplo 1 d uma ideia das capacidades do
Nmap, ao mesmo tempo que tambm demonstra a formatao da sada.
XXXVIII
Formatao especial fornecida para certos smbolos, como nomes de arquivos e comandos de aplicaes. A tabela 1 demonstra as convenes de formatao mais comuns.
Exemplo
string literal
Eu co muito mais excitado com portas no estado open (aberto) do que com
as que so relatadas como closed (fechadas) ou ltered (ltradas).
Opes de linha de
comando
Nomes de arquivos
nfase
Comandos de
aplicaes
Variveis
substituveis
Prefcio
XXXIX
4. Outros recursos
Embora este livro seja uma importante referncia do Nmap, ele no a nica.
A pgina web do Nmap, em http://nmap.org no s para downloads. Ela
tambm fornece documentao substancial dos desenvolvedores do Nmap e
de terceiros. Por exemplo, voc pode encontrar o Guia de referncia do Nmap
traduzido para uma dzia de linguagens, l. Outros livros, vdeos e artigos
abordando o Nmap tambm esto disponveis.
O website ocial para este livro est em http://nmap.org/book/. V at l em
busca de erratas, atualizaes, e muitos captulos de amostra.
Qualquer usurio srio do Nmap deve se subscrever na lista de correio nmaphackers para anncios sobre o Nmap e a Insecure.Org. O trfego muito leve
(cerca de seis postagens por ano) porque ela reservada somente para anncios muito importantes. Os desenvolvedores e usurios particularmente devotados podem, tambm, subscrever para a lista de correio nmap-dev. O trfego
muito mais alto (centenas de postagens por ms), mas ela um timo lugar
para aprender e experimentar novas funcionalidades, antes que elas sejam liberadas e para coletar dicas de usurios avanados. Informaes de subscrio
e arquivos de ambas as listas esto disponveis em http://seclists.org.
Embora o Nmap possa ser til, ele no resolver todos os seus problemas de
segurana. De tempos em tempos eu fao um levantamento com milhares de
usurios do Nmap para determinar de que outras ferramentas eles gostam. A
lista postada em http://sectools.org, que se tornou um de meus websites mais
populares. Leia a lista e voc certamente encontrar muitas preciosidades de que
jamais ter ouvido falar. A maioria das ferramentas livre e de cdigo aberto.
5. Requisies de comentrios
Apesar de eu ter feito o melhor possvel para tornar este livro abrangente, preciso
e atualizado, ns todos cometemos erros. Se voc encontrar quaisquer problemas
ou apenas tiver sugestes para tornar este livro melhor, por favor, deixe-me saber
por email para <fyodor@insecure.org>. O princpio do cdigo aberto de muitos
leitores e contribuintes to vivel para a documentao quanto para o software.
Como a prxima seo atesta, dezenas de pessoas j contriburam generosamente
com seu tempo e conhecimentos para fazer deste livro um sucesso.
XL
Se voc tiver uma pergunta ou um comentrio sobre o Nmap (ao invs de sobre o livro, em si), ser melhor envi-la lista de desenvolvimento do Nmap,
como descrito na seo 15.17, Erros.
6. Agradecimentos
Quando eu primeiramente sugeri a ideia de escrever um livro sobre o Nmap
lista de correio nmap-hackers, fui inundado por sugestes e ofertas de ajuda. Esta exploso de entusiasmo me convenceu a execut-la. Minha completa ingenuidade sobre a quantidade de trabalho que estaria envolvida tambm
contribuiu para minha deciso. Esta foi uma grande empresa, mas o que me
manteve seguindo captulo a captulo foi um grupo privado de reviso chamado nmap-writers (escritores do nmap). Eles forneceram retornos, conselhos e
notas de reviso valiosas, ao longo do processo. Em particular, eu gostaria de
agradecer s seguintes pessoas:
David Field listado primeiro (todos os demais em ordem alfabtica do sobrenome) porque ele foi uma tremenda ajuda durante o processo de escrita do livro. Ele solucionou uma
srie de problemas tcnicos do DocBook, criou muitas das ilustraes nais, partindo de
meus terrveis rascunhos, melhorou dramaticamente o ndice, ajudou com a prova de leitura
e at escreveu o captulo 12, Guia do usurio da GUI Zenmap.
Matt Baxter permitiu o uso de seus belos diagramas de cabealhos de TCP/IP (na seo 7,
Referncia do TCP/IP). Vrios outros diagramas, neste livro, foram feitos nesse estilo,
para corresponderem.
Saurabh Bhasin contribuiu com retorno detalhado, numa base regular.
Mark Brewis com quem sempre se podia contar para bons conselhos.
Ellen Colombo foi de grande auxlio desde o comeo.
Patrick Donnelly ajudou a melhorar o captulo 9, O Mecanismo de Scripts do Nmap.
Brandon Enright imprimiu o livro completo e o revisou captulo a captulo.
Brian Hatch sempre foi de grande ajuda.
Loren Heal foi uma contnua fonte de ideias.
Dan Henage forneceu conselhos e fez a prova de leitura de numerosos captulos.
Tor Houghton revisou cada captulo, provavelmente fornecendo-me mais retorno que
qualquer outro.
Prefcio
XLI
Doug Hoyte documentou as muitas funcionalidades do Nmap que ele adicionou, e tambm
manipulou a maior parte da indexao do livro.
Marius Huse Jacobsen revisou muitos captulos, fornecendo retorno detalhado.
Kris Katterjohn realizou revises exaustivas de vrios captulos.
Eric Krosnes enviou teis retornos de reviso tcnica e, tambm, me perturbou regularmente sobre o progresso do livro. Isto foi til, uma vez que eu no tinha um editor tradicional para faz-lo.
Vlad Alexa Mancini criou o logo do olho do Nmap para a capa (e para o website do Nmap).
Michael Naef gentilmente revisou muitos captulos.
Bill Pollock da No Starch Press esteve sempre alegre em fornecer conselhos e responder a
questes de publicao de livros com base em suas dcadas de experincia.
David Pybus foi um dos mais frequentes contribuintes de ideias e de provas de leitura.
Tyler Reguly ajudou na reviso de mltiplos captulos, exatamente quando isto foi mais
necessrio.
Chuck Sterling forneceu tanto conselhos de alto nvel quanto provas de leitura detalhadas
de vrios captulos.
Anders Thulin forneceu revises detalhadas de muitos captulos.
Bennett Todd enviou dezenas de sugestes.
Diman Todorov escreveu um esboo inicial do captulo 9, O Mecanismo de Scripts do Nmap.
Catherine Tornabene leu muitos captulos e enviou retornos extremamente detalhados.
XLII
7. Referncia de TCP/IP
Este livro presume uma familiaridade bsica com conceitos de TCP/IP e de
rede. Voc no encontrar uma introduo ao modelo OSI de sete camadas,
ou um resumo da API de soquetes Berkeley dentro destas pginas. Para um
guia abrangente de TCP/IP, eu recomendo o The TCP/IP Guide, de Charles
Kozierok ou o velho clssico TCP/IP Illustrated,Volume I, de W. Richard
Stevens.
Embora a familiaridade com o TCP/IP seja esperada, mesmo o melhor de ns
eventualmente esquece os deslocamentos dos bytes dos campos e sinalizadores do cabealho dos pacotes. Esta seo fornece breves diagramas e descries de campos de referncia para os protocolos IPv4, TCP,
UDP, e ICMP. Estes belos diagramas de http://www.fatpipe.org/~mjb/Drawings so usados com a permisso do autor, Matt Baxter.
3 http://en.wikipedia.org/wiki/XSL_Formatting_Objects
4 http://xmlgraphics.apache.org/fop/
5 https://issues.apache.org/bugzilla/show_bug.cgi?id=37579
Prefcio
Figura 1. Cabealho de IPv4
XLIII
XLIV
CAPTULO 1:
1.1. Introduo
O Nmap (de Network Mapper, ou Mapeador de Redes, em Portugus)
um utilitrio livre e de cdigo aberto para a explorao de redes e auditagem
de segurana. Muitos administradores de sistemas e de redes tambm o acham
til para tarefas tais como inventrio de redes, gerenciamento de agendamentos
de atualizao de servios e monitoramento do tempo de atividade de hospedeiros ou de servios. O Nmap usa pacotes crus de IP de maneiras inovadoras,
para determinar quais hospedeiros esto disponveis na rede, quais servios
(nome e verso de aplicaes) tais hospedeiros esto oferecendo, quais sistemas operacionais (e respectivas verses) eles esto rodando, quais tipos de
ltros de pacotes/rewalls esto em uso e dezenas de outras caractersticas.
Ele foi projetado para examinar, rapidamente, grandes redes, mas funciona
bem com hospedeiros isolados. O Nmap roda em todos os principais sistemas
operacionais de computadores e, tanto verses para console quanto grcas
esto disponveis.
Este captulo usa estrias ctcias para fornecer uma ampla viso do Nmap
mostrando como usado. Uma importante seo legal ajuda os usurios a
evitarem (ou, pelo menos, estarem cientes de) o uso controverso que poderia
levar ao cancelamento da conta no provedor de acesso Internet ou, at mesmo, imputaes civis e criminais. Discute, ainda, os riscos de derrubada de
mquinas remotas, bem como questes diversas, tais como a licena do Nmap
(GNU GPL), e o copyright.
Olhando por cima os resultados, Flix descobre que todas as mquinas com
entradas de DNS inverso so resolvidas para a Avatar Online. Nenhuma outra
empresa parece compartilhar o espao de IP. Alm do mais, estes resultados
do a Flix uma ideia geral de quantas mquinas esto em uso, e uma boa ideia
de para o qu muitas so usadas. Agora, ele est pronto para ser um pouco
mais intrusivo e experimentar uma varredura de portas. Ele usa as funcionalidades do Nmap que tentam determinar a aplicao e o nmero de verso
de cada servio em escuta, na rede. Ele tambm solicita que o Nmap tente
adivinhar o sistema operacional remoto, atravs de uma srie de provas de
TCP/IP de baixo nvel, conhecida como impresso digital de SO. Este tipo de
varredura no , de forma alguma, invisvel, mas no preocupa Flix. Ele est
interessado em saber se os administradores da AO ao menos percebem estas
gritantes varreduras. Depois de alguma considerao, Flix se estabelece no
seguinte comando:
porta obscura possa estar disponvel. Para examinar todos os IPs, quer ele
mostre ou no um hospedeiro disponvel, especique a opo -PN, em vez de
todas as anteriores. Flix inicia um tal exame em segundo plano, embora ela
possa levar um dia inteiro para ser completada.
-A
Esta opo de atalho habilita funcionalidades Avanadas e Agressivas, tais
como deteco de servios e de SO. Quando da escrita deste livro, ela era
equivalente a -sV -sC -O --traceroute (deteco de verso, Mecanismo de
Scripts do Nmap, deteco de SO remoto e traado de rota). Mais funcionalidades podem ser adicionadas a -A, posteriormente.
-T4
Ajusta a temporizao ao nvel aggressive (o nmero 4 de 5). Isto o mesmo
que se especicar -T aggressive, mas mais fcil de se digitar e falar. Em
geral, a opo -T4 recomendada se a conexo entre o usurio e as redes alvo
for mais rpida que por modems de conexo discada.
-oA avatartcpscan-121503
Exporta os resultados em todos os formatos (normal, XML, grepvel) para
arquivos nomeados avatartcpscan-121503.<extenso>, onde as extenses so
.nmap, .xml e .gnmap, respectivamente. Todos os formatos de sada incluem
a data e hora de incio, mas Flix gosta de anotar a data explicitamente, nos
nomes dos arquivos. A sada normal e os erros ainda so enviados para stdout5,
tambm.
6.209.24.0/24 6.207.0.0/22
Estes so os blocos de rede da Avatar Online, discutidos anteriormente. Eles
so fornecidos na notao CIDR, mas o Nmap permite que eles sejam especicados em muitos outros formatos. Por exemplo, 6.209.24.0/24 poderia, ser
especicado como 6.209.24.0-255.
5 stdout a notao em C para representar o mecanismo de sada padro para um sistema, tal
como o xterm, do Unix, ou a janela de comando do Windows, em que o Nmap foi iniciado.