Introdução
Nmap (“Network Mapper”) é uma software livre e de código aberto para a descoberta de rede e auditoria de segurança. Muitos sistemas e administradores de rede também o utilizam para tarefas como inventário de rede, gestão de serviços e monitoramento de hosts ou uptime de serviços. Nmap utiliza pacotes IP para determinar quais hosts estão disponíveis na rede, quais serviços (nome da aplicação e versão) os hospedeiros estão oferecendo, quais sistemas operacionais (e versões de SO) eles estão executando, que tipo de filtros de pacotes / firewalls estão em uso, e dezenas de outras características. Ele foi projetado para escanear rapidamente grandes redes, mas funciona muito bem contra hosts individuais. Nmap funciona em todos os principais sistemas operacionais, e pacotes binários oficiais estão disponíveis para Linux, Windows e Mac OS X. Além do clássico executável Nmap linha de comando, a suíte Nmap inclui uma interface gráfica avançada e visualizador de resultados (Zenmap), uma transferência de dados flexível, redirecionamento, e ferramenta de depuração (NCAT), um utilitário para comparação de resultados de verificação (Ndiff), e uma geração de pacotes e ferramenta de análise de resposta (Nping).
Dentre as principais características do Nmap, destacam-se :
- Flexível: Suportes a dezenas de técnicas avançadas para mapear redes cheias de filtros de IP, firewalls, roteadores e outros obstáculos. Isto inclui muitos mecanismos de port scanners (TCP e UDP), detecção de sistemas operacionais, detecção de versão, varreduras de ping, etc.
- Poderosa: Nmap pode ser usado para escanear redes enormes de centenas de milhares de máquinas.
- Portátil: A maioria dos sistemas operacionais são suportados, incluindo Linux, Microsoft Windows, FreeBSD, OpenBSD, Solaris, Mac OS X, HP-UX, NetBSD, entre outros.
- Livre e gratuita: Os principais objetivos do Projeto Nmap é ajudar a tornar a Internet um pouco mais segura e para fornecer aos administradores / auditores / hackers uma ferramenta avançada para explorar as suas redes. Nmap está disponível para download gratuitamente, e também vem com o código fonte completo que você pode modificar e redistribuir de acordo com os termos da licença GNU GPL.
- Bem documentado: Existe documentação farta e de qualidade sobre NMAP, além de artigos, tutoriais e um livro escrito pelo próprio autor do NMAP, disponível parcialmente em http://nmap.org.
- Suportado: Embora o Nmap vem com nenhuma garantia, é bem suportado por uma vibrante comunidade de desenvolvedores e usuários. A maior parte dessa interação ocorre nas listas de discussão do Nmap.
2. Instalando o NMAP
Com o objetivo de padronizar os testes e resultados, todos as simulações com Nmap, neste artigo, serão realizadas com base na distribuição Debian GNU/Linux 6.
Verificando se o Nmap está instalado:
root@debian:~# nmap –version |
-bash: nmap: comando não encontrado
root@debian:~# dpkg -l | grep nmap
Verificamos que o NMAP não encontra-se instalado no sistema, pois além de não conseguirmos executá-lo com o parâmetro para obter a versão, não encontramos o respectivo pacote instalado na distribuição. Vamos prosseguir com a instalação.
Para instalar, basta utilizar a ferramenta de gerenciamento de pacotes da distribuição, o apt-get, conforme abaixo:
root@debian:~# apt-get install nmap |
Verifique que agora o Nmap encontra-se devidamente instalado no sistema:
root@debian:~# nmap –version |
Nmap version 5.00 ( http://nmap.org )
root@debian:~# dpkg -l | grep nmap
ii nmap 5.00-3 The Network Mapper
Há um total de 131.070 portas TCP / IP (TCP 65535 e 65535 UDP). O Nmap, por padrão, verifica apenas as 1000 portas mais usadas. Isto é feito para ganhar tempo ao varrer vários alvos, uma vez que a maioria dos portas altas raramente são utilizadas. No entanto, você pode desejar fazer a varredura fora do padrão do intervalo de portas para procurar serviços incomuns.
Para fazer uma varredura nas 100 portas mais comuns:
root@debian:~# nmap -F 192.168.1.6 |
O Nmap varre as 1000 portas mais comuns usadas por padrão. A opção -F reduz esse número para 100. Isso acelera drasticamente a velocidade da varredura.
Para realizar uma varredura em alguma porta específica:
root@debian:~# nmap -p 80 192.168.1.6 |
Starting Nmap 5.00 ( http://nmap.org ) at 2012-09-28 10:32 BRT
Interesting ports on 192.168.1.6:
PORT STATE SERVICE
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
root@debian:~#
Opcionalmente, você poderá varrer múltiplas portas especificando e separado-as por virgulas:
root@debian:~# nmap -p 80,139 192.168.1.6 |
Starting Nmap 5.00 ( http://nmap.org ) at 2012-09-28 10:36 BRT
Interesting ports on 192.168.1.6:
PORT STATE SERVICE
80/tcp open http
139/tcp open netbios-ssn
Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
root@debian:~#
Outra opção é utilizar o nome da porta:
root@debian:~# nmap -p http 192.168.1.6 |
Starting Nmap 5.00 ( http://nmap.org ) at 2012-09-28 10:38 BRT
Interesting ports on 192.168.1.6:
PORT STATE SERVICE
80/tcp open http
8008/tcp closed http
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
4. Varredura de Sistema Operacional e Serviços
Outro parâmetro interessante é a opção “-O”, que faz com que o Nmap tente identificar qual é o sistema operacional usado em cada máquina. Esta identificação permite diferenciar máquinas rodando diferentes versões do Windows de máquinas rodando Linux ou MacOS, por exemplo, mas não é muito eficiente em identificar diferentes distribuições Linux. Veja um exemplo:
root@debian:~# nmap -O 192.168.1.6 |
Starting Nmap 5.00 ( http://nmap.org ) at 2012-09-28 02:02 BRT
Interesting ports on 172.16.80.128:
Not shown: 996 closed ports
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3389/tcp open ms-term-serv
MAC Address: 00:0C:29:15:3D:A3 (VMware)
Device type: general purpose
Running: Microsoft Windows XP
OS details: Microsoft Windows XP SP3
Network Distance: 1 hop
Neste caso temos uma instalação de uma máquina virtual em VMWARE com Windows XP, sem o firewall ativo. Note que o Nmap indicou corretamente que é uma máquina Windows com SP3.
Poderíamos também realizar uma busca mais agressiva onde o NMAP forçará a identificação do sistema operacional:
root@debian:~# nmap -O –osscan-guess 192.168.1.6 |
Os scans do Nmap podem ser facilmente detectados caso alguma das máquinas alvo esteja com o Snort, ou outro detector de intrusões ativo. Para dificultar isso, o Nmap oferece a opção de fazer um half-open scan ou TCP SYN SCAN.
root@debian:~# nmap -O -sS 192.168.1.6 |
Esse tipo de varredura é padrão e uma boa opção. Ele pode ser realizado rapidamente, escanear milhares de portas por segundo em redes de alta velocidade, sem se preocupar com firewalls restritivos.
NOTA |
Operando neste modo, o Nmap apenas envia um pacote SYN para cada porta alvo e espera para ver se recebe um pacote ACK de confirmação. Se a confirmação é recebida, ele sabe que a porta está aberta. Mas, de qualquer forma, a conexão para por aí, ele não estabelece uma conexão completa como faria normalmente. Embora seja mais complicado, estes scans não são impossíveis de detectar. Versões recentes do Snort, por exemplo, são capazes de detectá-los e registrá-los da mesma forma que os scans tradicionais. |
Você pode obter mais informações sobre as portas abertas, incluindo a versão de cada serviço ativo usando a opção “-sV“, conforme o exemplo seguinte:
Starting Nmap 5.00 ( http://nmap.org ) at 2012-09-28 01:46 BRT |
Interesting ports on 192.168.1.6:
Not shown: 995 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.2.22 ((Ubuntu))
139/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
902/tcp open ssl/vmware-auth VMware Authentication Daemon 1.10 (Uses VNC, SOAP)
A opção “-sV” identificou o sistema operacional Ubuntu com o servidor Web Apache 2.2.22 instalado, Samba na versão 3 e seu grupo de trabalho WORKGROUP, além de diversas portas abertas.
5. Conhecendo o Zenmap
O ZenMap é uma interface gráfica para o Nmap que funciona em ambientes Windows, Linux e MAC OS. A ferramenta pode ser instalada utiizando o gerenciador de pacotes da sua distribuição Debian conforme o exemplo abaixo:
# apt-get install zenmap |
Uma vez instalado, o ZenMap poderá ser encontrado no menu Aplicações > Internet > Zenmap.
Figura 1- Utilizando Zenmap
Concluindo, existem ainda diversas outras opções do Nmap que poderiam ser demonstradas e exploradas neste artigo, fica a critério do leitor consultar as as páginas de manual ou a documentação oficial do nmap disponível em http://nmap.org para obter mais informações sobre esta poderosa ferramenta para análise de redes heterogêneas.
0sem comentários ainda
Por favor digite as duas palavras abaixo