Realize a Varredura de Portas UDP com Nmap

NmapBeginner
Pratique Agora

Introdução

Neste laboratório, você aprenderá como usar o Nmap para a varredura de portas UDP (User Datagram Protocol), uma habilidade vital para profissionais de segurança de rede. UDP, um protocolo sem conexão, não estabelece uma conexão dedicada de ponta a ponta antes da transferência de dados. Isso o torna mais rápido, mas menos confiável do que o TCP.

A varredura de rede é crucial em segurança cibernética, permitindo que os profissionais identifiquem portas abertas, serviços em execução e potenciais vulnerabilidades. Nmap, uma poderosa ferramenta de código aberto para descoberta de rede e auditoria de segurança, é amplamente utilizada por administradores de sistema e especialistas em segurança cibernética. Ao final deste laboratório, você dominará a configuração de um servidor UDP, a realização de varreduras básicas de portas UDP com Nmap e a interpretação dos resultados da varredura, que são essenciais para a exploração da rede e a avaliação de segurança.

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 iniciante com uma taxa de conclusão de 99%. Recebeu uma taxa de avaliações positivas de 99% dos estudantes.

Configurando um Servidor UDP

Nesta etapa, você vai configurar um servidor UDP. Este servidor atuará como um alvo para suas varreduras Nmap. Ao fazer isso, você obterá uma melhor compreensão de como os serviços UDP operam e como as ferramentas de varredura podem detectá-los.

Entendendo o Protocolo UDP

Antes de começarmos a configurar o servidor, vamos dedicar um momento para entender o que é UDP (User Datagram Protocol). UDP é uma parte importante do conjunto de protocolos IP (Internet Protocol).

  • UDP é um protocolo sem conexão. Isso significa que, ao contrário do TCP, ele não estabelece uma conexão antes de enviar dados. Ao usar TCP, uma conexão é primeiro estabelecida entre o remetente e o receptor, mas o UDP ignora essa etapa.
  • UDP é mais rápido que TCP. Como não precisa passar pelo processo de estabelecimento de uma conexão, os dados podem ser enviados mais rapidamente. No entanto, essa velocidade tem um custo. UDP é menos confiável que TCP porque não há garantia de que os dados serão entregues, que chegarão na ordem correta ou que não haverá dados duplicados.
  • UDP é comumente usado em aplicações onde a velocidade é mais importante que a confiabilidade. Por exemplo, streaming de mídia como vídeos e músicas, jogos online e pesquisas DNS dependem do UDP. Nesses casos, um pequeno atraso na entrega de dados pode ser mais perceptível e disruptivo do que uma pequena quantidade de perda de dados.

Configurando o Servidor UDP

Para configurar um servidor UDP, usaremos uma ferramenta chamada netcat, que é frequentemente abreviada como nc. netcat é um utilitário de rede muito útil que permite ler e escrever em conexões de rede usando TCP ou UDP.

  1. Primeiro, abra uma janela de terminal. Depois que o terminal estiver aberto, você precisa navegar até o diretório do projeto. É aqui que todos os arquivos e configurações relevantes para este laboratório estão localizados. Você pode fazer isso executando o seguinte comando no terminal:
cd /home/labex/project
  1. Agora, é hora de iniciar o servidor UDP. Queremos que o servidor escute na porta 9999. Você pode iniciar o servidor com o seguinte comando:
nc -u -l -p 9999 -k

Vamos detalhar o que cada opção neste comando significa:

  • -u: Esta opção diz ao netcat para usar UDP em vez do TCP padrão. Como estamos configurando um servidor UDP, precisamos especificar isso.
  • -l: Isso coloca o netcat no modo de escuta (listen mode). No modo de escuta, netcat atua como um servidor, esperando por conexões de entrada.
  • -p 9999: Esta opção especifica o número da porta que o servidor irá escutar. Neste caso, escolhemos a porta 9999.
  • -k: Esta opção diz ao servidor para continuar em execução mesmo depois que um cliente se desconecta. Isso é útil porque permite que o servidor aceite novas conexões sem ter que reiniciá-lo toda vez que um cliente sai.

Depois de executar este comando, seu terminal pode parecer congelar ou travar. Este é um comportamento normal. Significa que o netcat agora está ouvindo ativamente por conexões UDP de entrada na porta 9999.

Mantenha esta janela do terminal aberta porque precisaremos dela para a próxima etapa. Para continuar com o laboratório, você precisará abrir uma nova janela do terminal.

Realizando uma Varredura UDP Básica com Nmap

Nesta etapa, usaremos o Nmap para escanear o servidor UDP que você configurou na etapa anterior. Este processo é crucial, pois o ajudará a entender como o Nmap identifica portas UDP abertas e os serviços em execução nelas. Ao final desta etapa, você terá uma melhor compreensão de como usar o Nmap para varredura UDP, que é uma habilidade essencial no campo da segurança cibernética.

Entendendo a Varredura UDP com Nmap

Nmap, abreviação de Network Mapper, é uma ferramenta de código aberto e gratuita bem conhecida, usada para descoberta de rede e auditoria de segurança. Quando se trata de escanear portas UDP, o Nmap opera de forma diferente em comparação com a varredura de portas TCP.

UDP, ou User Datagram Protocol, é um protocolo sem conexão. Ao contrário do TCP, que estabelece uma conexão antes da transferência de dados, o UDP simplesmente envia dados sem configurar uma conexão primeiro. Isso significa que os métodos tradicionais de varredura baseados em conexão usados para portas TCP não funcionarão para UDP.

Quando o Nmap escaneia portas UDP, ele envia pacotes UDP vazios para a porta de destino e, em seguida, aguarda uma resposta. Se a porta estiver fechada, o sistema de destino geralmente envia de volta uma mensagem ICMP "port unreachable" (porta inacessível). No entanto, se a porta estiver aberta, as coisas ficam um pouco mais complicadas. Pode não haver resposta alguma, o que dificulta saber se a porta está realmente aberta. Ou, se o serviço UDP em execução na porta reconhecer o formato do pacote, ele poderá enviar uma resposta.

É importante notar que a varredura UDP é geralmente mais lenta e menos confiável do que a varredura TCP. Isso ocorre porque o UDP não possui os mecanismos integrados para verificação de erros e retransmissão como o TCP.

Realizando a Varredura UDP

  1. Primeiro, abra uma nova janela do terminal. Certifique-se de manter o terminal anterior com o servidor UDP em execução. Isso é importante porque estaremos escaneando o servidor UDP que está atualmente ativo naquele terminal.

  2. Em seguida, precisamos navegar até o diretório do projeto. No novo terminal, execute o seguinte comando:

cd /home/labex/project

Este comando altera o diretório de trabalho atual para o diretório do projeto, onde todos os nossos arquivos e configurações relevantes estão localizados.

  1. Agora, é hora de executar a varredura UDP do Nmap. Estaremos escaneando o localhost (127.0.0.1) visando a porta 9999. Execute o seguinte comando:
sudo nmap -sU -p 9999 127.0.0.1 > /home/labex/project/udp_scan_results.txt

Vamos detalhar este comando para entender o que cada parte faz:

  • sudo: Isso é usado para executar o comando com privilégios elevados. A varredura UDP requer esses privilégios elevados porque envolve o envio de pacotes em uma camada de rede de baixo nível.
  • nmap: Esta é a ferramenta de varredura que estamos usando. É o núcleo de nossa operação para descoberta de rede e auditoria de segurança.
  • -sU: Esta opção diz ao Nmap para realizar uma varredura UDP.
  • -p 9999: Esta opção especifica que queremos escanear apenas a porta 9999.
  • 127.0.0.1: Este é o endereço IP de destino. Neste caso, é o localhost, o que significa que estamos escaneando nossa própria máquina.
  • > /home/labex/project/udp_scan_results.txt: Esta parte redireciona a saída da varredura Nmap para um arquivo chamado udp_scan_results.txt no diretório do projeto. Desta forma, podemos revisar os resultados mais tarde.
  1. Após a conclusão da varredura, podemos visualizar os resultados. Execute o seguinte comando:
cat /home/labex/project/udp_scan_results.txt

Você deve ver uma saída semelhante à seguinte:

Starting Nmap 7.80 ( https://nmap.org ) at 2023-09-15 12:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000054s latency).

PORT     STATE         SERVICE
9999/udp open|filtered unknown

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

Entendendo os Resultados

Vamos analisar os resultados da varredura e entender o que eles significam.

O estado open|filtered indica que o Nmap não recebeu uma mensagem ICMP "port unreachable". Existem algumas explicações possíveis para isso:

  • A porta está aberta e o serviço UDP está em execução conforme o esperado.
  • A porta pode estar filtrada por um firewall. Um firewall pode estar bloqueando as mensagens ICMP "port unreachable" ou o próprio tráfego UDP.
  • O sistema de destino pode não estar enviando mensagens ICMP "port unreachable" por algum motivo.

Em nosso caso, como configuramos o servidor UDP nós mesmos, sabemos que a porta está aberta. O rótulo de serviço unknown significa que o Nmap não conseguiu determinar qual serviço está em execução nessa porta com base em sua impressão digital de serviço.

Como mencionado anteriormente, a varredura UDP é menos conclusiva do que a varredura TCP. É por isso que o Nmap geralmente mostra o estado open|filtered para portas UDP, tornando um pouco mais desafiador determinar com precisão o status das portas UDP.

Resumo

Neste laboratório, você aprendeu a usar o Nmap para varredura de portas UDP, uma habilidade crucial para a avaliação da segurança de rede. Primeiro, você configurou um servidor UDP com netcat para criar um alvo prático para a varredura. Em seguida, você conduziu uma varredura UDP básica com Nmap na porta específica onde o servidor estava ouvindo.

Você também ganhou experiência prática na compreensão do protocolo UDP e suas diferenças em relação ao TCP, na configuração de um servidor UDP básico usando netcat, no uso do Nmap para escanear portas UDP abertas e na interpretação dos resultados da varredura UDP. Essas habilidades são fundamentais para uma varredura de rede e avaliação de segurança mais avançadas. A varredura UDP é vital, pois muitos serviços críticos como DNS, DHCP e protocolos de streaming usam UDP.

À medida que você avança em sua jornada de segurança cibernética, lembre-se de que a varredura de rede é apenas parte de uma avaliação de segurança abrangente. Sempre escaneie sistemas que você possui ou para os quais tem permissão explícita para escanear.