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
-
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.
-
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.
- 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.
- 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.