O que é um Pentest?

Software é garantido para ter bugs. Pode haver muitos milhares de linhas de código no software, e a falibilidade humana significa que pelo menos algumas delas não serão completas como pretendido. O ciclo de vida de desenvolvimento de software é um processo projetado para tentar minimizar esses problemas por meio de testes regulares.

O problema é que o teste geralmente é feito por desenvolvedores, que podem ter aprendido como codificar algo, mas podem não ter aprendido práticas seguras de codificação. Mesmo em sistemas completamente testados, ter um observador externo olhando e trazendo uma nova perspectiva pode ajudar a identificar novos problemas.

Uma maneira comum de fazer isso é por meio de um teste de penetração, normalmente abreviado para pentest. Isso envolve contratar um hacker profissional e ético, um pentester, para examinar o sistema e encontrar quaisquer problemas de segurança.

Dica: é “pentest” e “pentester”, não “pen test”. Um pentester não testa canetas. “Pen-test” é um pouco mais aceitável do que “pen-test”, mas geralmente também deve ser evitado.

O Objetivo de um Pentest

O objetivo de qualquer pentest é identificar todas as vulnerabilidades de segurança no sistema que está sendo testado e comunicá-las ao cliente. Normalmente, no entanto, os compromissos são limitados no tempo com base no custo. Se uma empresa tiver um pentester interno ou equipe de pentest, eles podem trabalhar permanentemente para a empresa. Ainda assim, muitas empresas com escala para isso possuem um amplo portfólio de sistemas que devem ser testados. Isso inclui os produtos vendidos e os sistemas de negócios da empresa.

Como tal, eles não podem gastar todo o seu tempo testando uma coisa. Muitas empresas preferem contratar uma empresa externa de pentesting para realizar o trabalho. Isso ainda é limitado no tempo com base no custo. O custo é impulsionado pelo fato de que um pentest é um processo muito manual e que o conjunto de habilidades é escasso.

Normalmente, um pentest terá como escopo um período de tempo específico. Isso é feito com base no alvo em questão e quanto tempo deve levar para estar razoavelmente confiante de ter encontrado tudo. A linha do tempo para encontrar vulnerabilidades geralmente é uma curva de sino. Não é encontrado muito instantaneamente enquanto o pentester examina o aplicativo. Então, a grande maioria das descobertas pode ser alcançada dentro de uma escala de tempo específica antes de diminuir. Em algum momento, o custo de gastar mais tempo procurando não vale a chance de não haver mais nada para encontrar.

Às vezes, até mesmo o preço cotado para o tempo recomendado é demais. Nesse caso, o teste pode ser “time box”. É aqui que o cliente aceita que não está testando tanto quanto o recomendado, mas deseja que os pentesters façam o melhor possível em um período de tempo reduzido. Normalmente, isso é incluído como uma ressalva no relatório.

Processo manual

Algumas ferramentas estão disponíveis para realizar testes de segurança automaticamente. Estes podem ser úteis. No entanto, eles geralmente têm altas taxas de falsos positivos e falsos negativos. Isso significa que você deve gastar tempo investigando os problemas de verificação, sabendo que pode não ser abrangente. A maioria dessas ferramentas procura indicadores específicos, como versões de software vulneráveis ​​conhecidas ou funções vulneráveis ​​conhecidas. No entanto, existem muitas maneiras de não serem problemas reais ou mitigados na prática.

As vulnerabilidades de segurança podem surgir de um monte de peças aparentemente inócuas. A melhor maneira de detectar isso é por meio do esforço humano manual. Os pentesters usam ferramentas, mas sabem como interpretar os resultados, verificá-los manualmente e executar ações manuais independentes. Este esforço manual separa um pentest de uma verificação de vulnerabilidade ou avaliação de vulnerabilidade.

Tipos de Pentest

Normalmente, um pentest envolve testar um produto inteiro conforme ele seria implantado. Idealmente, isso acontece em um ambiente de produção real. No entanto, isso nem sempre é prático. Primeiro, há o medo de que o pentest possa deixar o alvo offline. Em geral, esse medo é essencialmente infundado. Pentests geralmente não geram muito tráfego de rede, talvez o equivalente a alguns usuários ativos extras. Os pentesters também não testarão deliberadamente problemas do tipo negação de serviço, especialmente em ambientes de produção. Em vez disso, normalmente eles relatam problemas suspeitos de negação de serviço para permitir que o cliente investigue por conta própria.

Além disso, vale a pena notar que, se o sistema estiver conectado à Internet, ele estará constantemente sujeito a “pentests gratuitos” de verdadeiros hackers black hat e seus bots. Outro motivo para evitar ambientes de produção são os problemas de privacidade com dados do usuário ao vivo. Pentesters são hackers éticos sob NDAs e contratos, mas se um ambiente de teste existir e for semelhante, ele pode ser usado.

Dica: Um “pentest gratuito” é uma forma jocosa de se referir a estar sob ataque de black hats na Internet.

Pentests podem ser realizados contra basicamente qualquer sistema de tecnologia. Sites e infraestrutura de rede são os tipos de testes mais comuns. Você também obtém testes de API, testes de “thick client”, testes móveis, testes de hardware e muito mais.

Variações sobre o tema

Realisticamente, os exercícios de phishing, OSINT e red team estão relacionados, mas são ligeiramente diferentes. Você provavelmente está ciente da ameaça de phishing. Alguns testes envolvem testes para ver como os funcionários respondem a e-mails de phishing. Ao rastrear como os usuários interagem – ou não – com o phishing, é possível aprender como adaptar o treinamento futuro de phishing.

OSINT significa Open Source INtelligence. Um teste OSINT gira em torno da coleta de informações publicamente disponíveis para ver como os dados valiosos podem ser coletados e como eles podem ser usados. Isso geralmente envolve a geração de listas de funcionários de lugares como o LinkedIn e o site da empresa. Isso pode permitir que um invasor identifique figuras importantes que podem ser bons alvos para um ataque de spear phishing, phishing especificamente adaptado ao destinatário individual.

Um envolvimento da equipe vermelha é normalmente muito mais aprofundado e pode envolver alguns ou todos os outros componentes. Também pode incluir testes de segurança física e adesão à política de segurança. Do lado da política, isso envolve engenharia social. Isso é tentar convencer você a entrar no prédio. Isso pode ser tão simples quanto ficar na área de fumantes e voltar com os fumantes após uma pausa para fumar.

Pode ser fingir ser um oficial ou pedir a alguém para abrir uma porta para você enquanto carrega uma bandeja de xícara de café. No lado da segurança física, pode até envolver tentar invadir fisicamente, testar a cobertura da câmera, a qualidade dos bloqueios e coisas do gênero. Os compromissos da equipe vermelha geralmente envolvem uma equipe de pessoas e podem durar escalas de tempo muito mais longas do que os pentests normais.

Equipes Vermelhas

Um exercício de equipe vermelha pode parecer menos ético do que um pentest padrão. O testador está atacando ativamente funcionários inocentes. A chave é que eles tenham permissão da liderança da empresa, geralmente do nível do conselho. Esta é a única razão pela qual não há problema em um red teamer tentar realmente invadir. Nada permite que seja violento, no entanto. Um exercício de equipe vermelha nunca tentará ferir ou subjugar um guarda de segurança, contorná-lo ou enganá-lo.

Para evitar que o red teamer seja preso, eles geralmente carregam um contrato assinado com as assinaturas dos membros do conselho que o aprovam. Se for pego, isso pode ser usado para provar que eles tinham permissão. Claro, às vezes, isso é usado como um blefe duplo. O jogador vermelho pode levar dois recibos de permissão, um real e um falso.

Quando pegos, eles inicialmente entregam a permissão falsa para ver se conseguem convencer a segurança de que é legítimo, mesmo quando não é. Para esse fim, ele geralmente usa os nomes reais do conselho da empresa, mas inclui um número de telefone de verificação que vai para outro red teamer informado para verificar a história de capa. Claro, se a segurança perceber isso, o recibo de permissão real é entregue. Isso pode então ser tratado com grande desconfiança, no entanto.

Dependendo de como o red teamer foi pego, pode ser possível continuar o teste, assumindo que eles contornaram o segurança individual que os pegou. No entanto, é possível que a identidade do testador seja “explodida”, essencialmente removendo-o de qualquer outro teste pessoal. Neste ponto, outro membro da equipe pode trocar informando ou não a segurança.

Conclusão

Um pentest é um compromisso no qual um profissional de segurança cibernética é solicitado a testar a segurança de um sistema de computador. O teste envolve procurar manualmente e verificar a presença de vulnerabilidades. Ferramentas automatizadas podem ser usadas como parte disso. No final do teste, é fornecido um relatório detalhando os problemas encontrados e fornecendo conselhos de correção.

É importante que este relatório não seja apenas a saída automatizada de uma ferramenta, mas que tenha sido testado e verificado manualmente. Qualquer sistema de computador, hardware, rede, aplicativo ou dispositivo pode ser testado. As habilidades necessárias para cada um variam, mas muitas vezes são complementares.



Como forçar o Google Chrome a sempre mostrar URLs completos

Como forçar o Google Chrome a sempre mostrar URLs completos

O Chrome, por padrão, não mostra o URL completo. Você pode não se importar muito com esse detalhe, mas se por algum motivo precisar que o URL completo seja exibido, instruções detalhadas sobre como fazer o Google Chrome exibir o URL completo na barra de endereço.

Como recuperar o Reddit antigo

Como recuperar o Reddit antigo

O Reddit mudou seu design mais uma vez em janeiro de 2024. O redesenho pode ser visto por usuários de navegadores de desktop e restringe o feed principal ao mesmo tempo que fornece links

Como copiar conteúdo de livros didáticos com o Google Lens

Como copiar conteúdo de livros didáticos com o Google Lens

Digitar sua frase favorita do seu livro no Facebook é demorado e cheio de erros. Aprenda a usar o Google Lens para copiar texto de livros para seus dispositivos.

Corrigir endereço DNS do servidor não encontrado no Chrome

Corrigir endereço DNS do servidor não encontrado no Chrome

Às vezes, quando você está trabalhando no Chrome, você não consegue acessar determinados sites e recebe um erro “O endereço DNS do servidor de correção não foi encontrado no Chrome”. Veja como você pode resolver o problema.

Guia rápido sobre como criar lembretes no Google Home

Guia rápido sobre como criar lembretes no Google Home

Os lembretes sempre foram o grande destaque do Google Home. Eles certamente tornam nossa vida mais fácil. Vamos fazer um tour rápido sobre como criar lembretes no Google Home para que você nunca deixe de cuidar de tarefas importantes.

Netflix: alterar senha

Netflix: alterar senha

Como alterar sua senha no serviço de streaming de vídeo Netflix usando seu navegador preferido ou aplicativo Android.

Como desativar o prompt de restauração de páginas no Microsoft Edge

Como desativar o prompt de restauração de páginas no Microsoft Edge

Se você quiser se livrar da mensagem Restaurar páginas no Microsoft Edge, simplesmente feche o navegador ou pressione a tecla Escape.

Bitwarden: Como alterar sua dica de senha mestra

Bitwarden: Como alterar sua dica de senha mestra

Se a dica de senha do Bitwarden puder ser melhorada, estas são as etapas para alterá-la em menos de um minuto.

Imagens que não aparecem no Google Doc: por que e como corrigir

Imagens que não aparecem no Google Doc: por que e como corrigir

Se suas imagens não aparecerem em um Documento Google, o problema pode ocorrer por vários motivos. Aqui estão algumas soluções potenciais

Ocultar e exibir linhas e colunas no Planilhas Google

Ocultar e exibir linhas e colunas no Planilhas Google

Domine o aplicativo Planilhas Google aprendendo como ocultar e exibir colunas. Você pode fazer isso em computadores e dispositivos móveis.