Aplicações. O testador de penetração usa ferramentas automatizadas e testes manuais para procurar vulnerabilidades dentro de aplicações e bancos de dados conectados. Isso pode significar examinar os binários da aplicação em si ou os processos de autorização, criptografia, o potencial para SQLi e métodos de ataque comparáveis.
Redes. A rede precisa ser submetida a testes rigorosos de penetração como o perímetro de segurança da organização (pelo menos em teoria). O processo geralmente envolve uma análise sistemática dos controles de acesso administrativo, SSL (Secure Socket Layer), protocolos de transporte criptografados, certificados, segmentação de rede e muito mais.
Nuvem. Com a nuvem, o testador de penetração analisa as configurações do sistema, as APIs (interfaces de programação de aplicações) e o armazenamento. O testador também provavelmente procurará instâncias de nuvem que foram configuradas sem as políticas padrão em vigor. Isso é mais comum do que as pessoas imaginam. Um desenvolvedor bem-intencionado, mas mal informado, pode implantar uma aplicação e um banco de dados em uma plataforma de nuvem sem aplicar controles de segurança ou até mesmo notificar qualquer pessoa de que a instância de nuvem existe.
Processos de desenvolvimento de software. O fluxo de trabalho de DevOps e o pipeline de CI/CD (integração contínua/implantação contínua) são locais onde os desenvolvedores incorporam inadvertidamente bugs e erros de codificação em softwares que tornam a aplicação vulnerável a violações. Com o teste de penetração automatizado de DevOps e o pipeline de CI/CD, o testador pode encontrar vulnerabilidades ocultas que não podem ser detectadas com a verificação de código estático. O testador de penetração também tentará entrar no fluxo de trabalho do desenvolvedor e ver se ele pode inserir código mal-intencionado na base de código. Ele realizará ações semelhantes em relação a contêineres, como Docker.
Dispositivos. O hardware pode ser vulnerável a uma violação tanto quanto uma rede ou uma aplicação. Um testador de penetração tentará invadir o dispositivo usando vulnerabilidades em binários de aplicações, firmware e software do sistema operacional. É comum que os testadores de penetração encontrem pontos fracos em dispositivos que não tiveram patches de segurança instalados.
APIs. Um testador de penetração usará uma combinação de processos de teste de API manuais e automatizados para determinar se uma API tem alguma das 10 principais vulnerabilidades de segurança de API do OWASP (Open Worldwide Application Security Project), como BOLA (Autorização Interrompida em Nível de Objeto), enquanto analisa se uma API tem falta de limitação de taxa ou apresenta problemas de autenticação do usuário.