O que é Pentest e por que minha aplicação deve ser hackeada?

AppSec LuizaLabs
luizalabs
Published in
5 min readFeb 14, 2023

O que é?

O termo Pentest ou Penetration Test se refere a um método capaz de avaliar a segurança de sistemas, redes, aplicações web, mobile e desktop, bem como componentes de hardware, dispositivos embarcados, entre outros tipos de ativos computacionais de uma organização. Comumente, esse processo também pode ser referenciado como Ethical Hacking Test (EHT), Vulnerability Assessment, Teste de Intrusão, entre outros termos.

Objetivo

Durante a avaliação o profissional responsável simula um ataque de uma fonte maliciosa para tentar obter acesso ou vantagens dentro de um sistema ou rede de computadores, sendo uma excelente forma de entender e dimensionar a atual condição da segurança organizacional, antecipando ataques reais e mitigando riscos mapeados pelos especialistas de segurança.

Além disso, o escopo de um Pentest pode extrapolar o simples teste de vulnerabilidades de seu ambiente, testando também usuários e processos contra prováveis ameaças. Assim, identificando as principais deficiências, apresentando as vulnerabilidades , propondo correções ou mitigações.

Benefícios

  • Identificação de riscos e impactos no negócio;
  • Exploração de vulnerabilidades e avaliação dos impactos;
  • Preservação da reputação da empresa e de sua imagem;
  • Identificação de intruso oportunista (usuários mal-intencionados);
  • Detecção da ação de malwares na rede corporativa;
  • Conformidade com normas de segurança, como PCI-DSS, LGDP, GDPR, SOX, etc;
  • Verificar se o nível de segurança da corporação é suficiente contra as ameaças conhecidas;
  • Menor probabilidade de vazamento de informações;
  • Mistura testes automatizados com testes manuais;
  • Aumento da credibilidade da empresa e da confiança dos clientes e fornecedores.

Tipos de Pentest

Podemos categorizar os tipos de teste em 3 tipos: black, gray e white box. Os termos poderiam ser traduzidos para caixa preta, cinza e branca, e fazem referência ao escopo e ao conhecimento prévio que o atacante possui do alvo.

  • Black Box: No caso dos testes chamados black box, seria a referência a uma caixa completamente preta por ser totalmente escura, portanto, o atacante quando for realizar um teste deste tipo não terá nenhuma informação sobre a aplicação, infraestrutura de rede ou ativo sendo testado. Em alguns casos, o profissional tem acesso a um intervalo de IP’s ou a algum endereço de website apenas a fim de restringir os resultados esperados para o ativos em que a empresa julgar necessário serem testados. Em outros casos, o teste é feito de maneira totalmente às cegas e o atacante pode atacar qualquer ativo que esteja vinculado a companhia. Geralmente são testes mais custosos, e requerem uma grande maturidade de segurança.
  • Gray Box: Na “caixa cinza”, temos uma pouco mais de clareza sobre as informações. Nesse cenário, o responsável pelo teste possui um conhecimento limitado sobre o sistema, podendo ter acesso a alguma credencial legítima, diagramas da arquitetura, endpoints e rotas da aplicação, ou algum dado relevante para o teste.
  • White Box: Em uma caixa “branca” isto é, com luminosidade, conseguimos ver totalmente o seu interior. E portanto, nessa categoria de teste o responsável possui conhecimento prévio de todas as informações da infraestrutura de rede e da arquitetura das aplicações, podendo ter informações como Swagger, rotas, credenciais válidas e em alguns casos acesso ao código fonte. Geralmente esse tipo de teste é realizado pela própria equipe interna da empresa.

Metodologia e Etapas

Nos testes de intrusão podem ser utilizadas algumas metodologias como o Penetration Testing Execution Standard (PTES) que divide o teste de penetração em 7 fases:

  1. Interações pré-engajamento
  2. Coleta de informações
  3. Modelagem de Ameaças
  4. Análise de Vulnerabilidade
  5. Exploração
  6. Pós-exploração
  7. Apresentação

Interações pré-engajamento

Nesse estágio são fornecidas informações gerais sobre o escopo e o alvo. Nesse momento são alinhados pontos como estimativa de tempo, escopo e alvos, tipo de teste, informações necessárias, horário de execução do teste, entre outros.

Coleta de informações

Também conhecida como ”Footprinting”, se refere a coleta do máximo de informações relevantes possíveis sobre o alvo, como: domínios, subdomínios, sistemas, e-mails, credenciais, IPs, tecnologias utilizadas, etc.

Modelagem de Ameaças

Nesse estágio o atacante identifica possíveis ativos críticos e ameaças para a empresa dentro do escopo. No geral, essa etapa é importante, pois direciona o profissional quanto aos ativos nos quais devem ser procurados falhas e quais falhas podem ser encontradas em cada cenário.

Análise de Vulnerabilidade

Nesse estágio são utilizadas ferramentas automatizadas, como scanners, e testes manuais para identificar as vulnerabilidades que podem ser exploradas.

Exploração

Com conhecimento sobre as vulnerabilidades existentes, o atacante explora essas falhas obtendo acesso aos sistemas, benefícios não esperados dentro das aplicações ou buscando de outra forma infringir os pilares da segurança (integridade, disponibilidade e confidencialidade).

Pós-Exploração

Em alguns cenários de ataque, a exploração de uma vulnerabilidade pode levar ao comprometimento do host, de um usuário administrador ou de outro ativo fora do escopo inicial. Com esses novos acessos o atacante pode buscar aumentar o impacto da exploração realizando a movimentação lateral ou horizontal na rede ou na aplicação, coletar informações críticas, comprometer outros usuários ou criar persistência em caso de acesso à rede ou ao host.

Apresentação

Após todos os passos anteriores, a equipe deve gerar um relatório reportando as vulnerabilidades encontradas, descrevendo o passo a passo realizado, recomendando as devidas correções ou mitigações. Nessa etapa é primordial cumprir 2 objetivos:

  1. Deixar registrado as técnicas, comandos e ferramentas utilizadas no ataque para que o time responsável pela correção das falhas tenha uma visão mais abrangente das ações e prevenções a serem tomadas.
  2. Manter a confidencialidade de todas as informações obtidas durante e após os testes, pois, além de ser antiético por parte do profissional quebrar este sigilo, também oferece um grande risco para a empresa em que foi realizado os testes terem essas informações vazadas.

--

--