Diário de Bordo – Henrique Camelo Quenino
Disciplina: Gestão de Configuração e Evolução de Software
Equipe: OWASP (Time Red)
Comunidade/Projeto de Software Livre: OWASP (ej-application)
Sprint 2 – 24/09/2025 – 07/10/2025
Resumo da Sprint
Na Sprint 2, o foco principal foi na investigação e análise de vulnerabilidades críticas de segurança web, com ênfase em ataques de referência direta a objetos inseguros (IDOR), gestão inadequada de sessões e cookies, e ataques de força bruta combinados com falhas de rate limiting. A sprint envolveu tanto estudos teóricos baseados na documentação OWASP quanto testes práticos na aplicação EJ, utilizando ferramentas especializadas em segurança ofensiva para identificar e documentar vulnerabilidades. O trabalho contribuiu significativamente para o entendimento dos vetores de ataque mais comuns em aplicações web modernas e suas respectivas contramedidas.
Atividades Realizadas
Data | Atividade | Tipo | Link/Referência | Status |
---|---|---|---|---|
29/09 | Análise de vulnerabilidades IDOR na aplicação EJ | Investigação | – | Concluído |
07/10 | Documentação completa de ataques e elaboração do relatório | Planejamento | – | Concluído |
Maiores Avanços
A identificação sistemática de vulnerabilidades críticas na aplicação EJ representou o maior avanço da sprint. Foi possível mapear pontos de falha específicos relacionados a controles de acesso inadequados, configurações inseguras de sessão e ausência de mecanismos de rate limiting. O desenvolvimento de uma metodologia estruturada para testes de penetração, baseada em frameworks OWASP, estabeleceu uma base sólida para futuras análises de segurança.
Maiores Dificuldades
As principais dificuldades encontradas incluíram a complexidade de configurar adequadamente as ferramentas de teste em ambiente containerizado, especialmente para interceptar tráfego HTTPS. A necessidade de balancear testes invasivos com a preservação da integridade da aplicação também exigiu cuidado especial. Adicionalmente, a interpretação de falsos positivos em ferramentas automatizadas demandou análise manual detalhada.
Aprendizados
A sprint proporcionou compreensão profunda sobre a importância de implementar defesas em camadas (defense in depth) para mitigar riscos de segurança. A experiência prática reforçou que vulnerabilidades aparentemente simples podem ter impactos devastadores quando exploradas em conjunto. O conhecimento adquirido sobre as diretrizes OWASP estabeleceu fundações sólidas para futuras auditorias de segurança.
Estudo
IDOR (Insecure Direct Object Reference)
Definição e Caracterização
IDOR (Insecure Direct Object Reference) representa uma categoria crítica de vulnerabilidade de controle de acesso que surge quando aplicações web utilizam entrada fornecida pelo usuário para acessar objetos diretamente, sem implementar verificações adequadas de autorização. Esta vulnerabilidade manifesta-se tipicamente através da manipulação de identificadores em URLs, parâmetros de formulário ou cabeçalhos HTTP.
Exemplos Práticos
A vulnerabilidade IDOR pode se manifestar de diversas formas na aplicação EJ:
- Referência direta a registros de banco: URLs como
https://ej-app.com/users/123
onde o atacante pode alterar o ID para124
e acessar informações de outros usuários - Campos ocultos em formulários: Manipulação de campos
<input type="hidden" name="user_id" value="12345">
para modificar perfis de terceiros - Referências a arquivos estáticos: Acesso a transcripts ou documentos através de URLs como
https://ej-app.com/static/12144.txt
alterando incrementalmente os identificadores
Técnicas de Exploração
- Escalação horizontal de privilégios: Acesso a dados de outros usuários no mesmo nível de permissão
- Escalação vertical de privilégios: Manipulação de identificadores para acessar contas com privilégios superiores
- Enumeração de recursos: Descoberta sistemática de recursos válidos através de força bruta em identificadores
Contramedidas (OWASP)
- Implementação de controles de acesso: Verificação obrigatória de permissões antes de qualquer acesso a objeto
- Uso de identificadores complexos: Substituição de IDs sequenciais por GUIDs ou valores aleatórios longos como medida adicional de defesa
- Referências indiretas: Utilização de mapeamentos internos que não expõem identificadores diretos
- Validação contextual: Limitação de consultas a datasets acessíveis pelo usuário atual, como
@current_user.projects.find(params[:id])
em Ruby on Rails
Ref: OWASP - IDOR
Sessões / Cookies Inseguros
Natureza das Vulnerabilidades de Sessão
O gerenciamento inadequado de sessões representa um dos vetores de ataque mais críticos em aplicações web modernas. Session cookies atuam como tokens de portador temporariamente equivalentes aos métodos de autenticação mais fortes utilizados pela aplicação. A vulnerabilidade surge pela natureza stateless do HTTP, exigindo mecanismos de rastreamento de estado que, quando mal implementados, expõem a aplicação a múltiplos vetores de ataque.
Principais Vulnerabilidades Identificadas
- Session Hijacking/Sidejacking: Interceptação maliciosa de identificadores de sessão através de ataques man-in-the-middle ou captura de tráfego não criptografado
- Session Fixation: Manipulação forçada de identificadores de sessão pelo atacante, estabelecendo sessões comprometidas antes mesmo da autenticação da vítima
- Weak Session ID Generation: Geração de identificadores com entropia insuficiente (<64 bits) permitindo ataques de força bruta ou predição
- Cross-Site Script Access: Acesso a cookies via JavaScript malicioso quando o atributo HttpOnly não está configurado
- Insecure Transport: Transmissão de cookies sobre conexões HTTP não criptografadas quando o atributo Secure está ausente
Configurações de Cookie Inseguras
- Ausência do atributo Secure: Permite transmissão de cookies sobre conexões HTTP, expondo-os a interceptaçã
- Falta do atributo HttpOnly: Possibilita acesso via JavaScript, facilitando roubo através de ataques XSS
- Configuração inadequada de SameSite: Exposição a ataques CSRF e vazamento de informações cross-origin
- Escopo permissivo de Domain/Path: Cookies acessíveis por subdomínios ou paths não autorizados
Estratégias de Prevenção (OWASP)
- Geração segura de Session IDs: Utilização de CSPRNGs com mínimo de 64 bits de entropia
- Configuração rigorosa de atributos de cookie: Implementação obrigatória de Secure, HttpOnly, e SameSite adequado
- Renovação de Session ID: Regeneração obrigatória após mudanças de privilégio e eventos de risco
- Implementação de timeouts: Configuração de idle timeout (2-30 min) e absolute timeout (4-8 horas) baseados na criticidade da aplicação
- Invalidação adequada: Destruição completa de sessões no servidor durante logout e expiração
Ref: OWASP - Session Management
Brute Force / Rate Limiting
Caracterização do Ataque
Ataques de Brute Force representam métodos sistemáticos onde atacantes utilizam ferramentas automatizadas para tentar múltiplas combinações de credenciais até encontrar as corretas. A ausência de Rate Limiting adequado amplifica significativamente o impacto destes ataques, permitindo que atacantes realizem milhares de tentativas sem restrições temporárias ou bloqueios.
Taxonomia de Ataques
- Traditional Brute Force: Tentativas sequenciais de múltiplas senhas contra usuário conhecido
- Dictionary Attacks: Utilização de wordlists e senhas comuns baseadas em reconnaissance do alvo
- Credential Stuffing: Reutilização de combinações usuário/senha obtidas de vazamentos de dados
- Password Spraying: Teste de senhas fracas contra múltiplas contas simultaneamente
- Reverse Brute Force: Início com senhas conhecidas para descobrir usuários válidos
Ferramentas de Ataque Especializadas
- Hydra (THC-Hydra): Framework multi-protocolo suportando mais de 30 serviços de rede
- John the Ripper: Suite completa de quebra de senhas com suporte a múltiplos formatos de hash
- Hashcat: Engine de cracking acelerado por GPU capaz de bilhões de tentativas por segundo
- Burp Suite Intruder: Módulo especializado para ataques automatizados em aplicações web
- Medusa: Ferramenta de login paralelo rápido para múltiplos protocolos
Técnicas de Bypass de Rate Limiting
- Header Manipulation: Alteração de X-Forwarded-For, X-Originating-IP, X-Remote-Addr para simular diferentes origens
- Endpoint Variation: Exploração de inconsistências entre /login, /Login, /signin, /authenticate
- Parameter Pollution: Inserção de caracteres especiais (%00, %0d%0a, %20) em parâmetros
- Distributed Attacks: Utilização de redes Tor, VPNs ou botnets para distribuir requisições
- Race Conditions: Exploração de condições de corrida para enviar múltiplas requisições simultâneas
Impacto e Consequências
- Comprometimento de Contas: Acesso não autorizado resultando em roubo de dados pessoais e financeiros
- Negação de Serviço: Sobrecarga de recursos causando indisponibilidade para usuários legítimos
- Escalação de Privilégios: Comprometimento de contas administrativas permitindo controle total da aplicação
- Danos Reputacionais: Perda de confiança dos usuários e impactos regulatórios
[REF1] Blocking Brute Force Attacks - OWASP Foundation
[REF2] What is Rate Limiting for DDoS Attacks?
[REF3] Popular tools for brute-force attacks [updated for 2025] - Infosec
[REF4] What is a Brute Force Attack? Types, Examples & Prevention
[REF5] Credential Stuffing Prevention - OWASP Cheat Sheet Series
[REF6] Mitigate OWASP API security top 10 in Azure API Management
Plano Pessoal para a Próxima Sprint
- Ataques IDOR: Exploração avançada de vulnerabilidades de referência direta a objetos com foco em escalação de privilégios
- Ataques de sessão: Implementação de técnicas de session hijacking e fixation em ambiente controlado
- Abusar de APIs (rate-limit, fuzzing): Desenvolvimento de estratégias automatizadas para descoberta de endpoints vulneráveis e bypass de controles de rate limiting
- Simular phishing no contexto da plataforma: Criação de campanhas de engenharia social específicas para a aplicação EJ visando conscientização da equipe