Tutorial de teste de penetração: O que é PenTest?

Índice:

Anonim

Teste de Penetração

O teste de penetração ou teste de caneta é um tipo de teste de segurança usado para descobrir vulnerabilidades, ameaças e riscos que um invasor pode explorar em aplicativos de software, redes ou aplicativos da web. O objetivo do teste de penetração é identificar e testar todas as vulnerabilidades de segurança possíveis que estão presentes no aplicativo de software. O teste de penetração também é chamado de Pen Test.

Vulnerabilidade é o risco de um invasor interromper ou obter acesso autorizado ao sistema ou a quaisquer dados nele contidos. Vulnerabilidades são geralmente introduzidas por acidente durante o desenvolvimento de software e a fase de implementação. As vulnerabilidades comuns incluem erros de design, erros de configuração, bugs de software, etc. A análise de penetração depende de dois mecanismos, nomeadamente avaliação de vulnerabilidade e teste de penetração (VAPT).

Por que teste de penetração?

A penetração é essencial em uma empresa porque -

  • Setores financeiros como bancos, bancos de investimento e bolsas de valores desejam que seus dados sejam protegidos, e o teste de penetração é essencial para garantir a segurança
  • No caso de o sistema de software já ter sido hackeado e a organização desejar determinar se alguma ameaça ainda está presente no sistema para evitar hacks futuros.
  • O teste de penetração proativo é a melhor proteção contra hackers

Tipos de teste de penetração:

O tipo de teste de penetração selecionado geralmente depende do escopo e se a organização deseja simular um ataque por um funcionário, administrador de rede (fontes internas) ou por fontes externas. Existem três tipos de teste de penetração e são

  • Teste de caixa preta
  • Teste de penetração da caixa branca
  • Teste de penetração da caixa cinza

No teste de penetração da caixa preta, o testador não tem conhecimento sobre os sistemas a serem testados. Ele é responsável por coletar informações sobre a rede ou sistema de destino.

Em um teste de penetração de caixa branca, o testador geralmente recebe informações completas sobre a rede ou sistemas a serem testados, incluindo o esquema de endereço IP, código-fonte, detalhes do sistema operacional, etc. Isso pode ser considerado como uma simulação de um ataque por qualquer Fontes internas (Funcionários de uma Organização).

Em um teste de penetração de caixa cinza, um testador é fornecido com conhecimento parcial do sistema. Pode ser considerado um ataque de um hacker externo que obteve acesso ilegítimo aos documentos de infraestrutura de rede de uma organização.

Como fazer o teste de penetração

A seguir estão as atividades que precisam ser realizadas para executar o teste de penetração -

Etapa 1) Fase de planejamento

  1. O escopo e a estratégia da tarefa são determinados
  2. Políticas de segurança existentes, padrões são usados ​​para definir o escopo

Etapa 2) Fase de descoberta

  1. Colete o máximo de informações possível sobre o sistema, incluindo dados no sistema, nomes de usuário e até mesmo senhas. Isso também é chamado de IMPRESSÃO DIGITAL
  2. Faça a varredura e sondar nas portas
  3. Verifique se há vulnerabilidades do sistema

Etapa 3) Fase de Ataque

  1. Encontre exploits para várias vulnerabilidades Você precisa dos privilégios de segurança necessários para explorar o sistema

Etapa 4) Fase de relatório

  1. Um relatório deve conter descobertas detalhadas
  2. Riscos de vulnerabilidades encontradas e seu impacto nos negócios
  3. Recomendações e soluções, se houver

A principal tarefa no teste de penetração é coletar informações do sistema. Existem duas maneiras de coletar informações -

  • Modelo 'um para um' ou 'um para muitos' com relação ao host: Um testador executa técnicas de forma linear em um host de destino ou em um agrupamento lógico de hosts de destino (por exemplo, uma sub-rede).
  • Modelo 'muitos para um' ou 'muitos para muitos': O testador utiliza vários hosts para executar técnicas de coleta de informações de forma aleatória, com taxa limitada e não linear.

Exemplos de ferramentas de teste de penetração

Existe uma grande variedade de ferramentas que são usadas em testes de penetração e as ferramentas importantes são:

  1. NMap- Esta ferramenta é usada para fazer varredura de portas, identificação do sistema operacional, rastrear a rota e varredura de vulnerabilidades.
  2. Nessus- Esta é uma ferramenta tradicional de vulnerabilidades baseada em rede.
  3. Pass-The-Hash - Esta ferramenta é usada principalmente para quebrar senhas.

Papel e responsabilidades dos testadores de penetração:

O trabalho dos testadores de penetração é:

  • Os testadores devem coletar as informações necessárias da Organização para permitir os testes de penetração
  • Encontre falhas que podem permitir que hackers ataquem uma máquina-alvo
  • Os Pen Testers devem pensar e agir como hackers reais, embora com ética.
  • O trabalho realizado pelos testadores de penetração deve ser reproduzível para que seja fácil para os desenvolvedores corrigi-lo
  • A data de início e a data de término da execução do teste devem ser definidas com antecedência.
  • Um testador deve ser responsável por qualquer perda no sistema ou informações durante o teste de software
  • Um testador deve manter os dados e informações confidenciais

Penetração manual vs. teste de penetração automatizado:

Teste de penetração manual Teste de penetração automatizado
O teste manual requer profissionais especializados para executar os testes Ferramentas de teste automatizadas fornecem relatórios claros com profissionais menos experientes
O teste manual requer Excel e outras ferramentas para rastreá-lo O teste de automação tem ferramentas centralizadas e padrão
No teste manual, os resultados da amostra variam de teste para teste No caso de testes automatizados, os resultados não variam de teste para teste
A limpeza da memória deve ser lembrada pelos usuários O teste automatizado terá limpezas abrangentes.

Desvantagens do teste de penetração

O teste de penetração não consegue encontrar todas as vulnerabilidades do sistema. Existem limitações de tempo, orçamento, escopo, habilidades dos testadores de penetração

A seguir estão os efeitos colaterais quando estamos fazendo o teste de penetração:

  • Perda de dados e corrupção
  • Tempo de inatividade
  • Aumente os custos

Conclusão:

Os testadores devem agir como um verdadeiro hacker e testar o aplicativo ou sistema e precisam verificar se um código foi escrito com segurança. Um teste de penetração será eficaz se houver uma política de segurança bem implementada. A política e metodologia de teste de penetração deve ser um lugar para tornar o teste de penetração mais eficaz. Este é um guia completo para iniciantes em testes de penetração.

Confira nosso projeto de teste de penetração ao vivo