Como escanear múltiplos endereços IP simultaneamente usando Nmap em Cibersegurança

NmapAdvanced
Pratique Agora

Introdução

No campo da segurança cibernética, compreender a sua infraestrutura de rede é essencial para manter a segurança. O Nmap (Network Mapper) é uma ferramenta de código aberto amplamente utilizada que permite aos profissionais de segurança descobrir hosts e serviços em redes de computadores. Este tutorial irá guiá-lo através do processo de utilização do Nmap para escanear múltiplos endereços IP simultaneamente, permitindo que você mapeie sua rede de forma eficiente e identifique potenciais problemas de segurança.

Ao final deste laboratório, você entenderá como instalar o Nmap, realizar varreduras básicas, direcionar múltiplos endereços IP usando diferentes técnicas e interpretar os resultados. Essas habilidades formam uma parte fundamental do reconhecimento de rede em avaliações de segurança cibernética e são valiosas tanto para operações de segurança defensivas quanto ofensivas.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível intermediário com uma taxa de conclusão de 54%. Recebeu uma taxa de avaliações positivas de 100% dos estudantes.

Instalando o Nmap e Realizando Sua Primeira Varredura

Neste primeiro passo, instalaremos o Nmap em nosso sistema Ubuntu e realizaremos uma varredura básica para verificar se ele funciona corretamente.

Instalando o Nmap

O Nmap está disponível nos repositórios do Ubuntu, tornando a instalação fácil. Abra um terminal e execute os seguintes comandos:

## Atualizar as listas de pacotes
sudo apt update

## Instalar o Nmap
sudo apt install nmap -y

Este comando irá baixar e instalar o Nmap junto com quaisquer dependências necessárias. Vamos verificar se a instalação foi bem-sucedida verificando a versão do Nmap:

nmap --version

Você deve ver uma saída semelhante a esta:

Nmap version 7.80 ( https://nmap.org )
Platform: x86_64-pc-linux-gnu
Compiled with: liblua-5.3.3 openssl-1.1.1f libssh2-1.8.0 libz-1.2.11 libpcre-8.39
Compiled without: nmap-update npcap ipv6
Available nsock engines: epoll poll select

Compreendendo a Sintaxe Básica do Nmap

A sintaxe básica para o Nmap é:

nmap [tipo de varredura] [opções] [alvo]

Onde:

  • [tipo de varredura] especifica o tipo de varredura a ser realizada (por exemplo, varredura TCP SYN)
  • [opções] são parâmetros adicionais para personalizar a varredura
  • [alvo] é o host ou rede a ser escaneado

Sua Primeira Varredura: Escaneando a Máquina Local

Vamos começar com uma varredura simples da sua máquina local. Esta é uma maneira segura de testar o Nmap sem escanear redes externas:

nmap localhost

Este comando escaneia as 1000 portas TCP mais comuns na sua máquina local. Você deve ver uma saída semelhante a esta:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-23 10:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

A saída mostra:

  • A hora de início da varredura
  • O alvo sendo escaneado
  • Status do host (ativo ou inativo)
  • Portas abertas com seus nomes de serviço
  • Estatísticas da varredura

Observe que as portas abertas exatas que você vê podem diferir com base na configuração do seu sistema.

Compreendendo os Estados das Portas

O Nmap categoriza as portas em diferentes estados:

  • open: Uma aplicação está ativamente aceitando conexões nesta porta
  • closed: A porta é acessível, mas nenhuma aplicação está ouvindo nela
  • filtered: O Nmap não pode determinar se a porta está aberta porque um firewall está bloqueando o acesso
  • unfiltered: A porta é acessível, mas o Nmap não pode determinar se está aberta ou fechada
  • open|filtered: O Nmap não pode determinar se a porta está aberta ou filtrada
  • closed|filtered: O Nmap não pode determinar se a porta está fechada ou filtrada

Em seus resultados de varredura, a maioria das portas provavelmente será listada como "closed", com algumas portas "open" para serviços em execução no seu sistema.

Escaneando Múltiplos Endereços IP Usando Diferentes Métodos

Agora que temos o Nmap instalado e realizamos nossa primeira varredura, vamos explorar diferentes maneiras de escanear múltiplos endereços IP simultaneamente. Isso é particularmente útil para administradores de rede e profissionais de segurança que precisam avaliar múltiplos sistemas de forma eficiente.

Método 1: Usando Intervalos de IP

Uma das maneiras mais fáceis de escanear múltiplos endereços IP é especificando um intervalo de IP. Vamos criar uma pequena rede virtual para escanear com segurança.

Primeiro, vamos ver nossas interfaces de rede atuais:

ip addr show

Agora, vamos escanear um intervalo de endereços IP em nossa rede local. Para fins de demonstração, usaremos um pequeno intervalo:

nmap 127.0.0.1-5

Este comando escaneia 5 endereços IP: 127.0.0.1, 127.0.0.2, 127.0.0.3, 127.0.0.4 e 127.0.0.5. Você verá a saída para cada host que responder à varredura. Normalmente, apenas 127.0.0.1 (localhost) responderá.

Método 2: Usando a Notação CIDR

Outro método comum para especificar múltiplos alvos é usando a notação CIDR (Classless Inter-Domain Routing), que é uma maneira concisa de especificar intervalos de endereços IP.

Vamos escanear o intervalo de loopback local:

nmap 127.0.0.0/24

Este comando escaneia 256 endereços IP de 127.0.0.0 a 127.0.0.255. O /24 indica que os primeiros 24 bits do endereço IP são fixos, enquanto os últimos 8 bits variam.

Para tornar a varredura mais rápida e focar apenas na descoberta de hosts ativos sem varredura de portas, podemos usar a opção -sn:

nmap -sn 127.0.0.0/24

Isso realiza uma varredura ping que apenas determina se os hosts estão online, sem escanear suas portas. Você deve ver uma saída como:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-23 10:15 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Nmap done: 256 IP addresses (1 host up) scanned in 2.66 seconds

Método 3: Usando uma Lista de Endereços IP

Para endereços IP específicos não sequenciais, você pode criar um arquivo contendo os alvos e usar a opção -iL.

Vamos criar um arquivo com alguns endereços IP:

echo "127.0.0.1
127.0.0.2
127.0.0.5" > targets.txt

Agora, escaneie esses alvos específicos:

nmap -iL targets.txt

Este comando lê os endereços IP do arquivo targets.txt e escaneia cada um.

Método 4: Combinando Múltiplas Especificações de Alvo

O Nmap permite que você combine diferentes métodos de direcionamento em um único comando. Por exemplo:

nmap 127.0.0.1 127.0.0.5-10 127.0.0.0/29

Este comando escaneia:

  • O endereço IP único 127.0.0.1
  • O intervalo de IP de 127.0.0.5 a 127.0.0.10
  • O intervalo CIDR 127.0.0.0/29 (que inclui 127.0.0.0 a 127.0.0.7)

Otimizando a Velocidade da Varredura

Ao escanear múltiplos alvos, o tempo de varredura pode aumentar significativamente. O Nmap fornece opções para controlar o tempo da varredura e aumentar a eficiência:

nmap -T4 127.0.0.0/24

A opção -T4 define um modelo de tempo "agressivo", que acelera a varredura. Os modelos de tempo variam de 0 (paranóico) a 5 (insano), com valores mais altos resultando em varreduras mais rápidas, mas potencialmente menos confiáveis. Para varreduras de rotina, -T4 oferece um bom equilíbrio entre velocidade e confiabilidade.

Compreendendo a Saída do Nmap e Salvando Resultados

Ao conduzir varreduras de rede, é importante entender como interpretar os resultados e salvá-los para análise ou relatórios posteriores. Nesta etapa, exploraremos diferentes formatos de saída do Nmap e como salvar os resultados da varredura.

Compreendendo a Saída Detalhada do Nmap

Vamos realizar uma varredura mais detalhada do localhost para entender melhor a saída do Nmap:

nmap -v localhost

A opção -v habilita a saída verbose, fornecendo mais informações sobre a varredura. Você deve ver uma saída semelhante a:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-23 10:30 UTC
Initiating Ping Scan at 10:30
Scanning localhost (127.0.0.1) [2 ports]
Completed Ping Scan at 10:30, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 10:30
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 443/tcp on 127.0.0.1
Completed Connect Scan at 10:30, 0.02s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http
443/tcp open  https

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.07 seconds

Esta saída fornece:

  • O progresso da varredura
  • Cada porta aberta descoberta em tempo real
  • O relatório final da varredura com portas e serviços abertos
  • Estatísticas de tempo

Salvando Resultados da Varredura em Arquivos

O Nmap pode salvar resultados em vários formatos, o que é útil para documentação, análise posterior ou compartilhamento com membros da equipe.

Formato de Saída Normal

Para salvar os resultados da varredura no formato de saída padrão do Nmap:

nmap localhost -oN normal_output.txt

Isso cria um arquivo chamado normal_output.txt com os resultados da varredura no mesmo formato exibido no terminal.

Formato de Saída XML

A saída XML é útil para o processamento programático dos resultados da varredura:

nmap localhost -oX xml_output.xml

Isso cria um arquivo XML que pode ser analisado por outras ferramentas ou scripts.

Formato de Saída Grepable

Para facilitar a análise com ferramentas de linha de comando como grep:

nmap localhost -oG grep_output.txt

Este formato é especialmente útil para extrair rapidamente informações específicas usando ferramentas como grep.

Todos os Formatos de Uma Vez

Para salvar a saída em todos os três formatos simultaneamente:

nmap localhost -oA scan_results

Isso cria três arquivos: scan_results.nmap, scan_results.xml e scan_results.gnmap.

Visualizando Resultados Salvos

Vamos examinar um dos arquivos de saída salvos:

cat normal_output.txt

Você deve ver os resultados da varredura do Nmap que foram previamente salvos neste arquivo.

Combinando Opções de Saída com Varredura de Múltiplos IPs

Agora, vamos combinar o que aprendemos, escaneando múltiplos IPs e salvando os resultados:

nmap 127.0.0.1-5 -oN multiple_hosts.txt

Este comando escaneia 5 endereços IP e salva os resultados em multiple_hosts.txt.

Vamos examinar esses resultados:

cat multiple_hosts.txt

Você verá os resultados da varredura para todos os endereços IP especificados. Normalmente, apenas 127.0.0.1 aparecerá como "up" com portas abertas neste exemplo.

Adicionando Detecção de Versão do Serviço

Para coletar mais informações sobre os serviços em execução nas portas abertas, podemos usar a opção -sV:

nmap -sV localhost -oN service_scan.txt

Isso realiza a detecção da versão do serviço e salva os resultados em service_scan.txt.

Vamos ver que informações adicionais isso fornece:

cat service_scan.txt

A saída agora deve incluir informações de versão para os serviços detectados, o que é valioso para avaliações de segurança, pois versões específicas podem ter vulnerabilidades conhecidas.

Opções de Varredura Avançadas para Avaliação de Rede

Agora que entendemos os conceitos básicos do Nmap e como escanear múltiplos alvos, vamos explorar algumas opções de varredura avançadas que são particularmente úteis para avaliações de segurança cibernética.

Seleção de Portas e Tipos de Varredura

Por padrão, o Nmap escaneia as 1000 portas TCP mais comuns. No entanto, você pode personalizar quais portas escanear.

Escaneando Portas Específicas

Para escanear portas específicas:

nmap -p 22,80,443 localhost

Este comando escaneia apenas as portas 22, 80 e 443.

Para escanear um intervalo de portas:

nmap -p 20-25 localhost

Isso escaneia as portas de 20 a 25.

Para escanear todas as 65535 portas TCP:

nmap -p- localhost

Observe que escanear todas as portas leva significativamente mais tempo.

Usando Diferentes Tipos de Varredura

O Nmap suporta várias técnicas de varredura. O padrão é uma varredura TCP SYN (-sS), mas isso requer privilégios de root. Sem privilégios de root, o Nmap usa uma varredura TCP connect (-sT).

Vamos tentar uma varredura TCP connect explicitamente:

nmap -sT localhost

Para uma varredura mais furtiva (requer privilégios de root):

sudo nmap -sS localhost

Para escanear portas UDP (que muitas vezes é negligenciado, mas importante para a segurança):

sudo nmap -sU -p 53,161,162 localhost

Isso escaneia as portas UDP 53 (DNS), 161 e 162 (SNMP).

Detecção de SO e Varredura de Versão

Para obter informações mais abrangentes, vamos combinar a detecção de SO e a varredura de versão do serviço:

sudo nmap -sS -O -sV localhost

A opção -O tenta identificar o sistema operacional do alvo. Isso fornece informações valiosas para avaliações de segurança, pois diferentes sistemas operacionais podem ter diferentes vulnerabilidades.

Vamos detalhar o que cada opção faz:

  • -sS: Realiza uma varredura SYN (requer root)
  • -O: Tenta identificar o sistema operacional do alvo
  • -sV: Examina as portas abertas para determinar informações de serviço/versão

A saída incluirá informações detalhadas sobre o sistema operacional e as versões dos serviços em execução no alvo.

Usando Scripts do Nmap

O Nmap inclui um poderoso Nmap Scripting Engine (NSE) que pode realizar uma ampla gama de tarefas, desde a detecção avançada de serviços até a varredura de vulnerabilidades.

Vamos executar um script básico que verifica serviços comumente expostos:

nmap --script=default localhost

Para uma varredura mais focada em segurança:

nmap --script=vuln localhost

Isso executa scripts de detecção de vulnerabilidade contra o alvo, o que pode identificar problemas de segurança comuns.

Opções de Tempo e Desempenho

Ao escanear múltiplos alvos, otimizar o desempenho da varredura se torna crucial. Já vimos a opção -T, mas existem controles mais granulares disponíveis.

nmap -T4 --max-rtt-timeout 200ms --min-rate 1000 127.0.0.1/24

Este comando:

  • Usa o modelo de tempo "agressivo" (-T4)
  • Define o tempo limite máximo de ida e volta para 200ms
  • Define uma taxa mínima de 1000 pacotes por segundo

Essas configurações podem acelerar significativamente as varreduras de vários hosts, embora possam ser menos confiáveis em redes congestionadas ou de alta latência.

Combinando Tudo para uma Varredura Abrangente

Vamos combinar várias técnicas para uma varredura abrangente de nossa rede local:

sudo nmap -sS -sV -O -p 1-1000 --script=default -T4 -oA comprehensive_scan 127.0.0.1

Este comando realiza:

  • Uma varredura SYN
  • Detecção de versão do serviço
  • Detecção de SO
  • Escaneia as portas 1-1000
  • Executa scripts padrão
  • Usa tempo agressivo
  • Salva os resultados em todos os formatos com o prefixo "comprehensive_scan"

Vamos examinar os resultados:

cat comprehensive_scan.nmap

Esta varredura abrangente fornece uma riqueza de informações sobre o sistema de destino, incluindo portas abertas, serviços em execução, versões de serviços e possíveis vulnerabilidades.

Considerações Éticas e Melhores Práticas

Antes de concluir, é importante enfatizar que o Nmap só deve ser usado em redes onde você tem permissão explícita para escanear. A varredura não autorizada pode ser ilegal e pode ser percebida como uma ação hostil.

Algumas melhores práticas a serem seguidas:

  1. Sempre obtenha permissão antes de escanear qualquer rede ou sistema
  2. Use varreduras menos agressivas quando possível para minimizar o impacto na rede
  3. Esteja ciente da possibilidade de falsos positivos e falsos negativos
  4. Documente suas atividades de varredura para referência e responsabilidade
  5. Respeite a privacidade e a confidencialidade das informações descobertas

Resumo

Neste laboratório, você aprendeu a usar o Nmap para escanear eficientemente múltiplos endereços IP simultaneamente, uma habilidade crucial para administradores de rede e profissionais de segurança cibernética. Cobrimos:

  1. Instalação do Nmap e execução de varreduras básicas para entender sua funcionalidade principal
  2. Vários métodos para especificar múltiplos alvos, incluindo intervalos de IP, notação CIDR e listas de alvos
  3. Como interpretar e salvar os resultados da varredura em diferentes formatos para análise posterior
  4. Técnicas de varredura avançadas que fornecem insights mais profundos sobre os serviços de rede e possíveis vulnerabilidades

Essas habilidades formam uma base para reconhecimento de rede e avaliação de segurança. Ao escanear eficientemente múltiplos endereços IP, você pode mapear rapidamente uma rede, identificar serviços em execução e descobrir potenciais fraquezas de segurança.

Para desenvolver ainda mais suas habilidades no Nmap, considere explorar:

  • Scripts NSE mais especializados para avaliações de segurança focadas
  • Integração do Nmap com outras ferramentas de segurança
  • Automatização de varreduras com scripts para monitoramento regular de segurança
  • Desenvolvimento de scripts NSE personalizados para necessidades específicas de varredura

Lembre-se de que ferramentas de varredura de rede como o Nmap devem sempre ser usadas de forma responsável e ética, com a devida autorização para escanear os sistemas de destino.