12 Exemplos de uso do utilitário nmap
Nmap – Network Mapper
O nmap é um utilitário open source para exploração de redes e auditoria de segurança. Criado por Gordon Lyon em 1997, ele permite escanear desde hosts únicos a grandes redes de dispositivos, tanto local quanto remotamente, por meio do envio de pacotes e análise das repostas recebidas.
O nmap roda em Linux, BSD, OS X e Windows, possuindo interface padrão em linha de comandos e também uma implementação de interface gráfica, chamada de zenmap.
Neste tutorial vamos mostrar doze exemplos de uso do nmap. Mas antes, precisamos instalá-lo no sistema. Usaremos um sistema Ubuntu Linux para mostrar os exemplos, que poderão ser replicados em qualquer outro sistema:
Como instalar o nmap e zenmap
Vamos instalar os pacotes:
# apt install nmap zenmap
Verificar se nmap e zenmap estão instalados:
# whereis nmap # whereis zenmap
Não vamos utilizar o zenmap neste tutorial; deixe-o instalado pois vamos mostrar como usá-lo nos próximos tutoriais sobre o assunto.
Vamos aos exemplos de uso do nmap agora.
Exemplos
1 – Listar as portas abertas em um host remoto, como o scanme.nmap.org:
# nmap scanme.nmap.org
Conta comum: envia TCP Connect Scan; Conta com privilégios: envia SYN Stealth Scan.
Estados das portas
As portas podem se encontrar nos seguintes estados:
- open – Uma aplicação está escutando conexões nesta porta.
- closed – Pacote recebido, mas nenhuma aplicação escutando na porta.
- filtered – Pacote não recebido, e estado não pôde ser estabelecido. Pacotes podem estar sendo descartados por filtros.
- unfiltered – Pacote recebido, mas estado não pôde ser estabelecido.
- open/filtered – Porta filtrada ou aberta, mas o nmap não conseguiu estabelecer o estado.
- closed/filtered – Porta filtrada ou fechada, mas o nmap não conseguiu estabelecer o estado.
2 – Detecção de Versão de Serviços
A detecção de serviço é uma das técnicas mais usadas no nmap, permitindo por exemplo identificar vulnerabilidades de segurança ou simplesmente verificar se um serviço está rodando em uma porta específica.
A flag sV habilita detecção de serviço, retornando informações sobre serviços e versões.
# nmap -sV scanme.nmap.org
3 – Usar o Modo Agressivo
O modo agressivo é um modo de operação especial do nmap que é ativado com o uso da flag A, habilitando a detecção de S.O., versão, escaneamento de script e traceroute:
# nmap -A localhost
4 – Encontrar hosts ativos na rede
Podemos enumerar ou monitorar alvos ativos, usando a flag P (ping scanning):
# sudo nmap -sP 192.168.1.1/24
5 – Escanear portas específicas na rede
Podemos escanear uma porta ou grupo de portas específicas com a flag -p
# sudo nmap -p80 192.168.1.1/24
Outras formas de escanear portas específicas:
Lista de portas:
# sudo nmap -p80, 443 192.168.1.1/24
Faixa de portas:
# sudo nmap -p1-200 192.168.1.1/24
Todas as portas:
# sudo nmap -p- 192.168.1.1/24
Portas específicas por protocolos:
# sudo nmap -pT:22,U:53 192.168.1.1/24
Por nome de serviço:
# sudo nmap -p ftp 192.168.1.1/24
6 – Identificar hostnames
Podemos identificar os nomes de hosts ativos na rede com a flag -L
# sudo nmap -sL 192.168.1.1/24
7 – Identificar sistema operacional
Para identificar o sistema operacional de um host usamos a flag -O
# sudo nmap -O 192.168.1.1
8 – Escanear as x principais portas
Podemos escanear as x principais portas (por exemplo, as 20 principais portas) com o parâmetro –top-ports:
# sudo nmap --top-ports 20 192.168.1.1
9 – Salvar a saída em um arquivo de texto
Podemos salvar a saída gerada pelo nmap em um arquivo de texto, que pode ser analisado posteriormente, com a opção -oN:
# sudo nmap --top-ports 20 -oN saida.txt 192.168.1.1
E então abrir essa saída usando qualquer editor de textos, ou até mesmo o comando cat.
10 – Ler um arquivo de texto contendo IPs
Podemos usar um arquivo de texto contendo diversos endereços IP com entrada para o escaneamento do nmap com a opção -iL.
Suponha que tenhamos um arquivo de nome listaIP.txt e que possua o seguinte conteúdo:
192.168.1.1 8.8.8.8 192.168.1.60 www.locaweb.com.br
Usamos o comando como segue:
# sudo nmap -p80 -iL listaIP.txt
11 – Escanear apenas portas TCP ou UDP
Podemos especificar se o escaneamento deve ocorrer apenas em portas TCP ou UDP (o padrão é em ambas), com as flags -sT (TCP) e -sU (UDP):
# sudo nmap -sT localhost # sudo nmap -sU localhost
12 – Mostrar rotas e interfaces no host
Podemos verificar a configuração das interfaces de rede e as rotas no host que roda o nmap, para fins de troubleshooting:
# sudo nmap -iflist
Bônus: Como usar o NSE – Nmap Scripting Engine
Recurso poderoso do nmap, o NSE nos permite usar um conjunto pré-determinado de scripts, ou ainda escrever nossos próprios scripts de alta complexidade.
Um exemplo é um script de teste completo de vulnerabilidade:
# sudo nmap -Pn --script vuln 192.168.1.1
Referências
Lyon, G. F. Nmap Network Scanning. Ed. Insecure.com, 1ª Ed. 2008
Escreva um comentário