Social Icons

^^

quarta-feira, 9 de fevereiro de 2011

Scanners de rede - Nmap


teorias relacionada:
* redes TCP/IP;
*Scanners de rede.

Preparação

Neste experimento, usaremos o famoso scanner nmap e seus front-ends gráficos, o Zenmap (para windows) e o nmapfe (para Unix/linux), que devem estar instalados no computador. Versões mais novas podem ser baixadas de www.nmap.org).
Para que a versão Windows funcione, é necessário instalar a biblioteca Winpcap, Fora isso, nenhuma preparação ou configuração é necessária.

Atenção

O nmapwin não funciona corretamente no Windows XP, a não ser que seja instalado o Driver para o Protocolo de Monitoração de Rede (Network Monitor driver Protocol). Para obter mais informações, consulte seclists.org/lists/nmap-dev/2002/Oct-Dec/0027.html (em ingês).
Para outras plataformas (MacOS X, Solaris, HP-UX<>

Se possível, apenas para incrementar os testes, monte uma pequena rede com dois ou três computadores ou em diversos sites na Internet, como:

* www.guiadohardware.net/tutoriais/089/
* superdownloads.ubbi.com.br/materias/20010830,131,1,html
* www.babooforum.com.br/idealbb/view.asp?topicID=223648
* www.iec.org/online/tutorials/home_net/index.html

A rede é desejável para que façamos os testes em um ambiente controlado. É óbvio que você pode tentar "varrer" seu site preferido (ou a máquina da sua namorada) à procura de falhas e portas abertas, mas não é nem um pouco ético usar portscanners sem autorização do proprietário da máquina-alvo. Uma rede de testes cria um ambiente propício para experiências e simulações e evita toda a discussão estéril sobre ética e legalidade. Lembre-se: Scanners de rede são ferramentas válidas se usadas por administradores de rede para descobrir falhas em seu sistema. Não use martelos para rachar cabeça; embora você possa conseguir, a real finalidade da ferramenta é pregar coisas...

Dica

Muitos sites e redes possuem sistema de detecção de intrusos, também chamados de IDS (Intrusion detection system), e alguns deles bloqueiam permanentemente as origens do ataques. Se você disparar um scanner contra um desses sites ou redes, pode acabar não tendo mais acesso a eles.

Experimento

Já escolhemos nosso alvo e fizemos nossa pesquisa e "campanas" para colher informações sobre ele. agora, falta descobrir quais portas estão abertas no computadir da vítima, seja uma estação de trabalho, um servidor ou um computador pessoal.
antes de continuar, novamente ressaltamos: é importantíssimo que o leitor saiba do que estamos falando. se você não sabe o que é TCP ou o que significa uma porta estar aberta, aconselhamos o estudo cuidadoso.
Vamos iniciar o experimento usando a versão em interface gráfica. entretanto, a melhor opção para o usuário avançado é a versão do programa em todo texto (linha de comando), por vários motivos, dentre os quais:

* é mais poderosa e flexível que a ferramenta gráfica;
* a sintaxe dos comandos é a mesma para qualquer plataforma;
* embora nmapfe (para Linux) seja baseado no nmap 5.0, que teve sua última versão lançada em julho de 2009, o nmapwin (para Windows) é baseado na nmap 4.65 ( de 2008) e, portanto, muito desatualizado.

Se nenhum desses itens é relevante para você, pode usar a interface gráfica.
para tanto, ajuste as opções de scan da mesma forma como emitimos o comando em modo texto.

Inicie o nmapwin - ou nmapfe, se você estiver no Linux - como usuário normal, e não como administrador. a interface é dividida em três grandes setores: área de configuração, no topo, área de mensagens, no centro, e a linha de comando, na parte inferior.

É a área de mensagens que o programa nos informa as portas abertas do alvo sendo pesquisado e o estado geral do programa. por exemplo, nas versões para Unix, algumas opções de scan estão disponíveis apenas para o superusuário, o administrador da máquina ou root. Como executamos o programa no papel de usuários comuns, temos a seguinte mensagem:

A mensagem indica que nem sempre todas as opções estão disponíveis. Agora, logue-se como root e rode o nmapwin/nmapfe novamente. observe a área de mensagens:

Você é root e , portanto, pode tudo. No windows, não temos esse problema: mesmo como usuário normais, temos acesso a todas as opções do programa. No entanto, o que seria uma vantagem é, na verdade, uma prova de anedótica falta de segurança do sistema; numa autêntica " casa-da-mãe-joana", qualquer usuário tem poderes para fazer qualquer coisa, inclusive uma porção de estragos que seria dadas ao comando nmap (em modo texto). por exemplo, se configurarmos o nmapfe/nmapwin para realizar um ACK Scan, aparecerá a opção -sA na linha de comando.

O próximo passo é fazer algumas varreduras e tentar descobrir as portas abertas em algumas máquinas de nossa rede de teste. Novamente, alertamos: não há questões ética. Nunca faça nada sem autorização!
O primeiro teste será do tipo Connect Scan, ou seja, para cada porta testada o programa fará uma conexão completa .coloque o número IP do computador a ser varrido,selecione a opção CONNECT e clique no botão Scan.Depois de certo tempo,o programa mostrará as portas abertas:analisando os resultados,descobrimos coisas interessantes:
Starting nmap 3.55 (http://www.insecure.org/nmap/)at2011-02-03 20:44 BRt
Interesting ports on 192.168.0.3:
(the 1654 ports scanned but not shown below are in state:closed)
Port state service
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIs
5000/tcp open UPnP
5101/tcp open admdog
Mac Address:00:00:21:D4:50:9D(Sureman COMP.&COMMUN.)
Nmap run completed -- 1 Ip address (1 host up) scanned in 1.898 seconds
Temos,na primeira linha,a data e a hora em que o scan foi iniciado.O programa nos informa que fez varredura de 1.654 portas e que as portas 135,139,445,1025,5000e5101 estão abertas .Com essas informações,podemos concluir se o sistema sob teste está ou não vulnerável a algum tipo de ataque ou falha.
Lembre-se:
Portas abertas não são sinônimos de sistema inseguro.Mostram apenas que há um serviço sendo oferecido naquela porta.Se o serviço é seguro ou não(ou deveria realmente estar lá)é,de fato,a pergunta a ser feita.


O teste connect Scan tem um problema: gera uma conexão persistente na máquina-alvo. Uma vez estabelecido o 3-way handshake, os dois computadores que participam da conexão esperam um tempo relativamente longo pelo tráfego de informações entre eles. Isso quer dizer, se o administrador-"vítima" tiver ferramentas simples de monitoração, detectará facilmente que está sofrendo algum tipo de portscan.
para sermos umppouco mais discreto, usaremos o SYN Scan, que envia um pacote TCO SYN e espera a resposta TCP ACK. Em vez de responder com um novo ACK, completando o handshake e estabelecendo a conexão, o nmap envia um TCP RST, derrubando a conexão protamente. Esse teste é ligeiramente mais lento, mas é muito mais difícil (porém não impossível) de ser detectado. Observe que o resultado deve ser ideêntico ao do teste connect Scan: mostrar quais portas estão abertas na vítima.

Linha de comando

O nmap é muito mais poderoso e flexível se usado na linha de comando. primeiro porque ele pode ser aproveitado dentro de um script, e segundo porque há bem mais opções disponíveis.
A sintaxe é simples:

nmap -sTIPO numero.ip.da.vitima

Em um TIPO é um dos tipos de scan disponíveis. Há inúmeros, cada um apropriado para um determinado teste. Os mais comuns são:
* sT: conexão TCP completa para descobrir portas TCP abertas.
* sS (SYN Scan): serve para descobrir portas TCO abertas sendo ligeiramente mais discreto.
* sF (FIN Scan): para descobrir portas TCP abertas e ser ainda mais discreto que o -sS. Não funciona se a máquina sob teste estiver rodando Windows.
* sX ("Árvore de Natal"): manda flags FIN -sS. Não funciona se a máquina sob teste estiver rodando windows.
* sN (Null Scan): manda pacotes TCP sem nenhum flag ligado para descobrir portas abertas; dessa forma, também consegue ser mais discreto que o -sS. Não funciona se máquina sob teste estiver rodando Windows.
* sU (UDP Scan): serve para descobrir portas UDP abertas. como não há conexão no protocolo UDP (a comunicação fica " ao Deus dará..."), é mais difícil detectar um portscan em suas portas. Considere esse scan no mesmo nível de discrição do SYN Scan para o protocolo TCP.

Abra um terminal (ou janela do DOS) e faça, com o comando nmap, os mesmos testes que fez com o programinha gráfico:

nmap -sT 192.168.0.3
nmap -sS 192.168.0.3

Experimente também os outros tipos de scan e veja o resultado. em vez do número IP, é possível informar o nome de domínio da vítima. Por exemplo:

nmap -sS www.seusite.com.br

Opções Avançãdas

O nmap possui algumas opções que podem ajudá-lo a identificar melhor seu alvo. uma das linhas bacanas é a detecção do sistema operacional que a vítima está rodando. Experimente:

nmap - o 192.168.0.3

O resultado é bem interessante:

Starting nmap 3.55 ( htpp://www.insecure.org/nmap/ ) at 2004-08-12- 21: 57 BRT
Interesting ports on 192.168.0.3:
(The 1654 ports scanned but not show below are in state: closed)
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIs
5000/tcp open UPnP
5105/tcp open admdog
MAC Address:00:00:21:D4:50:9D (Suremam COMP. 7 COMMUN)
Device TYpe: general purpose
Running:Microsoft windows 95/98/Me/NT/2K/XP
Os details:Microsoft Windows Millennium Edition (Me), Windows 2000 Professional
or Advanced Server, or Windows XP

Nmap rum completed -- 1 IP address (1 host up) scanned in 6.560 seconds

Observe que o nmap, além de fezer a varredura com o SYN Scan, efetuou uma série de testes para tentar identificar o sistema operacional da vítima.
Para determinar quais portas escanear, use a opção -p:

nmap -sS -p 23 192.168.0.3

que verifica apenas a porta 23. Use o comando

nmap -sT -p 10-2354 192.168.0.3

para verificar as portas de 10 a 2354.
Como podemos ver, é possível combinar diversos parâmetros em um mesmo comando:

nmap -sT -o -sV -P0 -p 10-2354 192.168.0.3

Dica

Para obter em lembrete de todas as opções do nmap, digite o comando nmap sem argumentos, como está a seguir:

nmap


Variações

1. O -sA, uma das opções do nmap, envia pacotes Ack para um computador-alvo na tentativa de descobrir as regras de filtragem de um provável firewall que o proteja.
2.Um dos "truques"da versão 3.55 em diante é a rotina de determinação de versões dos serviços da maquina-vitima.agora,o nmap não se contenta apenas em dizer quais portas estão abertas e qual o provável serviço,mas faz também diversos testes para tentar descobrir quais servidores(modelo e versão)estão realmente rodando naquela porta.Para ativar a rotina,use a opção -sV:
nmap -sT -sV 192.168.0.1
Port stante service version
22/tcp open ssh
8180/tcp open http thttpd 2.23betal 26may2002
Onmap retornou o nome do programa servidor HTTP(thttp)que roda na porta 8180,bem como sua versão(2.23betal 26may2002).
3.O nmap usa o protocolo ICMP("ping")para descobrir se um determinado computador está ativo e conectado. Muitos sistemas operacionais permitem que se desligue a resposta ao "ping", e o Windows é um deles. Essa defesa impossibilita que o teste seja levado a cabo. Para fazer um teste sem enviar mensagens ICMP, use a opção -P0.

nmap -sS -P0 www.microsoft.com




Nenhum comentário:

Postar um comentário

Popular Posts

 

Seguidores

Hora exata:

Total de visualizações de página