NMAP - Uma das ferramentas mais importantes para o Pentester



Quando se realiza uma atividade de Pentest, uma das primeiras tarefas que temos que ter é a buscar por informações do host que será o alvo do teste. Dentre as várias formas de buscar estas informações, que podem ser desde de busca por informações de "whois", "dnsmap" informações de propriedade do domínio e muitas outras, chega o momento de levantamento de informações sobre os serviços em execução no host, bem como qual sistema operacional, portas abertas e algumas outras informações que serão muito importantes para a realização do teste.

O NMAP é atualmente uma das ferramentas mais usadas e completas para esta tarefa. Claro que existem outras, como o NESSUS, mas estas ferramentas podem tranquilamente trabalhar em conjunto mesmo porque o NESSUS tem alinda um objetivo um pouco diferente do NMAP.

Para falarmos mais sobre o NMAP, precisamos entender a sua origem e as motivações que deram origem a esta ferramenta. A primeira aparição do NMAP foi em 1997, quando o seu criado Gordon Lyon escreveu um artigo e publicou na revista Phrack, juntamente com o código vinha a descrição da ferramenta e qual o seu objetivo. Quem quiser ver o artigo, este pode ser lido diretamente na página oficial do NMAP, é uma leitura bem interessante e pode mostrar como foram os primeiros modelos de entendimento de varredura de portas.

Com o NMAP, é possível ao profissional realizar a leitura de quais portas estão abertas e quais serviços possivelmente estão "escutando" naquela porta, isso de uma forma bem simplista. No entanto, o NMAP é uma ferramenta muito completa e foi sendo melhorada com o passar dos anos, sendo totalmente reescrito de C para C++. Em sua última versão a 6.25, o NMAP vem com aproximadamente 433 scripts NSE, e aproximadamente 3500 assinaturas e suporte para IPv6. 

o NSE é um engine de script do NMAP que utiliza a linguagem LUA como auxílio de automatização de scripts no NMAP. A NSE é executada logo após o fim das atividades de 'scan' nos hosts onde são passadas algumas informações para serem usadas pelas atividades dos NSEs que podem ser usadas para identificar algumas vulnerabilidades e a possibilidade de uso de alguns exploits.

Fartamente documentado, o NMAP e uma ferramenta muito importante e deve fazer parte do arsenal de todo profissional de Pentest. A seguir vamos colocar alguns exemplos do uso desta ferramenta para buscar mais informações na rede ou em um host.

Como primeiro exemplo, vamos imaginar que você precise buscar informações de uma série de IPs e hosts. Caso não queira ficar digitando cada um dos IPs a serem "varridos" pela ferramenta, basta que você usa o opção "-iL" para buscar os IP em um arquivo que contenha a lista de máquinas. Desta forma temos:

nmap -iL iplist.txt -p 80 -oG -

E o que teremos de resultado é uma lista, no terminal, com as seguintes informações:

# Nmap 6.25 scan initiated Wed Aug 14 15:37:21 2013 as: nmap -p 80 -oG - iplist.txt
Host: 10.0.0.23 () Status: Up
Host: 10.0.0.23 () Ports: 80/closed/tcp//http//
Host: 10.0.0.24 () Status: Up
Host: 10.0.0.24 () Ports: 80/closed/tcp//http//
# Nmap done at Wed Aug 14 15:37:22 2013 -- 5 IP addresses (2 hosts up) scanned in 1.25 seconds
Em um primeiro momento, podemos notar que o host esta ativo e que a porta 80 esta fechada. Esta porta poderia assumir as seguintes opções ainda tais como aberta e filtrada.

Neste próximo exemplo, 

nmap 192.168.1.0/24 -p 1900 -sU --script upnp-*

O resultado é mais informações sobre hosts que tem esta porta aberta e que podem ser passados por todos os scripts de NSE que tem em seu início o upnp-*, neste caso trouxe somente este IP.

Starting Nmap 6.25 ( http://nmap.org ) at 2013-08-14 19:13 AMT
Nmap scan report for 10.0.0.83
Host is up (0.31s latency).
PORT STATE SERVICE
1900/udp open upnp
| upnp-info: 
10.0.0.83
| Server: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0
| Location: http://10.0.0.83:2869/upnphost/udhisapi.dll?content=uuid:1f448bf5-212a-4a2a-9c7e-8c257b743b03
| Webserver: Microsoft-Windows-NT/5.1 UPnP/1.0 UPnP-Device-Host/1.0 Microsoft-HTTPAPI/2.0
| Name: EQUILIBRIUM-PC
| Manufacturer: Samsung-Electronics
| Model Descr: EQUILIBRIUM-PC-Laptop
| Model Name: Kies Sync Server
|_ Model Version: 1.0
MAC Address: 94:DB:C9:XX:XX:XX (Azurewave)
Se você estiver em uma rede, sem DHCP, e você precisa descobrir qual IP não esta sendo usado, você pode usar estas opções no NMAP.

# nmap -T4 -sP 192.168.0.0/24 && egrep "00:00:00:00:00:00" /proc/net/arp

Este pequeno artigo, nem de longe mostra a grande maioria das funcionalidade legais do NMAP, mas apenas mostra que algumas opções podem ser muito útil para descobrir informações de redes e hosts. Explore o material e o site do NMAP, faça buscas na Internet por termos do tipo "NMAP tips" ou  "NMAP tricks", para ter muito mais exemplos para ajudar no fechamento de suas buscar e scans.

Caso queira mais informações, pode ir direto à documentação oficial do NMAP.

Nenhum comentário :

Postar um comentário

Gostaria de saber a sua opinião.