Conheça as principais metodologias usadas na área de Pentest


Image result for metodologias


1- PTES (Penetration Testing Execution Standard) 

O padrão de execução do teste de penetração consiste em sete (7) seções principais. Estes cobrem tudo relacionado a um teste de penetração - a partir da comunicação inicial e do raciocínio atrás de um pentest, através das fases de coleta de inteligência e modelagem de ameaças em que os testadores estão trabalhando nos bastidores para obter uma melhor compreensão da organização testada, através da pesquisa de vulnerabilidade, exploração e pós-exploração, onde os conhecimentos técnicos de segurança dos testadores vêm a desempenhar e se combinam com a compreensão empresarial do engajamento e, finalmente, para o relatório, que captura todo o processo, de forma que faz sentido para o cliente e fornece o mais valor para ele.


2- NIST (National Institute of Standards and Technology SP-800-115) 

O NIST é uma agência governamental, pertencentente ao Departamento de Comércio dos Estados Unidos; sua função, é promover padrões e tecnologia para ampliar a segurança da informação.

O guia NIST 800-30 tem o seguinte propósito:
Fornecer uma base para o desenvolvimento do programa de gestão de riscos
Fornecer informações sobre o custo efetivo dos controles de segurança

Algumas definições

Ameaça – causa potencial de um incidente indesejado, que caso se concretize pode resultar em dano.
Fonte de ameaça – Intenção e método orientado para exploração de uma vulnerabilidade; situação e método que podem acionar uma vulnerabilidade.
Risco – combinação da probabilidade da concretização de uma ameaça e suas conseqüências.
Gestão de riscos – processo de identificar, avaliar e reduzir o risco
Vulnerabilidade – fragilidade ou limitação de um ativo que resulte em uma violação de segurança ou da política de segurança do sistema.

Metas do processo do gerenciamento de riscos

Proteger a capacidade da organização para realizar a sua missão (e não apenas seus ativos de TI).
Ser uma função essencial de gestão (e não apenas uma função técnica de TI).

O gerenciamento de riscos engloba 3 processos:

Avaliação do Risco
Redução do Risco
Evolução e acompanhamento



3- 
OSSTM (Open Source Security Testing)
É um manual revisado por pares de testes e análises de segurança que resultam em fatos verificados. Esses fatos fornecem informações acionáveis que podem melhorar de forma mensurável sua segurança operacional. Ao usar o OSSTMM, você não precisa mais confiar nas melhores práticas gerais, evidências anedóticas ou superstições porque você terá informações verificadas específicas para suas necessidades sobre as quais basear suas decisões de segurança. Uma maneira de garantir uma análise de segurança tem valor é saber que foi feito de forma completa, eficiente e precisa. Para isso, você precisa usar uma metodologia formal. O OSSTMM pretende ser isso. 


O OSSTMM é sobre segurança operacional. Trata-se de saber e medir a segurança da segurança. Esta metodologia irá dizer-lhe se o que você tem faz o que deseja e não apenas o que lhe foi dito.

O que você obtém utilizando OSSTMM é uma compreensão profunda da interconectividade das coisas. As pessoas, processos, sistemas e software têm algum tipo de relacionamento. Essa interligação requer interações. Algumas interações são passivas e outras não. Algumas interações são simbióticas enquanto outras são parasitárias. Algumas interações são controladas por um lado da relação, enquanto outras são controladas por ambos. Podemos tentar controlar o que não podemos confiar, mas mesmo assim alguns controles são defeituosos ou supérfluos, o que prejudica pelo menos um lado do relacionamento, se não os dois. O que queremos é que nossos controles se equilibrem perfeitamente com as interações que queremos ou precisamos. Então, quando testamos as operações, temos a visão geral de todos os nossos relacionamentos, indo e vindo.



4- 
OWASP (Web Application Penetration Testing) 
Basicamente é uma metodologia padrão por Profissionais de Segurança, consiste em 12 categorias que são:

1-Introduction and Objectives = Esta seção descreve a metodologia de teste de segurança da aplicação web OWASP e explica como testar evidências de vulnerabilidades dentro do aplicativo devido a deficiências com controles de segurança identificados.


3-Configuration and Deployment Management Testing = Compreender a configuração implantada do servidor que hospeda o aplicativo da Web é quase tão importante quanto o teste de segurança do aplicativo. Afinal, uma cadeia de aplicativos é tão forte quanto o link mais fraco. As plataformas de aplicativos são amplas e variadas, mas alguns erros de configuração da plataforma podem comprometer o aplicativo da mesma maneira que um aplicativo não seguro pode comprometer o servidor.


5-Authentication Testing = É o ato de estabelecer ou confirmar algo (ou alguém) como autêntico, ou seja, que as afirmações feitas por ou sobre o assunto são verdadeiras. Autenticar um objeto pode significar confirmar sua proveniência, enquanto a autenticação de uma pessoa geralmente consiste em verificar sua identidade. A autenticação depende de um ou mais fatores de autenticação.

6-Authorization Testing = A autorização é o conceito de permitir o acesso aos recursos apenas para aqueles que são autorizados a usá-los. Testar a Autorização significa entender como funciona o processo de autorização e usar essas informações para contornar o mecanismo de autorização.Autorização é um processo que vem após uma autenticação bem-sucedida, de modo que o testador verificará esse ponto depois de possuir credenciais válidas, associado a um conjunto bem definido de funções e privilégios. Durante este tipo de avaliação, deve ser verificado se é possível ignorar o esquema de autorização, encontrar uma vulnerabilidade de passagem de caminho ou encontrar formas de escalar os privilégios atribuídos ao testador.

7-Session Management Testing = Um dos principais componentes de qualquer aplicativo baseado na web é o mecanismo pelo qual ele controla e mantém o estado para um usuário interagindo com ele. Isso é referido como Gerenciamento de Sessão e é definido como o conjunto de todos os controles que regem a interação total do estado entre um usuário e o aplicativo baseado na Web. Isso cobre amplamente qualquer coisa de como a autenticação do usuário é realizada, para o que acontece com eles se desconectando.

8-Input Validation Testing = A fraqueza de segurança da aplicação web mais comum é a falha na validação adequada de entrada proveniente do cliente ou do ambiente antes de usá-lo. Esta fraqueza leva a quase todas as principais vulnerabilidades em aplicações web, como scripts entre sites, injeção de SQL, injeção de interpretação, ataques de local / Unicode, ataques de sistema de arquivos e desbordamentos de buffer.

9-Error Handling = Um aspecto importante do desenvolvimento de aplicativos seguros é evitar vazamento de informações. As mensagens de erro dão a um invasor um excelente conhecimento sobre o funcionamento interno de uma aplicação.A finalidade de rever o código de tratamento de erros é garantir que o aplicativo falhe com segurança em todas as possíveis condições de erro, esperadas e inesperadas. Nenhuma informação confidencial é apresentada ao usuário quando ocorre um erro.Por exemplo, a injeção de SQL é muito mais difícil de executar com sucesso sem algumas mensagens de erro saudáveis. Isso diminui a pegada de ataque e nosso atacante teria que recorrer ao uso de "injeção de SQL cega", o que é mais difícil e demorado.

10-Cryptography

11-Business Logic Testing = Testar falhas de lógica de negócios em uma aplicação web dinâmica multifuncional requer pensar em métodos não convencionais. Se o mecanismo de autenticação de um aplicativo for desenvolvido com a intenção de executar as etapas 1, 2, 3 nessa ordem específica para autenticar um usuário. O que acontece se o usuário passar do passo 1 direto para o passo 3? Neste exemplo simplista, o aplicativo fornece acesso por falhar aberto; negar o acesso, ou apenas o erro com uma mensagem de 500?Há muitos exemplos que podem ser feitos, mas a única lição constante é "pensar fora da sabedoria convencional". Este tipo de vulnerabilidade não pode ser detectado por um scanner de vulnerabilidades e depende das habilidades e criatividade do testador de penetração. Além disso, esse tipo de vulnerabilidade geralmente é um dos mais difíceis de detectar e geralmente é específico da aplicação, mas, ao mesmo tempo, geralmente é um dos mais prejudiciais para o aplicativo, se for explorado.

12-Client Side Testing = O teste do lado do cliente está preocupado com a execução do código no cliente, normalmente nativamente dentro de um navegador da Web ou plugin do navegador. A execução do código no lado do cliente é diferente de executar no servidor e retornar o conteúdo subseqüente.

Comentários