Como Executar um Pentest: Métodos e Regras de Engajamento

14 de fevereiro de 2023
Adriano Martins Antonio

TiO pentest, também chamado de teste de invasão ou teste de penetração, é a simulação de um ataque de um invasor mal intencionado — sondando redes e sistemas em busca de vulnerabilidades (geralmente qualquer entrada).  Hoje vamos aprender como executar um pentest, suas regras de engajamento, principais métodos e características.

Como Executar um Pentest

Normalmente, é o próprio dono ou desenvolvedor do sistema, da rede, da organização, que contrata um pentester (hacker especializado nesse tipo de ação) para checar as próprias fraquezas a fim de corrigi-las, antes que sejam descobertas e exploradas por um criminoso (sim, invadir qualquer ambiente sem autorização é crime!).

Os pentests, geralmente, são a forma mais agressiva de teste de segurança e podem assumir várias formas, dependendo do que é considerado “dentro” ou “fora” do escopo. Por exemplo, alguns pentests simplesmente procuram encontrar uma maneira de entrar na rede — de qualquer maneira. Isso pode variar de um ataque em links de rede a engenharia social, até um testador invadindo fisicamente o prédio.

Já outros pentests são limitados – apenas ataques em links de rede são permitidos, sem ataques físicos.

Independentemente do escopo e dos métodos permitidos, o objetivo de um pentest é sempre o mesmo: determinar se um invasor pode ignorar sua segurança e acessar seus sistemas. Ao contrário de uma avaliação de vulnerabilidade, que normalmente apenas cataloga vulnerabilidades, um pentest tenta explorar vulnerabilidades para ver quanto acesso elas permitem. 

Abordagem Técnica do Pentest

Um teste de invasão eficaz oferece vários elementos críticos. 

Primeiramente, ele se concentra nos vetores de ameaças mais comumente empregados vistos no ambiente de ameaças atual. Usar ameaças de dia zero que ninguém mais tem não ajuda uma empresa a  entender suas defesas de segurança contra o ambiente de ameaças existente. É importante imitar os invasores do mundo real se é contra isso que a empresa deseja testar suas defesas. Em segundo lugar, um teste de penetração eficaz se concentra nos objetivos do invasor do mundo real, como obter e roubar propriedade intelectual (IP). Apenas contornar as defesas, mas não obter os objetivos do invasor, novamente, não fornece um exercício completo dos recursos de segurança.

Inúmeras metodologias de teste de penetração são empregadas por testadores para gerenciar o processo de um pentest. O mais reconhecido é o método Open Source Security Testing Methodology Manual (OSSTMM). Para aplicativos da Web, o Open Web Application Security Project (OWASP) é o padrão mais reconhecido no setor. O Instituto Nacional de Padrões e Tecnologia (NIST) lançou o SP 800-115, “Guia Técnico para Testes e Avaliação de Segurança da Informação”, que inclui o diagrama de processo básico. A estrutura de Metodologias e Padrões de Teste de Penetração (PTES) e a Estrutura de Avaliação de Segurança do Sistema de Informação (ISSAF) são duas estruturas populares adicionais. 

Todos esses frameworks definem um processo, sendo o modelo NIST o mais simples. A importância do modelo de processo é ter um plano que todos os membros da equipe possam usar para entender onde estão no processo e as relações entre as principais tarefas.

Conheça os diversos tipos de Pentest aqui.

Regras de engajamento de um pentest

As regras de engajamento associadas a um teste de penetração são críticas por vários motivos. 

Em primeiro lugar, as atividades associadas a um teste de penetração são ilegais  se não autorizadas, e as regras de contratação especificam a autoridade legal que os testadores de penetração têm no desempenho de suas funções. 

As regras de engajamento também estabelecem os limites associados ao teste para que ele esteja de fato exercendo as funções desejadas pelo cliente.

Se um testador de penetração executa atividades fora das regras de engajamento, elas podem não ter valor para a empresa e, portanto, são um desperdício de esforço e, em muitos casos, podem causar problemas. 

Nos casos em que a função de resposta a incidentes da empresa faz parte do teste ou é informada para ignorar atividades específicas, é essencial ter essas informações coordenadas por meio de regras de engajamento e gerenciamento adequado no local. Ter uma equipe de resposta a incidentes (IR) ativada e gastar energia quando não faz parte do teste é um desperdício para um grupo maior do que apenas a equipe de penetração.

As regras típicas de engajamento incluirão um limite do que está no escopo e o que não está. Se os endereços IP da máquina estiverem sendo fornecidos à equipe de teste de penetração, uma lista de endereços dentro e fora dos limites deve ser fornecida. Se as máquinas no escopo devem ser descobertas, é necessária uma notação clara do que não está dentro dos limites.

A seguir, veremos alguns dos mais importantes elementos do pentest,

Período de execução

A execução de um teste durante um período comercial movimentado pode não ser recomendada devido a problemas de largura de banda e carga de processamento. 

O escopo das atividades a serem executadas obviamente não deve ser destrutivo, mas o que constitui prova de comprometimento precisa ser determinado. 

Quaisquer alterações no ambiente devem ser anotadas e removidas ou claramente fornecidas à equipe azul.

Como os testadores de penetração devem interagir com outros funcionários quando descobertos também deve ser incluído, assim como uma lista completa de contatos de quem ligar quando algo acontecer que exija atenção imediata da empresa.

Movimento lateral

O movimento lateral, às vezes chamado de movimento lateral da rede, refere-se ao processo usado pelos invasores para se aprofundar em uma rede para obter os dados de destino. Na maioria dos casos, a entrada inicial em um sistema é por meio de uma conta de usuário que não tem acesso ao material desejado, nem a conta possui os níveis apropriados de permissões.

Por meio de uma série de atividades específicas, um invasor pode elevar seu nível de privilégio, e também migrar para outras máquinas mais profundas na rede.

Esse processo de movimentação em uma rede é conhecido como movimento lateral e é um evento comum para invasores avançados. Também representa um dos pontos em que os defensores podem pegar um atacante, pois na maioria dos casos esses movimentos laterais não são atividades normais para a conta do usuário que está sendo usada.

Escalonamento de privilégios

O escalonamento de privilégios é o processo de obtenção de privilégios maiores para uma conta. Isso pode ser feito de várias maneiras – às vezes legítimo, às vezes por meio de um bug ou vulnerabilidade. 

Obter acesso root ou de administrador é sempre um objetivo para um invasor, porque isso lhes dá poderes adicionais em um sistema que facilita seu trabalho e abre caminhos que de outra forma estariam fechados para eles. 

Os caminhos para o escalonamento de privilégios para um testador de penetração incluem coisas como usar uma conta de administrador local, roubar credenciais para uma conta que tenha direitos administrativos e explorar uma vulnerabilidade que resulta em escalonamento de privilégios.

Alguns desses caminhos são fáceis de bloquear—bloquear contas de administrador local e limitar significativamente o número de usuários com capacidade administrativa nativa são importantes. Além disso, o monitoramento de alguns eventos administrativos, como criação de contas e escalonamento de contas, pode permitir que os defensores vejam quando um invasor usa um privilégio elevado para ações específicas.

Tipos de Escalonamento

Existem dois tipos de escalonamento de privilégios: horizontal e vertical.

Na escalação horizontal de privilégios, o invasor expande seus privilégios assumindo outra conta e fazendo uso indevido dos privilégios legítimos concedidos ao outro usuário. Isso é feito frequentemente com movimento lateral. É também por isso que restringir contas com acesso administrativo é vital, pois reduz as metas de escalação horizontal de privilégios.

Na escalação vertical de privilégios, o atacante tenta ganhar mais permissões ou acesso com uma conta existente que eles já comprometeram.

Um invasor usando uma conta de nível de usuário regular em uma rede pode tentar obter permissões administrativas. Isso é feito por meio da exploração de vulnerabilidades em processos ou serviços executados com privilégio.

É por isso que restringir o número de processos ou serviços com permissão administrativa é importante, pois reduz essa área de superfície de ataque. A escalação vertical de privilégios requer mais sofisticação e é a principal técnica empregada por ameaças persistentes avançadas (APTs).

Persistência

Persistência é a capacidade de existir além de uma reinicialização da máquina ou após a desconexão. O termo ameaça persistente avançada (APT) refere-se a uma metodologia que se concentra principalmente em manter a persistência. Isso significa que o invasor pode e voltará à rede e, com o uso de bons mecanismos de persistência e contas diferentes, não será óbvio quando ele entrar novamente.

A persistência pode ser alcançada por meio de uma variedade de mecanismos, como criar contas falsas, instalar backdoors, usar bots que chamam pela rede para permitir ao invasor um meio de retornar à rede e manipular itens do sistema operacional, como bibliotecas de links dinâmicos (DLLs) ou permissões.

Enfim, movimento lateral, escalação de privilégios e persistência são ferramentas comuns na caixa de ferramentas de invasores e testadores de penetração.

Atacar um sistema pode deixar muitas evidências por aí. Testar vulnerabilidades e testar sistemas de controle de acesso cria uma pilha de eventos com falha associados ao pentest e ao ataque a um sistema.

O ChatGPT e a revolução das IAs

No fim do ano passado, uma das mais recentes tecnologias de Inteligência Artificial (IA) foi lançada para uso totalmente gratuito – o ChatGPT.  A ferramenta

Leia Mais »

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assine Minha Newsletter

Fique por dentro das novidades e receba conteúdos exclusivos em seu e-mail.