Tox

Início/Cibersegurança

Pentest em aplicações web e APIs

Um pentest é uma tentativa real de invadir o seu sistema, feita com autorização por escrito e dentro de limites combinados. A diferença para um scanner automático está na prova: cada vulnerabilidade do relatório foi explorada e documentada com o passo a passo para reproduzir.

A maior parte do nosso trabalho é em sistemas multi-tenant, onde várias empresas ou clientes dividem a mesma aplicação. Nesse tipo de sistema o risco mais comum não é uma invasão sofisticada. É um usuário logado que troca um número na URL e passa a ver o cadastro de outra empresa. Esse é o primeiro teste que fazemos.

Solicitar proposta

Quando faz sentido

  • Antes de lançar um sistema novo ou uma funcionalidade que mexe com dado pessoal ou pagamento.
  • Quando um cliente corporativo pede relatório de pentest na homologação de fornecedor.
  • Para cumprir exigência de norma. O PCI DSS pede pentest a cada 12 meses e após mudança significativa, e a Resolução CMN nº 4.893/2021, alterada pela Resolução CMN nº 5.274/2025, exige das instituições autorizadas pelo Banco Central teste de intrusão anual feito com independência.
  • Depois de um incidente, para saber se a porta usada ainda está aberta e se existem outras.
  • Quando o sistema foi desenvolvido por terceiros e a empresa não sabe o que herdou.

O que é testado

Controle de acesso (A01)
Troca de identificadores entre contas (IDOR e BOLA), acesso a rotas administrativas com usuário comum, métodos HTTP não previstos e requisições forjadas para serviços internos (SSRF).
Autenticação e sessão (A07)
Força bruta e limite de tentativas, enumeração de usuários no login e na recuperação de senha, tokens JWT adulterados ou sem expiração, sessão que continua válida depois do logout.
Configuração (A02)
Cabeçalhos de segurança, CORS, arquivos expostos como .env e .git, buckets de armazenamento públicos, mensagens de erro que revelam tabela, coluna ou versão de software.
Injeção (A05)
SQL, NoSQL, comandos do sistema operacional e templates. Inclui funções de banco com SQL dinâmico, que continuam vulneráveis mesmo quando o restante da aplicação usa consultas parametrizadas.
Lógica de negócio (A06)
Preço alterado no carrinho, etapa de pagamento pulada, cupom reaproveitado, limite de uso contornado. Nenhuma ferramenta automática encontra esse tipo de falha, porque ela depende de entender o que o sistema deveria fazer.
APIs
Atribuição em massa de campos, autorização por função, consumo de recursos sem limite, endpoints antigos esquecidos e integrações com terceiros, conforme o OWASP API Security Top 10.
Segredos no front-end
Chaves de API, tokens e URLs internas presentes no JavaScript enviado ao navegador ou no pacote do aplicativo móvel.
Tratamento de erro (A10)
Situações em que o sistema falha aberto: uma exceção que libera acesso em vez de negar, ou uma transação interrompida que deixa o dado inconsistente.

Modalidades

Black box

O testador recebe apenas o endereço do sistema, como um atacante externo. Útil para medir o que está exposto na internet, mas cobre menos do que acontece depois do login.

Gray box

O testador recebe contas de usuário comuns, de perfis e empresas diferentes. É a modalidade que recomendamos para a maioria dos sistemas, porque é onde aparecem os vazamentos entre clientes.

White box

Além das contas, o testador tem acesso ao código-fonte. Dá a maior cobertura e costuma ser combinado com a revisão de código seguro.

O que você recebe

  • Relatório executivo de duas a três páginas, em linguagem de negócio, para a diretoria.
  • Relatório técnico com cada achado: descrição, evidência (requisição e resposta), passo a passo para reproduzir, impacto e correção recomendada.
  • Classificação de severidade pelo CVSS, ajustada ao contexto do negócio.
  • Lista do que foi testado e passou, para que a ausência de achado também seja documentada.
  • Reunião de apresentação com a equipe técnica.
  • Reteste das correções e versão final do relatório com o status de cada item.
  • Carta de execução do teste, para apresentar a clientes e auditores sem expor o relatório completo.
  • Eliminação, ao fim do contrato, das evidências que contenham dados reais, mantido apenas o relatório final.

Referências

  • OWASP Top 10:2025
  • OWASP API Security Top 10 (2023)
  • OWASP Web Security Testing Guide (WSTG)
  • CVSS v4.0 (FIRST)
  • PCI DSS v4.0.1, requisitos 11.4.1 a 11.4.6
  • Resolução CMN nº 4.893/2021, art. 22-A, incluído pela Resolução CMN nº 5.274/2025

Perguntas frequentes

Qual a diferença entre pentest e varredura de vulnerabilidades?

A varredura é automática. Uma ferramenta compara versões e respostas do sistema com uma base de falhas conhecidas e gera uma lista de possíveis problemas, com muitos falsos positivos. No pentest, uma pessoa tenta explorar cada falha para comprovar o impacto e investiga o que nenhuma ferramenta enxerga, como um usuário que acessa dados de outra empresa ao trocar um identificador ou uma etapa de pagamento que pode ser pulada. A varredura pode rodar com frequência; o pentest aprofunda a análise em intervalos maiores.

Com que frequência devemos fazer um pentest?

A prática mais comum é um teste por ano e outro sempre que houver mudança significativa, como um módulo novo, uma troca de infraestrutura ou uma integração de pagamento. Algumas normas fixam esse mínimo. O PCI DSS pede pentest interno e externo pelo menos a cada 12 meses e após mudança significativa. A Resolução CMN nº 4.893/2021, alterada pela Resolução CMN nº 5.274/2025, exige teste de intrusão no mínimo anual das instituições autorizadas pelo Banco Central, feito com independência.

O teste pode derrubar o sistema?

Os limites são definidos antes, por escrito. Testes que podem afetar a disponibilidade, como carga ou exploração destrutiva, só rodam em homologação ou em janela autorizada. Em produção usamos contas de teste e técnicas que não alteram dado real. Quando é preciso confirmar uma escrita, a operação é feita de forma que possa ser desfeita.

Devemos testar em produção ou em homologação?

Depende de quanto a homologação se parece com produção. Se o ambiente de testes tem a mesma versão, a mesma configuração e dados fictícios equivalentes, ele é o lugar mais seguro para os testes mais agressivos. Muitas falhas, porém, estão na configuração de produção, como cabeçalhos, buckets e variáveis de ambiente. Por isso é comum combinar os dois: exploração em homologação e verificação controlada de configuração em produção.

O que precisamos fornecer?

Os endereços do sistema, contas de teste para cada perfil (no gray box, de pelo menos duas empresas ou clientes diferentes), a janela autorizada e um contato técnico para imprevistos. Convém avisar a equipe de infraestrutura e o provedor de hospedagem, para que o tráfego do teste não seja bloqueado como ataque real no meio do trabalho. No white box, acrescenta-se acesso de leitura ao repositório.

Quanto tempo leva?

Depende do tamanho do sistema, do número de perfis de acesso e da modalidade. Uma aplicação com poucas dezenas de rotas é bem diferente de uma plataforma com centenas de endpoints e integrações. O prazo fica fechado na proposta, depois da conversa de escopo.

O que acontece se vocês encontrarem uma falha grave durante o teste?

Uma falha crítica, como vazamento de dados entre clientes ou acesso administrativo sem senha, é comunicada ao contato técnico assim que confirmada, sem esperar o relatório final. O restante segue para o relatório, com severidade, evidência e orientação de correção. Depois das correções, fazemos o reteste e emitimos a versão final com o status de cada item.

Como fica a confidencialidade das informações?

O acordo de confidencialidade é assinado antes de qualquer acesso. O relatório circula só entre as pessoas indicadas pela empresa, e os dados vistos durante o teste servem apenas para comprovar a falha. Ao fim do contrato, as evidências que contenham dados reais são eliminadas, e fica guardado apenas o relatório final. Para apresentar a clientes e auditores, entregamos uma carta de execução que atesta o teste sem expor as vulnerabilidades.

Vocês corrigem as falhas encontradas?

Se contratado, sim. Como também desenvolvemos sistemas, podemos aplicar a correção direto no código, em branch separada e com revisão da sua equipe. Se preferir que a sua equipe corrija, o relatório traz a orientação e fazemos o reteste depois.

Setores e serviços relacionados

Artigos sobre o tema

Fale com a Tox

Conte o que precisa. Respondemos com uma proposta de escopo, prazo e preço.

Solicitar proposta