Teste de penetração
O que é Pentesting?
Pentesting, também conhecido como teste de penetração, é uma avaliação de segurança, uma análise e progressão de ataques simulados em um aplicativo (Web, Mobile ou API) ou rede para verificar sua postura de segurança. O objetivo é penetrar nas defesas de segurança do aplicativo ou da rede procurando por vulnerabilidades. Geralmente, são pontos fracos ou falhas que um invasor pode explorar para afetar a confidencialidade, integridade ou disponibilidade. Esse objetivo é o mesmo, seja realizando pentesting de aplicativos ou pentesting de rede. A saída de um pentest é uma lista de vulnerabilidades, os riscos que elas representam para o aplicativo ou rede e um relatório final com um resumo executivo do teste, juntamente com informações sobre sua metodologia e recomendações para correção. As vulnerabilidades encontradas durante um teste de penetração podem ser usadas para ajustar suas políticas de segurança, corrigir seus aplicativos ou redes, identificar pontos fracos comuns entre aplicativos e, em geral, fortalecer toda a sua postura de segurança.
O que é Pentesting Manual?
O teste de penetração manual é uma abordagem de teste de segurança que coloca a experiência humana em cima de software e ferramentas profissionais de teste de penetração, como análise estática binária automatizada e dinâmica automatizada. O software de pentesting é ótimo para descobrir problemas com classes de vulnerabilidade padrão, mas não consegue detectar certas falhas de design.
Um pentest manual realizado por um pentester qualificado é necessário para fornecer cobertura completa, incluindo design, lógica de negócios e riscos de falhas compostas que só podem ser detectados por meio de testes manuais (humanos).
Nossa abordagem
Fase 1. Preparação
O primeiro passo no processo de Petesting as a Service é preparar todas as partes envolvidas no trabalho. Do lado do cliente, isso envolve determinar e definir o escopo do teste e criar contas na plataforma de teste de penetração. A Equipe de SecOps designa um Líder Principal e Especialistas de Domínio com habilidades que correspondem à pilha de tecnologia do Cliente. Um canal Slack também é criado para simplificar a comunicação sob demanda entre o Cliente e a Equipe Pentest.
Fase 2. Início
O segundo passo é iniciar o pentest. Isso normalmente envolve uma ligação telefônica de 30 minutos com as equipes de clientes e pentest. O principal objetivo da chamada é oferecer uma introdução pessoal, alinhar na linha do tempo e finalizar o escopo do teste.
Fase 3. Teste
A terceira etapa é onde o pentesting ocorrerá. As etapas 1 e 2 são necessárias para estabelecer um escopo claro, identificar o ambiente de destino e configurar credenciais para o teste. Agora é a hora dos especialistas analisarem o alvo em busca de vulnerabilidades e falhas de segurança que podem ser exploradas se não forem devidamente mitigadas. À medida que a equipe do Pentest realiza os testes, o líder principal garante a profundidade da cobertura e se comunica com o cliente conforme necessário por meio da plataforma e do canal Slack. É também aqui que entra em jogo o verdadeiro poder criativo dos Especialistas do Domínio Principal.
Fase 4. Relatórios
A quarta etapa é a fase de relatórios, que é um processo interativo e contínuo. As descobertas individuais são publicadas na plataforma à medida que são descobertas e, no final de um teste, o Líder Principal analisa todas as descobertas e produz um relatório resumido final. Após a conclusão do relatório, ele é enviado ao cliente.
O relatório não é estático; é um documento vivo que é atualizado à medida que as alterações são feitas (consulte Reteste na Fase 5).
Fase 5. Reteste
É importante identificar vulnerabilidades em seus aplicativos, mas o mais importante é corrigir os problemas encontrados para melhorar a segurança e a qualidade do código. Uma vez que o Cliente está ciente dos problemas de segurança identificados durante o pentest, a resolução de cada problema acontece ao longo das próximas semanas e meses. Quando o Cliente marca uma descoberta como “Pronto para novo teste” na plataforma, o Líder Principal verifica a correção e o relatório final é atualizado.
Fase 6. Feedback
Assim que o teste estiver concluído, o relatório tiver sido enviado ao Cliente e a correção estiver em andamento, uma Equipe de Sucesso do Cliente entrará em contato com o Cliente para obter feedback. Os clientes inicialmente fornecem feedback por meio de uma pesquisa de cinco perguntas que permite avaliar o processo geral, as descobertas e o relatório completo. Durante uma chamada de feedback agendada, os clientes se aprofundam nas respostas da pesquisa conforme necessário e se alinham com a equipe de sucesso do cliente da Cobalt em itens de ação e expectativas futuras. Esse feedback ajuda a equipe da Cobalt a continuar melhorando o processo para os próximos testes e moldar o roteiro do produto da plataforma no futuro.
Pentest como um serviço
Sem aplicar uma abordagem de ciclo de vida a um Programa Pentest, uma organização está condenada a tratar a segurança como um projeto pontual em vez de uma função contínua. Por sua natureza, um projeto tem uma data de início e término. Quando o projeto está completo, todos passam para a próxima coisa. É importante tratar um Programa Pentest como um processo contínuo. A Etapa 6, a Fase de Feedback, deve sempre levar à preparação para o próximo pentest, seja na semana, mês, trimestre ou ano seguinte. A Brandvakt, juntamente com a Cobalt, garantirá que os preparativos corretos sejam feitos para a iteração do ciclo.
Visão geral
O teste de penetração, também conhecido como pentesting, pentesting de segurança e testes de segurança, é uma forma de hacking ético. Ele descreve o lançamento intencional de ataques cibernéticos simulados por testadores de penetração “white hat” usando estratégias e ferramentas projetadas para acessar ou explorar sistemas de computadores, redes, sites e aplicativos. Embora o principal objetivo do teste de penetração seja identificar problemas exploráveis para que os controles de segurança eficazes possam ser implementados, os profissionais de segurança também podem usar técnicas de teste de penetração, juntamente com ferramentas de teste especializadas, para testar a robustez das políticas de segurança de uma organização, sua conformidade regulatória, a conscientização de segurança de seus funcionários e a capacidade da organização de identificar e responder a problemas e incidentes de segurança, como acesso não autorizado, à medida que ocorrem.
Como um ataque cibernético simulado, as técnicas de hacking ético ajudam os profissionais de segurança a avaliar a eficácia das medidas de segurança da informação em suas organizações. O pentest tenta perfurar a armadura das defesas cibernéticas de uma organização, verificando vulnerabilidades exploráveis em redes, aplicativos da Web e segurança do usuário. O objetivo é encontrar pontos fracos nos sistemas antes que os invasores o façam.
Quando você precisa de Pentests?
Seja adquirindo ou adquirindo outra empresa, você descobrirá que as avaliações de segurança se tornaram parte integrante do processo de due diligence. 100% de executivos e consultores em uma pesquisa de 2019 (ISC)2 disse que as auditorias de segurança se tornaram uma prática padrão em fusões e aquisições. Os pentests são um componente comum dessas auditorias, tanto como um instantâneo pontual quanto como parte de um programa de testes contínuos.
Se o seu auditor não pedir um pentest, é provável que seus clientes o façam. Os serviços digitais criaram uma rede complexa em que uma violação bem-sucedida pode afetar várias empresas conectadas ao alvo, conforme evidenciado pelos incidentes FireEye e SolarWinds no final de 2020. Como resultado, as empresas estão cada vez mais preocupadas com o compromisso de seus fornecedores com a segurança e antes que eles assinar, eles solicitam documentos como um relatório SOC 2 ou um relatório de pentest emitido nos últimos 6 meses.
Claramente, a pressão é para a segurança cibernética. Para mitigar riscos e amadurecer seus programas, as equipes estão diversificando cada vez mais suas abordagens. Um exemplo é a combinação de ferramentas de segurança automatizadas e pentests manuais. Quando configurados corretamente, os scanners podem capturar assinaturas de malware, erros de codificação e padrões de comportamento suspeitos. Os pentests podem atuar como uma camada adicional de defesa, validando a precisão dessas ferramentas e buscando falhas mais complexas que exigem pensamento criativo: falhas na lógica de negócios, inconsistências de autorização, explorações encadeadas e condições de corrida.
Como funciona
Brandvakt oferece Pentesting-as-a-Service juntamente com Cobalt. Nossa abordagem é uma abordagem ágil com um tempo de iniciação curto, geralmente de 24 a 48 horas. Uma vez que o escopo foi definido, o teste de penetração ocorre em um conjunto de duas semanas. Em contraste com o teste de penetração tradicional, você não precisa esperar semanas pelo relatório, mas pode acompanhar em um painel à medida que o teste de penetração ocorre e as vulnerabilidades são reveladas. Junto com as descobertas, são fornecidas recomendações sobre como remediar os problemas.
Nosso teste de penetração é uma abordagem ágil seguindo as seguintes etapas Plan -> Test -> Remediate -> Report -> Analyze -> Discover.
O que podemos testar?
Pentest de Aplicação Web
A internet é um aspecto essencial de muitas tarefas do dia-a-dia. Milhões de pessoas usam sites e aplicativos para fazer compras, transações bancárias e navegar com segurança. À medida que os aplicativos da Web se tornaram cada vez mais populares, eles estão sob constante ameaça de hackers, vírus e terceiros mal-intencionados.
Como muitos aplicativos da Web armazenam ou enviam dados confidenciais, os aplicativos devem estar sempre seguros, especialmente aqueles usados pelo público.
O pentesting de aplicativos da Web funciona como uma medida de controle preventivo, permitindo que você analise todos os aspectos da segurança do seu aplicativo da Web.
Os especialistas seguem as melhores práticas de pentesting de uma aplicação web e com os objetivos de:
- Teste a eficácia das políticas de segurança existentes
- Identifique vulnerabilidades desconhecidas
- Determinar as áreas mais vulneráveis para um ataque
- Teste todos os componentes de aplicativos expostos publicamente (roteadores, firewalls e DNS)
- Encontre quaisquer brechas que possam ser expostas ao roubo de dados
Revisão do Cloud Config
A diferença principal e fundamental no teste de penetração na nuvem é que sua organização não possui o hardware subjacente em que seus sistemas/aplicativos/serviços estão sendo executados. Portanto, você precisa ter permissão antes de testar sua infraestrutura de nuvem ou ter um teste de terceiros. Em alguns casos, isso é muito simples, pois muitos provedores de hospedagem não precisam mais de permissão para realizar testes de penetração em nível de rede de seus hosts voltados para o público (por exemplo, Azure, Digital Ocean, Google), desde que o teste não inclua quaisquer aspectos de negação de serviço (DoS).
Pentest assistido por código
Os pentests normalmente são realizados a partir de uma perspectiva de “caixa preta” ou “conhecimento zero”; o que significa que os pentesters de segurança não têm conhecimento prévio sobre os detalhes de implementação do aplicativo de destino no escopo. Com testes de penetração de caixa cinza assistidos por código, nossos pentesters têm acesso ao código-fonte do aplicativo, permitindo efetivamente que a equipe use o código juntamente com as atividades de teste como um meio de obter uma compreensão completa do aplicativo de destino e melhorar a precisão dos achados descobertos. No entanto, nosso pentest assistido por código não é uma revisão de código, pois é usado apenas para analisar vetores de ataque.
Não hesite em entrar em contato com o diretório Us para que possamos discutir com mais profundidade o teste de penetração como serviço e como a plataforma Cobalt funciona.
Tipos de teste de software
Caixa preta: Nenhum acesso prévio é dado durante um pentest de rede externa, a menos que explicitamente descrito no escopo.
Caixa branca: Acesso específico é dado durante um pentest de rede externa.
Caixa Cinza: Nenhum acesso é concedido para iniciar, mas algum acesso é concedido após a execução de determinados testes.
Além disso, esses detalhes podem ser incluídos no escopo do pentest desejado com teste de caixa cinza e caixa branca:
- Diagramas de rede
- Diagramas de infraestrutura
- Contas (mesmo contas temporárias para pentests)
- Informação do usuário
Qualquer informação fornecida sobre o sistema que está sendo testado é útil para pentesters. Quanto mais oportunidades e habilidades houver para descobrir o software que o servidor da Web de alguém está executando, mais eficaz será encontrar exploits especificamente relacionados a essa versão do software, em vez de tentar uma variedade de exploits para ver o que funciona.
Podemos atender os clientes onde eles querem que estejamos. No entanto, se os clientes procuram o máximo impacto e/ou um teste de caixa branca, eis o que recomendamos ao preparar o escopo do teste:
- Determine os ativos a serem testados, como quais partes da rede externa
- Determine os endereços IP que acompanham esses ativos
- Apresente esses endereços IP como o escopo
É importante garantir que os endereços IP fornecidos realmente pertençam à empresa e também alertar quaisquer fornecedores terceirizados relacionados a esses ativos. Para aumentar o valor das avaliações externas, o monitoramento de IPs públicos a partir dos quais os ataques às vezes são conduzidos pode ser útil para identificar e responder melhor a ataques futuros.
Quando se trata da lista típica de coisas que normalmente verificamos durante um pentest de rede externa, eles seguem estruturas e práticas recomendadas, como OWASP, ASVS, ou OSSTMM. Normalmente, as atividades de varredura de portas são executadas, seguidas pela pesquisa de servidores da web. Determinar o software e a versão em uso para cada serviço também é útil para identificar configurações incorretas ou vulnerabilidades.
Pentest de API
A falta de um protocolo claro torna as avaliações de segurança de aplicativos de APIs de microsserviços um tanto precárias, uma vez que as ferramentas típicas de avaliação de segurança da Web, metodologias de avaliação de segurança prescritas e experiência geral de testador de penetração podem não incluir cobertura ou conhecimento de interação para um microsserviço específico Oferta de API ou comportamento operacional.
O teste de penetração de API envolve todos os processos de verificação de vulnerabilidades e criação de endpoints fortes em suas APIs. Uma das ameaças mais comuns de aplicativos da web é o abuso de API, que pode causar obstáculos ao bom funcionamento de qualquer indústria digital.
O teste de penetração de API é muito semelhante ao teste de penetração de aplicativos da Web e, portanto, a metodologia de pentest de API é baseada na mesma base - o OWASP Top 10, o OWASP ASVS e o OWASP Testing Guide. A Cobalt testa APIs baseadas na web, APIs REST e APIs móveis. Nossos pentesters analisam a API de destino para determinar qual tipo de autenticação é usado, estudam estruturas de API, entendem métodos de solicitação, respostas, funções e exploram bugs em uma API de produção real ou em um ambiente de teste.
Pentest de rede externa
É importante conhecer as vulnerabilidades da sua organização e como os invasores podem explorá-las. O pentesting de rede externa é uma maneira de fazer isso, avaliando ativamente a segurança da infraestrutura de perímetro de uma organização que pode ser acessada diretamente pela Internet. Isso é feito para identificar possíveis áreas de oportunidade para os invasores obterem informações confidenciais e comprometerem a infraestrutura crítica para os negócios.
As redes externas incluem o servidor, o login da VPN, um portal de webmail e quaisquer portais que possam ser acessados a partir de um navegador da web. Durante um pentest de rede externa, nossos pentesters usam vetores e ferramentas de ataque do mundo real para tentar comprometer sistemas externos e obter acesso a informações ou sistemas confidenciais.
Pentest de aplicativos móveis
Nossos pentesters vão além de simplesmente observar as vulnerabilidades comuns da API e da web. Nossos testadores examinam o risco de um aplicativo móvel aproveitando o OWASP Mobile Top 10 e outras metodologias para avaliar a segurança.
A segurança sempre foi uma grande preocupação para as empresas, e essa preocupação é ainda maior quando se trata de aplicativos móveis. Hoje, quase todas as marcas ou produtos líderes têm um aplicativo móvel para se conectar com seus clientes com mais facilidade.
Mais usuários do que nunca confiam em aplicativos móveis para a maioria de suas tarefas digitais em vez de aplicativos de desktop tradicionais. Esses aplicativos têm acesso a grandes quantidades de dados do usuário, muitos dos quais são dados confidenciais e devem ser protegidos contra acesso não autorizado.
Do ponto de vista de um pen tester, há uma necessidade crescente de pentesters móveis qualificados. Os aplicativos móveis são uma importante superfície de ataque a ser coberta e, embora todas as plataformas móveis populares (iOS e Android) forneçam seu próprio conjunto de controles de segurança projetados para ajudar os desenvolvedores a criar aplicativos seguros, isso geralmente é deixado para o desenvolvedor escolher entre uma variedade de segurança opções. Se não forem implementados corretamente, ou deixados mal configurados, eles introduzem brechas de segurança em um aplicativo.