Explorando as Técnicas de Varredura de Portas do Nmap
Nmap é uma ferramenta poderosa no campo da cibersegurança, especialmente quando se trata de port scanning (varredura de portas). A varredura de portas é um método usado para descobrir quais portas em um sistema de destino estão abertas e quais serviços podem estar sendo executados nessas portas. Existem diferentes tipos de técnicas de varredura de portas, cada uma com suas próprias vantagens exclusivas e casos de uso específicos. Nesta etapa, exploraremos algumas dessas técnicas, escaneando nosso serviço simulado.
Primeiro, vamos realizar uma varredura básica de conexão TCP, visando especificamente nossa porta 8888. Uma varredura de conexão TCP é uma maneira direta de verificar se uma porta está aberta. Funciona tentando estabelecer uma conexão TCP completa com a porta de destino. Se a conexão for bem-sucedida, a porta é considerada aberta.
nmap -p 8888 localhost
Neste comando, a opção -p é usada para especificar quais portas queremos escanear. Aqui, estamos dizendo ao Nmap para escanear a porta 8888 no localhost, que se refere à máquina atual. Após executar este comando, você deverá ver uma saída semelhante a esta:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-30 15:50 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
PORT STATE SERVICE
8888/tcp open sun-answerbook
Nmap done: 1 IP address (1 host up) scanned in 0.05 seconds
Esta saída confirma que nossa porta 8888 está aberta. O Nmap também identificou o nome do serviço associado a esta porta de acordo com seu banco de dados interno.
Agora, vamos tentar uma varredura SYN. Uma varredura SYN é uma abordagem mais furtiva em comparação com a varredura de conexão TCP. Ela não completa a conexão TCP completa, o que a torna menos provável de ser detectada por sistemas de detecção de intrusão.
sudo nmap -sS -p 8888 localhost
A opção -sS especifica que queremos realizar uma varredura SYN. Este tipo de varredura requer privilégios de root porque envolve o envio de pacotes de rede brutos, que é uma operação de baixo nível. É por isso que usamos o comando sudo. A saída deve ser semelhante à varredura anterior:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-30 15:55 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
PORT STATE SERVICE
8888/tcp open sun-answerbook
Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
Em seguida, vamos tentar uma varredura UDP. UDP (User Datagram Protocol) é um tipo diferente de protocolo de rede em comparação com TCP. Enquanto o TCP fornece um serviço confiável e orientado a conexão, o UDP é um protocolo sem conexão. Usaremos uma varredura UDP para verificar se a porta 8888 está aberta para tráfego UDP.
sudo nmap -sU -p 8888 localhost
A opção -sU especifica uma varredura UDP. As varreduras UDP podem consumir mais tempo do que as varreduras TCP porque o UDP não possui o mesmo mecanismo de reconhecimento embutido que o TCP, então o Nmap precisa esperar mais tempo para determinar se uma porta está aberta ou fechada. A saída pode ser assim:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-30 16:00 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
PORT STATE SERVICE
8888/udp closed sun-answerbook
Nmap done: 1 IP address (1 host up) scanned in 0.15 seconds
Observe que a porta UDP é mostrada como fechada. Isso é esperado porque nosso serviço netcat está ouvindo conexões TCP, não UDP.
Finalmente, vamos realizar uma varredura de detecção de versão do serviço. Este tipo de varredura nos ajuda a identificar qual serviço específico e sua versão estão sendo executados em uma porta específica.
nmap -sV -p 8888 localhost
A opção -sV diz ao Nmap para realizar a detecção de serviço/versão. Ele tenta enviar sondas específicas para as portas abertas e analisar as respostas para determinar o serviço e sua versão. A saída pode ser assim:
Starting Nmap 7.80 ( https://nmap.org ) at 2023-10-30 16:05 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000097s latency).
PORT STATE SERVICE VERSION
8888/tcp open http Apache httpd
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Nmap done: 1 IP address (1 host up) scanned in 6.51 seconds
A detecção de versão pode não identificar com precisão nosso serviço netcat como uma aplicação genuína, mas demonstra como o Nmap tenta determinar o que está sendo executado nas portas abertas.
Vamos salvar nossas descobertas em um arquivo para referência futura. Salvar os resultados da varredura nos permite revisá-los mais tarde, compartilhá-los com outras pessoas ou usá-los para análise posterior.
nmap -p 8888 localhost > /home/labex/project/nmap_scan_results.txt
Neste comando, o símbolo > é usado para redirecionar a saída da varredura do Nmap para um arquivo chamado nmap_scan_results.txt localizado no diretório /home/labex/project.
Você pode visualizar os resultados salvos com:
cat /home/labex/project/nmap_scan_results.txt
O comando cat é usado para exibir o conteúdo de um arquivo.
Isso conclui nossa exploração de diferentes técnicas de varredura de portas do Nmap.