Reading Time: 5 minutes

O Nmap (“Network Mapper”) é uma ferramenta de código aberto para análise de rede e auditoria de segurança. Ela foi desenhada para varrer de forma rápida redes amplas, embora também funcione muito bem contra hosts individuais. O Nmap utiliza pacotes IP em estado bruto (raw) de maneira inovadora para determinar quais hosts estão disponíveis na rede, quais serviços (nome da aplicação e versão) os hosts oferecem, quais sistemas operativos (e versões de SO) eles estão a usar, que tipos de filtro de pacotes/firewalls estão em uso, e dezenas de outras caraterísticas. Embora o Nmap seja normalmente utilizado para auditorias de segurança, muitos administradores de sistemas e rede consideram-no útil para tarefas de rotina tais como inventário de rede, monitorização de serviços de atualização agendados, e monitorização de host ou disponibilidade de serviço.

Sendo um dos melhores implica que tenha diversas funcionalidades, utilidades e um enorme número de comandos. Alguns dos comandos mais usuais são apresentados abaixo.
Esta ferramenta foi desenvolvida por Gordon Lyon, e com a ferramenta este tentou dar resposta a algumas questões relativas aos seus testes, i.e., “Que computadores estão ligados à rede?”, “Qual o SO do alvo?”, “Que portas tem o alvo disponíveis?”, etc.

 

Exemplo 1: Análise de um IP ou de um domínio

A forma mais radical de utilizar esta ferramenta é efetuar uma análise bruta a determinado endereço de IP.

nmap 192.168.1.69

 

Por outro lado, é possível passar-lhe também um domínio da mesma maneira.

nmap alvo.com

 

Para um varrimento mais rico pode ser usada a opção -v.

nmap -v 192.168.1.69

 

Descrição: -v : Increase verbosity level (use -vv or more for greater effect)

Para mais detalhes, pode ser consultada a ajuda fornecida pela ferramenta. Nesta estão discriminadas todas as opções que ela oferece. A imagem em seguida, apresenta um exemplo.

O comando é o seguinte:

nmap -help

1

 

Exemplo 2: Analise de múltiplos IPs ou uma rede (subnet)

O Nmap permite alguma diversidade na definição do target. Tal facto pode ser observado de seguida.

 

a) Vários IPs separados com um espaço.

nmap 192.168.1.1 192.168.1.2 192.168.1.3

 

b) Por blocos.

nmap 192.168.1.1-20

 

c) Seleção com um wildcard.

nmap 192.168.1.*

 

d) Seleção de uma rede completa.

nmap 192.168.1.0/24

 

Exemplo 3: Selecionar alvos a partir de um ficheiro

Para criar um ficheiro via Linux pode ser utilizado o seguinte comando:

cat > nome_do_ficheiro.txt

Em seguida, podem ser introduzidos via terminal os alvos.

alvo.com
192.168.1.1
olalol.com
7.7.7.7

A imagem seguinte é bastante ilustrativa.

nmap2

 

O comando para dar continuidade à empreitada é o seguinte:

nmap -iL /path/alvos.txt

 

Exemplo 4: Excluir alvos de uma rede

Uma das funcionalidades oferecidas pelo Nmap é a exclusão de alguns hots aquando a análise de uma rede. Tal feito pode ser concretizado de duas maneiras.

nmap 192.168.1.0/24 --exclude 192.168.1.5
nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254

Ou ainda, através de um ficheiro de inclusão.

nmap -iL /tmp/scanlist.txt --excludefile /tmp/exclude.txt

 

Exemplo 5: Deteção do Sistema Operativo e sua versão

nmap -A 192.168.1.254
nmap -v -A 192.168.1.1
nmap -A -iL/path/alvos.txt

 

Exemplo 6: Descortinar se o alvo é protegido ou não por uma firewall

Para efetuar este tipo de análise é necessária a inclusão da opção “-sA”.

nmap -sA 192.168.1.254
nmap -sA alvo.com

 

Exemplo 7: Analisar alvo quando este é protegido por uma firewall

nmap -PN 192.168.1.1
nmap -PN server1.cyberciti.biz

 

Exemplo 8: Analisar um alvo com IPv6

Para analisar um host alvo com IP versão 6, deve ser usado o seguinte comando:

nmap -6 IPv6-Address-Here
nmap -6 alvo.pt
nmap -6 2607:f0d0:1002:51::4
nmap -v -A -6 2607:f0d0:1002:51::4

 

Exemplo 9: Análise e descoberta de hosts

Uma valiosa funcionalidade que o Nmap sustenta é a descoberta de hosts ligados.

nmap -sP 192.168.1.0/24

 

Exemplo 10: Análise Rápida (Quick Scan)

Quando se analisa um host ou um servidor alvo, este deve ser o comando a ser usado inicialmente. Pois o argumento “F” indica análise rápida.

nmap -F 192.168.1.1

 

Exemplo 11: Adiciona a razão pelo qual o Nmap diz que tem a porta aberta

nmap --reason 192.168.2.2
nmap --reason alvo.pt

 

Exemplo 12: Apresenta apenas portas à escuta (abertas)

nmap --open 192.168.1.1
nmap --open alvo.pt

 

Exemplo 13: Apresenta todos os pacotes trocados (enviados e recebidos)

nmap --packet-trace 192.168.1.1
nmap --packet-trace seguranca-informatica.pt

3

 

Exemplo 14: Apresenta as saídas instaladas assim como os caminhos percorridos

nmap –-iflist

4

 

Exemplo 15: Analisar portas especificas

Para efetuar uma análise deste tipo podem ser usados os comandos a seguir.

 

a) Análise à porta 80

nmap -p 80 192.168.2.2

 

b) Análise à porta 80 via TCP

nmap -p T:80 192.168.2.2

 

c) Análise à porta 53 via UDP

nmap -p U:53 192.168.1.1

 

d) Análise de duas portas simultaneamente

nmap -p 80,443 192.168.1.1

 

e) Análise de um bloco de portas

nmap -p 80-200 192.168.1.1

 

f) Combinação de todas as portas

nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.2.2
nmap -p U:53,111,137,T:21-25,80,139,8080 alvo.com
nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.2.2

 

g) Análise com um wildcard

nmap -p "*" 192.168.1.1

 

h) Análise das portas mais comuns

nmap --top-ports 5 192.168.1.1
nmap --top-ports 10 192.168.1.1

 

Exemplo 16: Análise Rápida de portas

A forma mais rápida para análise de portas pode ser conseguido através do seguinte comando.

nmap -T5 alvo.com

Para melhorar a sua eficácia poder-se-á reformular da seguinte maneira:

nmap -T5 -F alvo.com

 

Exemplo 17: Detetar sistema operativo do alvo

nmap -O 192.168.2.2

 

Exemplo: 18: Analisar que programas e versão correm nas portas à escuta

nmap -sv 192.168.2.2

O output será algo semelhante a:

Host is up (0.090s latency).
Not shown: 845 closed ports, 153 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD or KnFTPD
80/tcp open http Apache httpd 2.2.14 ((Unix))
Service Info: OS: Unix

 

Exemplo 19: Analisar um alvo utilizando TCP ACK (PA) e TCP Syn (PS) ping

Se a firewall estiver a bloquear os pings normais (ICMP) é necessário utilizar o seguinte método de descoberta:

nmap -PS 192.168.2.2
nmap -PS 80,21,443 192.168.2.2
nmap -PS 192.168.2.2
nmap -PS 80,21,200-512 192.168..2.2

 

Exemplo 20: Analisar um alvo utilizando o protocolo ping através do IP

nmap -PO 192.168.2.2

 

Exemplo 21: Analisar um alvo usando UDP ping

nmap -PU 192.168.2.2

 

Exemplo 22: Descobrir as portas mais utilizadas usando a análise TCP SYN

Este deve ser um dois primeiros, senão o primeiro comando de análise a qualquer host. É concretizada uma análise camuflada ao alvo.

nmap -sS 192.168.1.1

 

Para as portas TCP mais usadas deve ser usado o seguinte comando:

nmap -sT 192.168.1.1

 

Exemplo 23: Análise de serviços UDP

nmap -sU 192.268.2.2

 

Exemplo 24: Análise ao protocolo IP

Esta análise permite detetar quais são os protocolos (TCP, ICMP, IGMP, etc) que o alvo suporta.

nmap -sO 192.168.2.2
nmap -sO alvo.com

 

Exemplo 25: Detetar falhas na firewall

O seguinte comando diz respeito a uma análise nula para fazer a firewall gerar uma resposta.

nmap -sN 192.168.2.2

 

a) Verificação de firewall

nmap -sF 192.168.2.2

 

b) Faz os sets FIN, PSH, e URG serem analisados

nmap -sX 192.168.2.2

 

Exemplo 26: Analisar a firewall com pacotes fragmentados

nmap -f 192.168.2.2
nmap -f fw2.nixcraft.net.in
nmap -f 15 alvo.pt

O offset pode ser indicado através da opção —mtu.

nmap --mtu 32 192.168.1.1

 

Exemplo 27: Iscos! A opção -D faz com que o alvo pense que está a ser analisado por mais maquinas

O IDS fará com que se reporte entre 5 a 10 portas a cada IP mas nunca sabe quais são os verdadeiros e os falsos.

nmap -n -Ddecoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 remote-host-ip
nmap -n -D192.168.1.5,10.5.1.2,172.1.2.4,3.4.2.1 192.168.1.5

 

Exemplo 28: Alterar o endereço MAC antes da análise

nmap --spoof-mac MAC-ADDRESS-HERE 192.168.2.2

Uma melhor forma de projetar esta análise é através de um MAC aleatório.

nmap -v -sT -PN --spoof-mac 0 192.168.1.1

 

Exemplo 29: Salvar as informações obtidas para um ficheiro

nmap 192.168.2.2 > output.txt
nmap -oN /path/to/filename 192.168.2.2
nmap -oN output.txt 192.168.2.2

Naturalmente para projetar uma auditoria de segurança via terminal é uma empreitada demorosa. Seria necessário decorar, anotar ou consultar determinado número de vezes a ajuda da ferramenta. Para facilitar todos este processo, foi disponibilizado o Nmap na sua versão GUI. Este foi batizado como Zenmap.

Para a sua instalação no Linux basta fazer uso do seguinte comando:

apt-get install zenmap

5

Boa continuação!

nmap by infptavares