Artigo original: https://www.freecodecamp.org/news/what-is-nmap-and-how-to-use-it-a-tutorial-for-the-greatest-scanning-tool-of-all-time/

O Nmap é a ferramenta de varredura mais famosa usada para testes de intrusão. Neste artigo, veremos alguns recursos principais do Nmap, bem como alguns comandos úteis.

O que é o Nmap?

Nmap é a abreviação de Network Mapper (em português, "mapeador de rede"). É uma ferramenta de linha de comando do Linux, de código aberto, que é usada para efetuar a varredura (scan) de endereços IP e portas em uma rede e detectar aplicações instaladas.

O Nmap permite que os administradores de rede descubram quais dispositivos estão em sua rede, descubram portas e serviços abertos e detectem vulnerabilidades.

Gordon Lyon, conhecido pelo pseudônimo de Fyodor, escreveu o Nmap como uma ferramenta para ajudar a mapear toda uma rede facilmente e encontrar suas portas e serviços abertos.

O Nmap se tornou extremamente popular, aparecendo em filmes como The Matrix e na popular série Mr. Robot.

Por que usar o Nmap?

Existem várias razões pelas quais os profissionais de segurança preferem o Nmap a outras ferramentas de varredura.

Primeiro, o Nmap ajuda você a mapear rapidamente uma rede sem comandos ou configurações sofisticadas. Ele também tem suporte a comandos simples (por exemplo, para verificar se um host está ativo) e scripts complexos por meio do mecanismo de script do Nmap.

Outros recursos do Nmap incluem:

  • Capacidade de reconhecer rapidamente todos os dispositivos, incluindo servidores, roteadores, switches, dispositivos móveis, etc. em uma única rede ou em várias.
  • Ajuda a identificar serviços em execução em um sistema, incluindo servidores Web, servidores DNS e outras aplicações comuns. O Nmap também pode detectar versões de aplicações com precisão razoável para ajudar a detectar vulnerabilidades existentes.
  • O Nmap pode encontrar informações sobre o sistema operacional em execução nos dispositivos. Ele pode fornecer informações detalhadas, como versões do sistema operacional, facilitando o planejamento de abordagens adicionais durante o teste de intrusão.
  • Durante a auditoria de segurança e a varredura de vulnerabilidade, você pode usar o Nmap para atacar sistemas usando scripts existentes do Nmap Scripting Engine.
  • O Nmap possui uma interface gráfica de usuário chamada Zenmap. Ela ajuda você a desenvolver mapeamentos visuais de uma rede para melhor a usabilidade e a geração de relatórios.

Comandos

Vamos conferir alguns comandos do Nmap. Se você não tem o Nmap instalado, você pode obtê-lo aqui (site em inglês).

Varreduras básicas

A varredura da lista de dispositivos ativos em uma rede é a primeira etapa no mapeamento de rede. Existem dois tipos de varreduras que você pode usar para isso:

  • Varredura com ping — efetua uma varredura da lista de dispositivos ativos e conectados a uma determinada sub-rede.
> nmap -sp 192.168.1.1/24
  • Varredura de um único hostefetua a varredura de um único host para mil portas bem conhecidas. Essas portas são aquelas usadas por serviços populares, como SQL, SNTP, apache e outros.
> nmap scanme.nmap.org
1-3

Varredura furtiva

A varredura stealth (em português, "furtiva") é realizada enviando um pacote SYN e analisando a resposta. Se SYN/ACK for recebido, significa que a porta está aberta e você pode abrir uma conexão TCP.

No entanto, uma varredura stealth nunca completa a negociação em 3 vias (em inglês, 3-way handshake), o que torna difícil para o alvo determinar o sistema de varredura.

> nmap -sS scanme.nmap.org

Você pode usar o comando '-sS' para executar uma varredura stealth. Lembre-se de que a varredura stealth é mais lenta e não tão agressiva quanto os outros tipos de varredura. Por isso, você pode ter que esperar um pouco para obter uma resposta.

Varredura de versão

Encontrar versões de aplicações é uma parte crucial no teste de intrusão.

Isso facilita sua vida, pois você pode encontrar uma vulnerabilidade existente no banco de dados Common Vulnerabilities and Exploits (CVE) (em uma tradução literal, "vulnerabilidades e exposições comuns") para uma versão específica do serviço. Você pode usá-lo para atacar uma máquina usando uma ferramenta de exploração como o Metasploit (em inglês).

> nmap -sV scanme.nmap.org

Para fazer uma varredura de versão, use o comando '-sV'. O Nmap fornecerá uma lista de serviços com suas versões. Lembre-se de que as varreduras de versão nem sempre são 100% precisas, mas levam você um passo mais perto de entrar com sucesso em um sistema.

1-5

Varredura de SO

Além dos serviços e suas versões, o Nmap pode fornecer informações sobre o sistema operacional (SO) subjacente usando TCP/IP fingerprinting (em inglês). O Nmap também tentará encontrar o tempo de atividade do sistema durante uma varredura do sistema operacional.

> nmap -sV scanme.nmap.org

Você pode usar sinalizadores (flags) adicionais como osscan-limit para limitar a pesquisa a alguns alvos esperados. O Nmap exibirá a porcentagem de confiança para cada palpite do sistema operacional.

Novamente, a detecção do sistema operacional nem sempre é precisa, mas ajuda o teste de intrusão a se aproximar de seu alvo.

1-6

Varredura agressiva

O Nmap tem um modo agressivo, que permite detecção de SO, de versão, varredura de script e traceroute. Você pode usar o argumento -A para realizar uma varredura agressiva.

> nmap -A scanme.nmap.org

Varreduras agressivas fornecem uma informação muito melhor do que as varreduras comuns. Porém, uma varredura agressiva também envia muito mais sondas, sendo muito mais provável de ser detectada em auditorias de segurança.

1-7

Varredura de vários hosts

O Nmap tem a capacidade de efetuar uma varredura de vários hosts simultaneamente. Esse recurso é muito útil quando você está gerenciando uma vasta infraestrutura de rede.

Você pode efetuar a varredura de diversos hosts por meio de várias abordagens:

  • Escrever todos os endereços IP em uma única linha para efetuar a varredura de todos os hosts ao mesmo tempo.
> nmap 192.164.1.1 192.164.0.2 192.164.0.2
  • Usar o asterisco (*) para efetuar a varredura de toda a sub-rede de uma só vez.
> nmap 192.164.1.*
  • Adicionar vírgulas para separar o final de endereços em vez de digitá-los por completo.
> nmap 192.164.0.1,2,3,4
  • Usar um hífen para especificar um intervalo de endereços IP.
> nmap 192.164.0.0–255

Varredura de portas

A varredura de portas é um dos recursos mais fundamentais do Nmap. Você pode procurar portas de várias maneiras.

  • Usando o parâmetro -p para efetuar a varredura de uma única porta
> nmap -p 973 192.164.0.1
  • Se você especificar o tipo de porta, você pode efetuar a varredura de informações sobre um tipo particular de conexão como, por exemplo, para uma conexão TCP.
> nmap -p T:7777, 973 192.164.0.1
  • Um intervalo de portas pode ser alvo de varredura separando-as com um hífen.
> nmap -p 76–973 192.164.0.1
  • Você também pode usar o sinalizador --top-ports para especificar as n principais portas para varredura.
> nmap --top-ports 10 scanme.nmap.org

Varredura a partir de um arquivo

Se você deseja efetuar a varredura de uma lista grande de endereços IP, você pode fazer isso importando um arquivo com a lista de endereços IP.

> nmap -iL /ips_entrada.txt

O comando acima vai produzir os resultados de varredura de todos os domínios dados no arquivo "ips_entrada.txt". Além de simplesmente digitalizar os endereços IP, você também pode usar opções e sinalizadores adicionais.

Detalhamento e exportação de resultados de varredura

Um teste de intrusão pode durar dias ou, até mesmo, semanas. Exportar os resultados do Nmap pode ser útil para evitar trabalho redundante e ajudar com a criação de relatórios finais. Vamos dar uma olhada nas formas de exportar os resultados de varredura do Nmap.

Saída detalhada

> nmap -v scanme.nmap.org

A saída detalhada (em inglês, verbose) fornece informações adicionais sobre a varredura que está sendo executada. É útil monitorar passo a passo as ações que o Nmap executa em uma rede, especialmente se você for um estranho efetuando a varredura da rede de um cliente.

1-8

Saída normal

As varreduras do Nmap também podem ser exportadas para um arquivo de texto. Isso resultará em uma saída um pouco diferente da saída da linha de comando original, mas vai capturar todos os resultados de varredura essenciais.

> nmap -oN saída.txt scanme.nmap.org
1-9

Saída em XML

As varreduras do Nmap também podem ser exportadas para XML. É também o formato de arquivo preferido da maioria das ferramentas de teste de intrusão, tornando-o facilmente analisável ao importar resultados da varredura.

> nmap -oX saída.xml scanme.nmap.org
1-10

Vários formatos

Você também pode exportar os resultados de varredura em todos os formatos disponíveis de uma só vez usando o comando -oA.

> nmap -oA saída scanme.nmap.org

O comando acima vai exportar o resultado de varredura para três arquivos — saída.xml, saída.nmap e saída.gnmap.

Ajuda do Nmap

O Nmap tem um comando de ajuda embutido que lista todos os sinalizadores e opções que você pode usar. Ele é geralmente útil, considerando a quantidade de argumentos de linha de comando que o Nmap possui.

> nmap -h
1-12

Nmap Scripting Engine

O Nmap Scripting Engine (NSE)  – em uma tradução literal, "mecanismo de scripts do Nmap" – é uma ferramenta incrivelmente poderosa que você pode usar para escrever scripts e automatizar vários recursos de rede.

Você pode encontrar muitos scripts distribuídos pelo Nmap ou escrever seu próprio script com base em seus requisitos. Você pode até modificar scripts existentes usando a linguagem de programação Lua.

1-13

O NSE também possui scripts de ataque que são usados para atacar a rede e vários protocolos de rede.

Examinar o mecanismo de script em profundidade estaria fora do escopo deste artigo. Portanto, aqui estão mais informações sobre o NSE (em inglês).

Zenmap

O Zenmap é uma interface gráfica de usuário para o Nmap. É um software livre e de código aberto que ajuda quem está começando a usar o Nmap.

1-15

Além de fornecer mapeamentos visuais de rede, o Zenmap também permite que você salve e procure suas varreduras para uso futuro.

O Zenmap é ótimo para iniciantes que desejam testar as capacidades do Nmap sem precisar lidar com uma interface de linha de comando.

Conclusão

O Nmap é claramente o "canivete suíço" da rede, graças a seus vários comandos versáteis.

Ele permite que você efetue uma varredura e descubra rapidamente informações essenciais sobre sua rede, hosts, portas, firewalls e sistemas operacionais.

O Nmap possui várias configurações, sinalizadores e preferências que ajudam os administradores de sistema a analisar uma rede em detalhes.

Se você deseja aprender sobre o Nmap a fundo, aqui está um ótimo recurso para você (em inglês).

Gostou deste artigo? Inscreva-se para receber notícias do autor (em inglês).