Pentest – Passo a Passo e Métodos

 In AppSec

Há uma grande controvérsia sobre a definição de Penetration Testing (Pentest), avaliação de vulnerabilidades e scan de vulnerabilidades. Como resultado, as três definições são comumente usadas de forma intercambiável, no entanto, o significado e as implicações também diferem.

Nós da Codevant Application Security entendemos que: Uma avaliação de vulnerabilidade simplesmente identifica e reporta vulnerabilidades encontradas, enquanto um Penetration Test (Pentest) simula um teste de invasão e tenta explorar as tais vulnerabilidades para determinar se um acesso não autorizado ou outra atividade maliciosa é possível. Basicamente, o Pentest é uma técnica usada por uma organização onde especialistas em segurança cibernética trabalham com o objetivo de verificar se o site, rede ou as aplicações de uma empresa ou de uma organização pode passar por algum vazamento ou comprometimento que pode levar a um problema de segurança cibernética.

Benefícios obtidos ao fazer um Pentest em suas aplicações

Nas últimas décadas, as tecnologias de rede, bem como as aplicações, têm crescido com um ritmo cada vez maior e bem como é claro a o aumento na adoção da tecnologia pelas respectivas organizações, entretanto, cresce também o número e a complexidade das vulnerabilidades de segurança nessas tecnologias. Nos dias atuais, as organizações estão gastando mais dinheiro e recursos para proteger a rede da organização contra possíveis pregações de segurança, e o Pentest é a espinha dorsal de uma segurança de rede ou aplicação segura.

Apenas para a melhoria da segurança em geral

Um Penetration Test é muito importante em qualquer empresa ou organização, pois ajuda a detectar qualquer vulnerabilidade que possa ser explorada tanto pelos usuários internos quanto pelos hackers externos que tentam comumente burlam os controles de segurança para obter acesso aos ativos protegidos. O resultado de um Pentest indica as ameaças que são colocadas por uma vulnerabilidade específica ou talvez até mesmo um processo defeituoso, bem como um erro na arquitetura de seus recursos tecnológicos.

Os resultados de um relatório de penetration test são usados ​​pelos gerentes, desenvolvedores ou profissionais de TI no geral para desenvolver as correções necessárias em relação a cada risco. Essa técnica ajudará a organização a prever qualquer possível ameaça à segurança e terá as respectivas responsabilidades como o gerente de TI e a equipe de TI trabalhando nela para evitar ataques reais.

Para agregar valor para clientes, investidores e parceiros

O Pentest também é importante em uma organização, pois pode ser usado como uma maneira de proteger a fidelidade e a imagem organizacional entre seus clientes, na medida em que os clientes, fornecedores e até mesmo os investidores podem se sentir confiantes em trabalhar ou comprar com a organização sabendo que esta possui sistemas de informação seguros. Uma única violação de dados pode levar a dados de clientes comprometidos, o que pode levar à destruição da imagem da empresa, podendo resultar em impactos negativos. Além disso, um penetration test salva o tempo de inatividade da rede das organizações.

Requisitos regulatórios e cumprimento de leis

Outra finalidade do pentest é cumprir a lei e evitar multas. Algumas organizações realizam o penetration test apenas porque não querem ser multadas pelos órgãos reguladores. No entanto, é altamente aconselhável olhar além da evasão destas multas a realização do pen test terá adicionado outro benefício à empresa, pois as vulnerabilidades dos sistemas e redes terão sido gerenciadas de maneira inteligente e profissional. Isso permitirá que os técnicos implementem as estratégias de segurança necessárias e cuidem dos riscos.

É imprescindível a capacidade de detectar riscos de segurança e reagir suficientemente e no prazo. Ao identificar uma interrupção, deve-se começar uma investigação, encontrar os ofensores e enquadrá-los.

Pentests são necessários com qual frequência?

Com o surgimento de mais ataques de segurança cibernética e mais hackers aderindo ao jogo, é mais aconselhável realizar um pentest com maior frequência de modo que acompanhe a evolução tecnológica das tecnologias.

No entanto, as empresas e organizações esperam muito tempo até que os órgãos reguladores ou o prazos da lei se aproximam. Já em algumas empresas um teste é realizado quando a empresa já foi violada. Não há uma frequência definida de quantas vezes um penetration test precisa ser feito, no entanto, existem fatores a serem considerados quando é melhor encomendar um pentest. Alguns desses fatores são:

  • quando uma empresa realiza mudanças substanciais na infraestrutura de rede da empresa;quando os desenvolvedores frequentemente alteram as aplicações da empresa;quando há software de código aberto usado;quando a empresa é listada pela imprensa talvez por algum motivo errado, por exemplo, violação de direitos humanos e políticos;quando há requisitos da lei / regulamentos;quando há probabilidade de um ataque acontecer.

Conheça as fases de um Pentest

Sabemos que em um ataque real, dificilmente um ofensor atuará baseado em metodologias, entretanto para que nenhum aspecto da segurança de uma aplicação seja negligenciado durante um pentest, é necessário adotar uma metodologia que seja abrangente para aquele cenário.

Deste modo, abordaremos o Pentest Standard (PTES) neste artigo. Entre as fases de um penetration test, temos:

Penetration Testing Execution Standard

Penetration Testing Execution Standard

 

Fase 1. Interações Iniciais.

Esta fase é comumente negligenciada por pentesters e por empresas que contratam estes serviços. É aqui que a empresa responsável pelo pentest detalhará todos os processos abordados durante o teste, alinhamento do escopo, alinhamento das expectativas, avaliação de riscos que as aplicações estarão submetidas durante o teste, além de detalhes de implicações legais que envolve o processo de teste de invasão.

Fase 2 . Coleta de Informações.

Esta é a fase também conhecida como estágio de pré-ataque. Nesse estágio, o uso de ferramentas como ferramentas de ping, scanners de porta e scanners de vulnerabilidades é usado. Equipes de segurança experientes normalmente agem de modo compreensivo e personalizam ou desenvolvem as próprias ferramentas de acordo com o cenário identificado na fase anterior.

Também cabe ao pentester julgar a necessidade do uso de Open Source Intelligence (OSINT) para reunir informações e inteligência que possam ajudar durante o teste. Dentre as informações que podem ser coletadas, mas não limitando-se à elas, estão:

  • Usernames
  • Emails
  • Domínios e pesquisas relacionadas, como whois, dns reverso, subdomínios
  • Endereços IP
  • Senhas
  • Mapeamento de Redes e aplicações em execução

Em relação as ferramentas utilizadas para obtenção destas informações, podemos citar:

  • Redes Sociais
  • Ferramentas de Busca
  • Github
  • Pastebin
  • Engenharia Social

Para mais informações sobre, consulte: OSINT Framework

Fase 3. Modelagem de Ameaças.

Modelagem de Ameaças é um processo usado para otimizar a segurança de aplicações e redes através da identificação de vulnerabilidades, e em seguida, usada para definir medidas para evitar ou mitigar os efeitos das ameaças em uma aplicação ou rede. Este processo é usado para identificar onde o maior esforço deve ser aplicado com o objetivo de manter um sistema seguro. Este é um fator que muda conforme mais aplicações são adicionadas, alteradas, removidas ou atualizadas, bem como quando os requisitos da aplicação são modificados.

Fase 4. Análise de Vulnerabilidades.

A análise de vulnerabilidade é o processo usado para identificar e avaliar os riscos de segurança apresentados pelas vulnerabilidades identificadas. O processo de análise de vulnerabilidade é dividido em duas etapas: identificação e validação.

  • Identificação: Descobrir a vulnerabilidade é a principal tarefa nesta etapa. Neste processo é comum o uso de ferramentas de mercado ou próprias, entretanto apenas seu uso não é suficiente para confirmar se tal vulnerabilidade é válida. Por este motivo o próximo passo é a validação. Entre as vulnerabilidades mais comuns, podemos citar: SQL Injections, Cross-Site Scripting (XSS), Sensitive Data Exposure, Broken Authetication. Para mais informações, consulte: OWASP 2017 – TOP 10
  • Validação: nesta etapa, reduzimos o número de vulnerabilidades identificadas apenas àquelas que são realmente válidas, através de testes manuais.

Fase 5. Exploração.

Depois de encontrar e validar as vulnerabilidades, nós atuamos na exploração delas com o objetivo de invadir seus sistemas e sua segurança. Para isto, utilizamos diferentes frameworks e softwares, alguns desenvolvidos internamente. Dentre os softwares de mercado, podemos citar:

  • Metasploit Framework
  • SQL Map
  • Canvas
  • Social Engineering Toolkit
  • Netsparker

Fase 6. Pós-exploração.

Nesta fase, determinamos o quão valiosos são os recursos comprometidos e atuamos para manter o controle deles para uso posterior. Este valor é determinado pela sensibilidade dos dados encontrados, bem como a conectividade e utilidade destes recursos para comprometimento de demais recursos de rede. Também são documentados os métodos usados para a invasão.

Fase 7. Relatório

Nesta fase, relatamos as descobertas de uma forma compreensível e aceitável pela organização proprietária desse sistema ou hardware, o que inclui as falhas que permitem que um invasor viole uma política de segurança explícita (ou implícita) para obter algum impacto (ou consequência). Em particular, falhas que permitem que invasores obtenham níveis de acesso maiores ou interfiram na operação normal dos sistemas são vulnerabilidades.

Há diferentes tipos de relatório dependendo de quem irá consumir as informações descritas.

Relatório Executivo

  • Impactos no Negócio
  • Roadmap
  • Mapeamento da maturidade de segurança
  • Análise de riscos

Relatório Técnico

  • Identificação de questões sistêmicas e análise de causa raiz
  • Descobertas técnicas
  • Detalhes
  • Screenshots
  • Informações sensíveis encontradas
  • Capturas de Request/Response
  • Exemplos e Provas de Conceito
  • Resultados reproduzíveis
  • Casos de teste, etc.

Por fim, um relatório detalhado contendo as recomendações para solução de todos as falhas encontradas.

Tipos de Pentests e Suas Diferenças

Existem diferentes tipos de testes de penetração que podem ser usados. Eles são: –

Teste de caixa preta (Blackbox)

Nesse tipo de teste, nenhuma informação privilegiada é fornecida ao testador. Basicamente, neste tipo, nenhuma informação é dada ao testador e este é o teste mais próximo de um ataque real, mas que traz menor índice de falhas encontradas pois a superfície de ataque é menor.

Teste de caixa branca (Whitebox)

Neste tipo de teste que também é conhecido como clear box, o testador tem acesso e conhecimento total dos sistemas, como sua arquitetura, código fonte, acesso a banco de dados, etc.

Teste de caixa cinza (Greybox)

Esta é uma combinação de preto e branco, assim como o nome sugere. Neste, o testador tem acesso à uma credencial com perfil não administrativo nas aplicações ou rede da empresa, simulando o acesso de um usuário comum.

Pentest Interno x Externo

O pentest interno é uma técnica que verifica até onde um ataque de dentro da organização pode alcançar e até que ponto o dano pode ser percebido como uma medida de segurança. Enquanto o pen test externo é a medida das possíveis ameaças que poderiam vir de hackers externos e qual método eles poderiam usar para obter acesso aos sistemas.

Em quais tecnologias um Pentest pode ser realizado?

Um pentest efetivo é feito em todos os tipos de aplicações e dispositivos, pois, como todos sabemos, uma rede abrange os dispositivos interconectados, bem como as aplicações e sistemas usados ​​pelos funcionários de uma empresa.

Entretanto, algumas tecnologias são mais suscetíveis ataques, portanto devem ser priorizadas para a execução de um penetration test:

  • Aplicações Web (Web Application);
  • Aplicações rodando em Nuvem (Cloud);
  • Aplicações com qualquer comunicação em rede;
  • Redes de quaisquer tipos e topologias;
  • Dispositivos IoT (Internet of Things)
Recent Posts

Leave a Comment

Fale Conosco

Envie-nos uma mensagem que retornaremos mais rápido que você espera.

Not readable? Change text. captcha txt
SQL Injection