gxbriel

Web Application Security / pentest ofensivo em aplicações e APIs

navi — /bin/sh — 80×24 wired: conectado
sinal (simulação em execução no navegador) eventos simulados: 0

categorias

registros recentes

  • bloqueio na borda — rate limit
  • assinatura — path traversal
  • sessão encerrada — token expirado
  • varredura de portas filtrada
SP — NAVI Ashburn Hong Kong Singapura Tóquio Dublin
層 01

whoami

Sou Gabriel Luiz, profissional de segurança ofensiva em São Paulo, com foco em aplicações web e APIs. Meu trabalho é encontrar o caminho que ninguém mapeou: o parâmetro que confia demais, a sessão que não expira, o endpoint que existe mas não deveria.

Venho do suporte técnico — o que significa que entendi a infraestrutura antes de aprender a quebrá-la. Hoje divido o tempo entre laboratórios controlados, programas de bug bounty e a graduação em Segurança da Informação na Fatec São Caetano do Sul.

Trabalho dentro do escopo, documento o que encontro e escrevo relatório que o time de desenvolvimento consegue usar. Achar a falha é metade; a outra metade é explicar o impacto de forma que gere correção.

層 02

superfície de ataque

Não testo por lista de categorias — testo seguindo a requisição. Cada parada abaixo é um ponto do caminho entre o navegador e o banco, na ordem em que a aplicação toma decisões. Onde há decisão, há suposição; onde há suposição, há falha.

Borda — antes da aplicação existir

Proxy, CDN, WAF e cache respondem primeiro. Muita coisa quebra aqui sem que o código da aplicação seja tocado.

  • Host header injection
  • Web cache poisoning
  • CORS permissivo
  • Bypass de WAF por encoding
  • Rate limit ausente ou por IP
  • Request smuggling

Identidade — a aplicação decide quem você é

O token que prova identidade costuma ser validado com menos rigor do que foi emitido.

  • JWT com alg none ou chave fraca
  • Fixação e sessão que não expira
  • Reset de senha com token previsível
  • OAuth com redirect_uri frouxo
  • MFA contornável por race condition

Autorização — a aplicação decide o que você pode

Saber quem é o usuário não é o mesmo que verificar o que ele possui. É onde mais encontro achado de impacto alto com esforço baixo.

  • IDOR em identificador sequencial
  • Escalação vertical de papel
  • Vazamento entre inquilinos
  • Mutation GraphQL sem resolver protegido
  • Fluxo multi-etapa pulável

Parsing — o servidor interpreta o que você mandou

Todo lugar em que um texto vira comando, consulta, caminho ou requisição. Aqui mora o crítico.

  • SQL injection (blind, time-based)
  • Command injection e RCE
  • SSRF com pivô para metadados
  • SSTI em engine de template
  • XXE e desserialização insegura
  • Path traversal
  • Upload sem validação real

Resposta — o que volta para o navegador

A saída carrega dados de terceiros. Se o contexto de renderização não for respeitado, o navegador executa o que deveria apenas exibir.

  • XSS armazenado em painel interno
  • XSS refletido e DOM-based
  • CSRF em ação sensível
  • Prototype pollution
  • Vazamento em mensagem de erro

Lógica — tudo passou na validação e ainda assim está errado

Nenhum scanner acha isto. Exige ler o fluxo como quem entende o negócio e perguntar qual estado impossível o sistema aceita.

  • Race condition em saldo e cupom
  • Manipulação de preço e quantidade
  • Reembolso acima do valor pago
  • Abuso de cota e trial
  • Encadeamento de falhas médias até crítico

em vermelho: classes em que já cheguei a impacto demonstrável

層 03

engajamentos

Laboratórios, projetos acadêmicos e alvos autorizados. Abra cada registro para ver o caminho completo.

E-commerce — cadeia de IDOR até takeover crítico lab autorizado
alvo
Aplicação de checkout com API REST e painel administrativo separado.
vetor
Identificadores sequenciais em /api/v1/orders/{id} sem verificação de propriedade.
cadeia
Enumeração de pedidos → vazamento de e-mail e telefone → fluxo de recuperação de senha aceitando o telefone vazado → acesso à conta → o papel administrativo herdado permitiu leitura da base inteira de clientes.
ferramentas
Burp Suite (Intruder, Repeater), ffuf, script em Python para correlacionar IDs.
correção
Checagem de propriedade no servidor, UUID no lugar de inteiro sequencial e separação real de papéis.
SSRF em serviço de importação de imagem crítico lab autorizado
alvo
Endpoint que baixa imagens a partir de uma URL fornecida pelo usuário.
vetor
Lista de bloqueio apenas por string, contornada com redirecionamento HTTP e notação decimal de IP.
cadeia
Varredura de portas internas via diferença de tempo de resposta → acesso ao endpoint de metadados da instância → recuperação de credenciais temporárias de ambiente.
ferramentas
Burp Collaborator, curl, listener próprio em Bash.
correção
Lista de permissão de domínios, resolução de DNS no servidor antes da requisição e bloqueio de faixas privadas.
XSS armazenado no painel de suporte alto projeto acadêmico
alvo
Sistema de tickets onde o operador visualiza o texto enviado pelo cliente.
vetor
Sanitização aplicada só na renderização pública; o painel interno confiava no conteúdo e injetava via innerHTML.
cadeia
Ticket com payload → execução no navegador do atendente → roubo de token de sessão administrativa sem interação adicional.
ferramentas
Burp Suite, payloads próprios, DOM Invader.
correção
Codificação na saída em todos os contextos, CSP restritiva e troca de innerHTML por textContent.
Autorização quebrada em API GraphQL alto lab autorizado
alvo
API GraphQL com introspecção habilitada em produção.
vetor
Autorização verificada nas queries, mas não nas mutations aninhadas por campo.
cadeia
Mapeamento do schema → descoberta de mutation não documentada → alteração de papel do próprio usuário → acesso a dados de outros inquilinos do sistema.
ferramentas
InQL, Burp Suite, graphql-cop.
correção
Autorização por resolver, introspecção desligada e limite de profundidade e custo de query.
層 04

arsenal

O que fica aberto na tela durante um teste, na ordem em que entra em uso.

reconhecimentomapear antes de tocar
AmassSubfinderhttpxNmapNuclei
exploraçãoonde a hipótese vira PoC
Burp SuiteOWASP ZAPSQLMapffufWfuzzMetasploit
credenciaisquando a chave é o alvo
John the RipperHashcatWireshark
ambienteo resto do dia a dia
BashPythonJavaDockerLinuxGitWazuhNessus
層 05

fora do escopo web

Nem tudo aqui é aplicação web. Dois projetos que ficam de fora da trilha principal, mas mostram o resto do trabalho: um do lado de quem ataca host, outro do lado de quem defende a rede.

win7pentest — exploração básica com Metasploit ofensivo · host
alvo
Máquina Windows 7 em laboratório, foco em exploração via payload reverso.
cadeia
Payload Meterpreter gerado com msfvenom (x86, reverse_tcp) → transferência pro alvo → listener configurado em exploit/multi/handler → shell reverso estabelecido → reconhecimento pós-exploração (getuid, ps, captura de tela) → tentativa de escalonamento de privilégio.
ferramentas
Metasploit Framework, msfvenom, Meterpreter.
nota
Escalonamento em Windows 7 esbarra no UAC — documentado como limitação encontrada, não como falha contornada.
InsiderShield — threat hunting com Wazuh, Sysmon e YARA defensivo · SOC
objetivo
Framework de detecção de ameaça interna e movimentação lateral em ambiente corporativo simulado.
pilha
Wazuh como SIEM, Sysmon para telemetria detalhada de eventos, YARA para detecção de malware fileless, correlação visualizada no ELK Stack.
automação
Script auto-isolate.ps1 isola automaticamente a máquina comprometida assim que uma regra dispara — resposta a incidente sem intervenção manual.
validação
Testado contra simulação real de ataque (APTSimulator) e amostra EICAR; eventos correlacionados com técnicas MITRE ATT&CK (T1087, T1059.003).
regras
local_rules.xml (Wazuh) e yara-rules.yar customizadas para o cenário.
層 06

conectar

Para escopo, proposta ou só para trocar ideia sobre um achado — as linhas estão abertas.