Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Analisador de rede, Notas de estudo de Informática

analisador de rede

Tipologia: Notas de estudo

2012

Compartilhado em 21/08/2012

clebio-salarolli-11
clebio-salarolli-11 🇧🇷

1 documento

1 / 8

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
0 0 0 1
A Revista Segurança Digital é uma publicação bimestral sobre segurança da
informação. A revista é disponibilizada livremente: pode ser baixada sem custo
no site, é disponibilizada sob a licença Creative Commons (BY-NC-SA) e traz
artigos técnicos sobre segurança e tecnologia da segurança da informação.
Na sexta edição, disponibilizada em maio, o artigo Mapeamento de Redes
com nmap ferramenta de código aberto com diversas funcionalidades é
de co-autoria de analistas da Clavis e colunistas do Blog SegInfo: Rafael
Ferreira(@rafaelsferreira), Henrique Soares (@hrssoares), Bruno Salgado (
@salgado_bruno) e Jarcy Azevedo (@jarcyjr).
Você pode ler o artigo baixando a edição #6 da Revista Segurança Digital [pdf]
e conferir as outras matérias ou ler o artigo a seguir.
Introdução
O nmap (reduzido de “Network Mapper”) é uma ferramenta livre, de código
0 0
1 F
aberto, utilizada para ma peamento de redes e inclui diversas funcionalidades
0 0
1 F
como: varredura de portas, detecção de versão de ser viços, identificação
remota de sistemas operacionais (OS fingerprinting), etc. Esta ferramenta foi
criada por Gordon “Fyodor” Lyon, que ainda hoje participa ativamente do
desenvolvimento da mesma. O nmap é uma ferramenta versátil que é muito
utilizada, entre outros, em auditorias teste de invasão, teste em firewalls e
testes de conformidade.
O nmap, em geral, opera nas camadas de rede e transporte. Entretanto,
também é capaz de manipular dados da camada de enlace (endereças MAC e
0 0
1 F
requi sições ARP, por exemplo) e de interpretar dados da camada de
0 0
1 F
aplicação para inferir informações interes santes a respeito de seu alvo
(versões de serviços e sistemas operacionais, por exemplo).
0 0
1 F
A versão mais nova do nmap por ser obtida atra vés do site oficial.
Informações adicionais às apresentadas neste artigo podem ser encontradas
na documentação oficial ou no livro de autoria do próprio Fyodor dedicado à
ferramenta (Nmap Network Scanning, Gordon “Fyodor” Lyon, Insecure.com
0 0
1 F
0 0
1 F
LCC Publishings. ISBN: 978 0979958717), que inclu sive tem uma versão
traduzida em português brasileiro (Exame de Redes com NMAP, Gordon
0 0
1 F
“Fyodor” Lyon, Editora Ciência Moderna. ISBN: 978 8573938654). Parte deste
livro está disponível gratuitamente na Internet para leitura e consulta.
Nos exemplos de alvo apresentados neste artigo, são utilizados apenas faixas
de endereços IP privados definidos na RFC 1918, a saber 10.0.0.0/8,
172.16.0.0/12 e 192.168.0.0/16, e o endereço scanme.nmap.org, que é um host
preparado pelos próprios desenvolvedores da ferramenta para receber este tipo
de varredura. Os leitores são encorajados a não executar varreduras sobre
qualquer ativo que não seja de sua propriedade ou que se tenha autorização
formal para isso.
Especicação de Alvos
pf3
pf4
pf5
pf8

Pré-visualização parcial do texto

Baixe Analisador de rede e outras Notas de estudo em PDF para Informática, somente na Docsity!

0 0 0 1

A Revista Segurança Digital é uma publicação bimestral sobre segurança da informação. A revista é disponibilizada livremente: pode ser baixada sem custo no site, é disponibilizada sob a licença Creative Commons (BY-NC-SA) e traz artigos técnicos sobre segurança e tecnologia da segurança da informação.

Na sexta edição, disponibilizada em maio, o artigo Mapeamento de Redes com nmap – ferramenta de código aberto com diversas funcionalidades é de co-autoria de analistas da Clavis e colunistas do Blog SegInfo: Rafael Ferreira(@rafaelsferreira), Henrique Soares (@hrssoares), Bruno Salgado ( @salgado_bruno) e Jarcy Azevedo (@jarcyjr).

Você pode ler o artigo baixando a edição #6 da Revista Segurança Digital [pdf] e conferir as outras matérias ou ler o artigo a seguir.

Introdução

O nmap (reduzido de “Network Mapper”) é uma ferramenta livre, de código aberto, utilizada para ma^ 0 01 F peamento de redes e inclui diversas funcionalidades como: varredura de portas, detecção de versão de ser^ 0 01 F viços, identificação remota de sistemas operacionais (OS fingerprinting), etc. Esta ferramenta foi criada por Gordon “Fyodor” Lyon, que ainda hoje participa ativamente do desenvolvimento da mesma. O nmap é uma ferramenta versátil que é muito utilizada, entre outros, em auditorias teste de invasão, teste em firewalls e testes de conformidade.

O nmap, em geral, opera nas camadas de rede e transporte. Entretanto, também é capaz de manipular dados da camada de enlace (endereças MAC e requi^ 0 01 F sições ARP, por exemplo) e de interpretar dados da camada de aplicação para inferir informações interes^ 0 01 F santes a respeito de seu alvo (versões de serviços e sistemas operacionais, por exemplo).

A versão mais nova do nmap por ser obtida atra^ 0 01 F vés do site oficial. Informações adicionais às apresentadas neste artigo podem ser encontradas na documentação oficial ou no livro de autoria do próprio Fyodor dedicado à ferramenta (Nmap Network Scanning, Gordon “Fyodor” Lyon, Insecure.com LCC Publishings. ISBN: 978^ 0 01 F 0979958717), que inclu0 01 F sive tem uma versão traduzida em português brasileiro (Exame de Redes com NMAP, Gordon “Fyodor” Lyon, Editora Ciência Moderna. ISBN: 978^ 0 01 F 8573938654). Parte deste livro está disponível gratuitamente na Internet para leitura e consulta.

Nos exemplos de alvo apresentados neste artigo, são utilizados apenas faixas de endereços IP privados definidos na RFC 1918, a saber 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16, e o endereço scanme.nmap.org , que é um host preparado pelos próprios desenvolvedores da ferramenta para receber este tipo de varredura. Os leitores são encorajados a não executar varreduras sobre qualquer ativo que não seja de sua propriedade ou que se tenha autorização formal para isso.

Especificação de Alvos

Antes de iniciar uma varredura, seja esta muito simples ou extremamente complexa, é preciso dizer ao nmap quais são os alvos desta varredura. O nmap define como alvos válidos endereços IP, faixas de endereços IP ou nomes de domínio dispostos em lista e separados por caracteres de espaçamento (espaço, tab, nova linha, etc). Estes alvos podem ser passados como parâmetro na linha de comando ou em um ar^ 0 01 F quivo (pela opção ‘ -iL arquivo_alvos.txt‘).

Assim, quando o alvo é um endereço IP único, es^ 0 01 F te deve ser especificado como quatro números intei^ 0 01 F ros positivos, entre 0 e 255, separados por pontos. São exemplos de endereços IP únicos: 172.28.1.101 192.168.0.1. Quando o alvo é uma faixa de endere^ 0 01 F ços IP, este deve ser especificado com duas sintaxes distintas. A primeira delas consiste do par endereço da rede e sua máscara de sub^ 0 01 F rede. São exemplos de pares endereço da rede e máscara de sub^ 0 01 F rede: 10.20.0.0/16 172.16.1.32/27. A outra sintaxe aceita consiste de um endereço IP com listas de números se^ 0 01 F parados por vírgulas ou intervalos especificados com hífen. São exemplos de endereço IP com listas de nú^ 0 01 F meros ou intervalos: 10.0.0.00 01 F -255 172.16.1,3,5,0-0 01 F 127 (equivalente a 172.16.1.0-^ 0 01 F 127 172.16.3.00 01 F -127 172.16.5.0-127). Finalmente, quando o alvo é um no^ 0 01 F me de domínio, este deve ser especificado por sequências de caracteres quaisquer separadas por vír^ 0 01 F gulas. São exemplos de nomes de domínio: scanme.nmap.org e www.seginfo.com.br.

“Quickstart”

A forma mais simplista de executar a varredura utilizando o nmap é executar a ferramenta sem parâ^ 0 01 F metros sobre o alvo especificado. Esta varredura con^ 0 01 F siste de todas as opções padrão tanto de descoberta quanto de varredura.

nmap scanme.nmap.org

Esta varredura verifica se o alvo está ativos na re^ 0 01 F de utilizando o método de descoberta e faz a varredu^ 0 01 F ra utilizando o método de varredura padrão. O resultado esperado de uma varredura como esta é:

  1. Verificação de atividade do alvo na rede; e
  2. Listagem de portas abertas, fechadas e filtradas associadas ao nome do serviço que tradicionalmente utiliza cada porta, caso o alvo esteja ativo.

Isto quer dizer que se um determinado serviço es^ 0 01 F tiver sendo provido em uma porta diferente da que tradicionalmente é utilizada, o nmap fornecerá uma resposta incorreta sobre o serviço. Isto quer dizer que, por exemplo, se um servidor ssh, que tradicionalmente utiliza a porta 22, for configurado para pro^ 0 01 F ver o serviço na porta 80, tradicionalmente utilizada por servidores http, nesta varredura o nmap detectará um servidor http e não um ssh, como esperado.

Nas próximas seções, “Descoberta de hosts” e “Técnicas de Varredura de portas” respectivamente, é discutido do que consistem estes método de desco^ 0 01 F berta e de varredura padrão.

Descoberta de Hosts

sistemas da família Microsoft Win0 01 F dows, pois os mesmo não oferecem suporte a sockets brutos (não vinculados a protocolos). Assim, consi^ 0 01 F derando que a faixa de endereços IP 192.168.1.0/16 seja a rede interna, os comandos abaixo são equiva^ 0 01 F lentes: nmap -sP 192.168.1.0/ nmap -sP -PR 192.168.1.0/ O “ICMP Echo Ping” (-PE ) é o método de desco0 01 F berta padrão para endereços que não estão localiza^ 0 01 F dos na mesma rede que o host de onde a ferramenta é executada. Este método faz parte da família de méto^ 0 01 F dos “ICMP Ping”, que ainda inclui os métodos “ICMP Timestamp Ping” ( -PP) e “ICMP Address Mask Ping” (0 0 1 F- PM). Todos estes métodos funcionam de maneira semelhante, pois detectam a atividade em um host pelo envio de pacotes ICMP de diferentes ti^ 0 01 F pos. Assim como os comandos abaixo também são equivalentes para a rede externa: nmap -sP scanme.nmap.org nmap -sP -PE scanme.nmap.org Outros métodos de descoberta de hosts interessan^ 0 01 F te são o “TCP SYN Ping” (-PS lista_de_portas ) e o “UDP Ping” (-PU lista_de_portas ). Estes métodos são úteis, pois alguns hosts podem não respondem re^ 0 01 F quisições ICMP, seja por restrições no firewall ou do próprio sistema operacional. Assim, estes métodos de descoberta enviam pacotes TCP ou UDP a uma porta que pode estar aberta ou fechada. Se a porta estiver aberta, o host certamente irá responder, denunciando a atividade do host. No entanto, se a porta estiver filtrada, nenhuma resposta será enviada (bloqueada pe^ 0 01 F lo mesmo firewall que impediu descoberta via ICMP). Assim, a desvantagem destes métodos, além de serem mais lentos que o “ARP Ping” e o “ICMP Ping”, está na escolha das portas utilizadas, pois se todas as portas escolhidas estiverem filtradas, não será possível detectá^ 0 01 F -lo, ainda que o host esteja ativo. São exemplos de descobertas de host por “TCP SYN Ping” e “UDP Ping”: nmap -sP -PS22,80,443 scanme.nmap.org nmap -sP -PU53,631 scanme.nmap.org

Varredura de Portas

Esta seção trata da principal funcionalidade do nmap, a varredura de portas. Mesmo quando estava em suas primeiras versões, o nmap sempre foi capaz de fazer a varredura de portas de forma rápida e efi^ 0 01 F ciente. O nmap fornece diversos métodos para reali^ 0 01 F zar varreduras de portas e a escolha de qual método utilizar depende do objetivo que se pretende atingir. Varreduras de portas podem ter por objetivo detectar serviços providos por um host alvo, verificar se um firewall está filtrando requisições de forma adequada ou ainda confirmar se a pilha TCP foi implementada conforme especificado na RFC 793. É importante frisar que embora hajam diversos métodos de varre^ 0 01 F dura de portas disponíveis, só é possível utilizar um por vez. Outro adendo importante é que a maioria dos métodos de varredura de portas exige altos privi^ 0 01 F légios de usuário. Isto é necessário, pois algums pa^ 0 01 F cotes são veiculados por sockets brutos (não vinculados a protocolos) que exigem este tipo de pri^ 0 01 F vilégios.

Outra parte importante na varredura de portas é a listagem de portas ( -p). A listagem de portas a serem consideradas separadas por vírgulas e, assim como as faixas de endereços IP, é possível especificar faixas de portas utilizando um hífen. As podem ser associa^ 0 01 F das a um protocolo manualmente ou automaticamen^ 0 01 F te pelo nmap dependendo do contexto da varredura. Quando os protocolos são especificados manualmen^ 0 01 F te, a listagem de portas é sempre precedida por uma letra que identifica o protocolo utilizado (‘T’ para TCP e ‘U’ para UDP) e quando são especificados au^ 0 01 F tomaticamente, basta informar a listagem de portas. Também é possível se utilizar todas as portas através da opção “ -p0 01 F” ou limitar por uma determinada quan0 01 F tidade de porta mais utilizadas através da opção “--top-ports qtd_portas” e se esta quantidade for 100 é possível utilizar o “Fast Scan” ( -F), que é equivalente a “ --top-ports 100 ”. Assim, são exemplos de listagem de portas: - p22 0 0 1 F 25,80,443; -pT:22,80,U:53,631. A varredura de portas sempre é feita para cada execução do nmap, exceto para o caso do “Ping Scan” (-sP), quando é necessário escolher um método de varredura de portas para que esta seja executada. Quando nenhum método de varredura de portas é ex^ 0 01 F plicitamente especificado, o nmap executa o “TCP SYN Scan”, caso tenha sido executado por um usuá^ 0 01 F rio com privilégio de criar sockets brutos (não vincu^ 0 01 F lados a protocolos), e o “TCP Connect Scan”, caso contrário. O “TCP SYN Scan” ( -sS ) é considerado pelos de0 01 F senvolvedores da ferramenta como o método de var^ 0 01 F redura de portas mais popular. Esta varredura consiste em enviar pacotes TCP com a flag SYN ati^ 0 01 F vada para as portas alvo. Esta flag é ativada para se iniciar uma nova conexão TCP entre os hosts, no en^ 0 01 F tanto o nmap não completa o processo de abertura da conexão (“Three^ 0 01 F Way Handshake”, explicado na se^ 0 01 F ção 3.4 da RFC 793) e por isto é considerado um método bem furtivo e difícil de se detectar. Nesta varredura, uma porta é considerada aberta se a res^ 0 01 F posta recebida for um pacote com as flags SYN e ACK ativadas. Se a resposta for um pacote com a flag RST ativada a porta é classificada como fechada e se nenhuma resposta for recebida, a porta é classifi^ 0 01 F cada como filtrada. Assim, considerando que a faixa de endereços IP 192.168.1.0/16 seja a rede interna, os comandos abaixo são equivalentes (considerando que um usuário privilegiado esta executando as varredu^ 0 01 F ras): nmap 192.168.1.0/ nmap -sP -sS 192.168.1.0/ nmap -sP -PR -sS 192.168.1.0/ De forma semelhante, os comandos abaixo também são equivalentes para a rede externa: nmap scanme.nmap.org nmap -sP -sS scanme.nmap.org nmap -sP -PE -sS scanme.nmap.org

O “TCP Connect Scan” (-sT) funciona de forma muito semelhante ao “TCP SYN Scan”. Esta varredura consiste em tentar criar conexões entre os hosts na porta alvo. Isto é feito através da execução completa do Aperto de Mão em Três Vias

é classificada como filtrada e se nenhuma resposta for recebida, a porta é classificada como aberta ou filtrada. Maiores informações sobre os protocolos UDP e ICMP e seus tipos e códigos podem ser encontradas nas RFC 768, 792 e Registro de Parâmetros do ICMP disponibilizado pela IANA, respectivamente. São exemplos deste tipo de varredura: nmap -sP -sU - 0 0 1 F F scanme.nmap.org Há também a varredura sobre o protocolo SCTP, chamada “SCTP INIT Scan” ( - sY). O SCTP é um protocolo que combina características tanto do TCP quanto do UDP e introduz novas funcionalidades como multi^ 0 01 F homing e multi^ 0 01 F streaming. Maiores informações sobre o SCTP podem ser encontradas nas RFC 3286 e 4960. Quanto a varredura SCTP, ela é muito similar à “TCP SYN Scan”, pois nunca completa a associação SCTP e é relativamente furtiva e pouco intrusiva. São exemplos deste tipo de varredura: nmap -PN -sY -p- 172.17.16.

Detecção de Serviço, Versão e Sistema Operacional

As vulnerabilidades publicadas em entidades especializadas, em geral, são eficazes somente sobre determinadas versões de uma dada aplicação. Assim, é interessante obter uma leitura mais específica sobre um serviço detectado do que somente a porta em que este está sendo executado, uma vez que estes serviços podem ser executados em, virtualmente, qualquer porta. Sendo assim, o nmap fornece uma opção para aferir o serviço e a versão do software provendo este serviço através da opção “-sV”. Esta opção tenta obter, através do envio de pacotes construídos com este propósito, descobrir qual serviço está sendo provido de fato e sua versão aproximada. Vale ressaltar que se o nmap for compilado com suporte a OpenSSL, a ferramenta tentará aferir serviço provido e sua versão aproximada mesmo com a camada extra de criptografia. Maiores informações sobre a detecção da versão de serviços e aplicações podem ser encontradas no capítulo 7 do livro do próprio autor da ferramenta, disponibilizado gratuitamente. nmap -sP -sS -sV --top-ports 256 scanme.nmap.org Assim como são publicadas vulnerabilidades para serviços providos em uma rede, o mesmo é acontece com sistemas operacionais, portanto também é importante detectar qual sistema é executado por uma alvo na rede. O nmap também fornece uma opção para aferir o sistema operacional e sua versão aproximada através da opção “-O”. Esta operação também é conhecida como “OS Fingerprinting”. Esta opção tenta obter, através do envio de pacotes construídos com este propósito, descobrir qual sistema operacional está sendo executado e sua versão aproximada. Maiores informações sobre a detecção remota do sistema operacional podem ser encontradas no capítulo 8 do livro do próprio autor da ferramenta, disponibilizado gratuitamente.

nmap -sP -sS -sV -O -p- scanme.nmap.org

Conclusão

O nmap é uma ferramenta que oferece uma gama de opções úteis e é de grande valia para obtenção de informação para diversas atividades, como

auditorias de segurança em geral, mapeamento de redes inteiras, teste em firewalls, etc. Este artigo discutiu apenas as funcionalidades principais, no entanto ainda há muitas outras que não foram sequer mencionadas, como: o Nmap Scripting Engine (NSE), opções de controle de desempenho, opções de evasão de firewalls/IDS/IPS, opções de spoofing, e muitas outras. O leitor é encorajado a buscar mais informações na documentação oficial, no livro oficial e outras fontes, como o Webinar #4 da Clavis sobre NMAP Software Livre para Exploração de Rede e Auditorias de Segurança. Vale mencionar que, apesar de não haver legislação especifica que tipifique como crime o ato de executar varreduras de qualquer tipo em redes de qualquer espécie, o objetivo deste artigo não é incentivar os leitores a fazer varreduras aleatórias em redes que não são de sua propriedade ou que não se tenha autorização para fazê^ 0 01 F lo, mas informar quanto a que tipo de informação relevante pode ser extraída destas varreduras e como estas podem ajudar em auditorias teste de invasão, depuração de firewalls ou administração de servidores, etc.

Referências

tivar os leitores a fazer varreduras aleatórias em re 0 0 1 F des que não são de sua propriedade ou que não se tenha autorização para fazê 0 0 1 F lo, mas informar quanto a que tipo de informação relevante pode ser extraída destas varreduras e como estas podem ajudar em au 0 0 1 F ditorias teste de invasão, depuração de firewalls ou administração de servidores, etc. [1] Nmap 0 0 1 FFree Security Scanner For Network Exploration & Security Audits: http://nmap.org/ [2] Nmap Official Documentation: http://nmap.org/docs.html [3] Nmap Network Scanning, Gordon “Fyodor” Lyon, Insecure.com LCC Publishings. ISBN: 9780 0 1 F 0979958717 [4] Exame de Redes com NMAP, Gordon “Fyodor” Lyon, Editora Ciência Moderna. ISBN: 9780 0 1 F 8573938654 [5] Nmap Network Scanning, Gordon “Fyodor” Lyon, http://nmap.org/book/toc.html [6] RFC 1918 0 0 1 F Address Allocation for Private Internets: http://tools.ietf.org/html/rfc [7] RFC 793 0 0 1 F Transmission Control Protocol: http://tools.ietf.org/html/rfc [8] Linux Man Pages 0 0 1 F Section 2 (System Calls) 0 0 1 Fconnect(): http://linux.die.net/man/2/connect [9] RFC 768 0 0 1 F User Datagram Protocol: http://tools.ietf.org/html/rfc [10] RFC 792 0 0 1 F Internet Control Message Protocol: http://tools.ietf.org/html/rfc [11] Internet Control Message Protocol (ICMP) Parameters Registry: http://www.iana.org/assignments/icmp0 0 1 F parameters/icmp 0 0 1 F parameters.xml [12] RFC 3286 0 0 1 F An Introduction to the Stream Control Transmission Protocol: http://tools.ietf.org/html/rfc3286 [13] RFC 4960 0 0 1 F Stream Control Transmission Protocol: http://tools.ietf.org/html/rfc [14] Nmap Network Scanning, Gordon “Fyodor” Lyon, Chapter 7. Service and Application Version Detection.http:// nmap.org/book/vscan.html [15] Nmap Network Scanning, Gordon “Fyodor” Lyon, Chapter 8. Remote OS Detection. http://nmap.org/book/ osdetect.html [16] Webinar #4 – NMAP – Software Livre para Exploração de Rede e Auditorias de Segurançahttp:// www.blog.clavis.com.br/webinar 0 0 1 F 0 0 1 F 4 software 0 0 1 F 0 0 1 F 0 0 1 F livre para exploracao 0 0 1 F de0 0 1 F 0 0 1 F rede 0 0 1 Fe auditorias 0 0 1 F de 0 0 1 F seguranca/