EITC/IS/WAPT Web Applications Penetration Testing é o programa europeu de certificação de TI sobre aspectos teóricos e práticos de testes de penetração de aplicativos da web (white hacking), incluindo várias técnicas para web sites spidering, técnicas de varredura e ataque, incluindo ferramentas e suítes especializadas de teste de penetração .
O currículo do EITC/IS/WAPT Web Applications Penetration Testing abrange a introdução ao Burp Suite, web spridering e DVWA, teste de força bruta com Burp Suite, detecção de firewall de aplicativo da web (WAF) com WAFW00F, escopo de destino e spidering, descoberta de arquivos ocultos com ZAP, verificação de vulnerabilidades do WordPress e enumeração de nome de usuário, verificação do balanceador de carga, script entre sites, XSS – refletido, armazenado e DOM, ataques de proxy, configuração do proxy no ZAP, ataques a arquivos e diretórios, descoberta de arquivos e diretórios com DirBuster, prática de ataques na web , OWASP Juice Shop, CSRF – Cross Site Request Forgery, coleta de cookies e engenharia reversa, Atributos HTTP – roubo de cookies, injeção de SQL, DotDotPwn – difusão de travessia de diretório, injeção de iframe e injeção de HTML, exploração Heartbleed – descoberta e exploração, injeção de código PHP, bWAPP – injeção de HTML, POST refletido, injeção de comando do SO com Commix, injeção de SSI do lado do servidor, pentesting no Docker, OverTheWire Natas, LFI e injeção de comandos, Google hacking para pentesting, Google Dorks para testes de penetração, Apache2 ModSecurity, bem como Nginx ModSecurity, dentro da estrutura a seguir, englobando conteúdo didático em vídeo abrangente como referência para esta Certificação EITC.
A segurança de aplicativos da Web (geralmente chamada de Web AppSec) é o conceito de projetar sites para funcionar normalmente mesmo quando são atacados. A ideia é integrar um conjunto de medidas de segurança em um aplicativo da Web para proteger seus ativos de agentes hostis. Os aplicativos da Web, como todos os softwares, são propensos a falhas. Algumas dessas falhas são vulnerabilidades reais que podem ser exploradas, representando um risco para as empresas. Essas falhas são protegidas por meio da segurança do aplicativo da web. Isso envolve o emprego de abordagens de desenvolvimento seguras e a implementação de controles de segurança em todo o ciclo de vida de desenvolvimento de software (SDLC), garantindo que as falhas de design e os problemas de implementação sejam resolvidos. O teste de penetração online, que é realizado por especialistas que visam descobrir e explorar vulnerabilidades de aplicativos da Web usando a chamada abordagem de hacking branco, é uma prática essencial para permitir a defesa adequada.
Um teste de penetração na Web, também conhecido como teste de caneta na Web, simula um ataque cibernético em um aplicativo da Web para encontrar falhas exploráveis. O teste de penetração é frequentemente usado para complementar um firewall de aplicativo da Web no contexto de segurança de aplicativo da Web (WAF). O teste de caneta, em geral, envolve a tentativa de penetrar em qualquer número de sistemas de aplicativos (por exemplo, APIs, servidores front-end/back-end) para encontrar vulnerabilidades, como entradas não higienizadas que são vulneráveis a ataques de injeção de código.
As descobertas do teste de penetração online podem ser usadas para configurar políticas de segurança WAF e abordar vulnerabilidades descobertas.
O teste de penetração tem cinco etapas.
O procedimento de teste da caneta é dividido em cinco etapas.
- Planejamento e Escotismo
Definir o escopo e os objetivos de um teste, incluindo os sistemas a serem abordados e as metodologias de teste a serem utilizadas, é o primeiro estágio.
Para obter uma melhor compreensão de como um alvo funciona e suas potenciais fraquezas, reúna informações (por exemplo, nomes de rede e domínio, servidor de correio). - Exploração
A próxima etapa é descobrir como o aplicativo de destino reagirá a diferentes tipos de tentativas de invasão. Isso geralmente é feito empregando os seguintes métodos:
Análise estática – Examinar o código de um aplicativo para prever como ele se comportará quando for executado. Em uma única passagem, essas ferramentas podem escanear todo o código.
A análise dinâmica é o processo de inspecionar o código de um aplicativo enquanto ele está em operação. Esse método de verificação é mais prático porque fornece uma visão em tempo real do desempenho de um aplicativo. - Obtendo acesso
Para encontrar os pontos fracos de um alvo, esta etapa emprega ataques a aplicativos da Web, como scripts entre sites, injeção de SQL e backdoors. Para entender os danos que essas vulnerabilidades podem causar, os testadores tentam explorá-las aumentando privilégios, roubando dados, interceptando tráfego e assim por diante. - Mantendo o acesso
O objetivo deste estágio é avaliar se a vulnerabilidade pode ser explorada para estabelecer uma presença de longo prazo no sistema comprometido, permitindo que um agente mal-intencionado obtenha acesso aprofundado. O objetivo é imitar ameaças persistentes avançadas, que podem permanecer em um sistema por meses para roubar as informações mais confidenciais de uma empresa. - Análise
Os resultados do teste de penetração são então colocados em um relatório que inclui informações como:
Vulnerabilidades que foram exploradas em detalhes
Dados que foram obtidos que eram sensíveis
A quantidade de tempo que o pen tester conseguiu permanecer despercebido no sistema.
Especialistas em segurança usam esses dados para ajudar a definir as configurações de WAF de uma empresa e outras soluções de segurança de aplicativos para corrigir vulnerabilidades e evitar novos ataques.
Métodos de teste de penetração
- O teste de penetração externo concentra-se nos ativos de uma empresa que são visíveis na Internet, como o próprio aplicativo da Web, o site da empresa, bem como servidores de e-mail e nomes de domínio (DNS). O objetivo é obter acesso e extrair informações úteis.
- O teste interno implica que um testador tenha acesso a um aplicativo por trás do firewall de uma empresa, simulando um ataque interno hostil. Isso não é necessário uma simulação de funcionário desonesto. Um funcionário cujas credenciais foram obtidas como resultado de uma tentativa de phishing é um ponto de partida comum.
- O teste cego é quando um testador recebe simplesmente o nome da empresa que está sendo testada. Isso permite que especialistas em segurança vejam como um ataque real a um aplicativo pode ocorrer em tempo real.
- Teste duplo-cego: em um teste duplo-cego, os profissionais de segurança desconhecem o ataque simulado de antemão. Eles não terão tempo de reforçar suas fortificações antes de uma tentativa de violação, assim como no mundo real.
- Teste direcionado – nesse cenário, o testador e a equipe de segurança colaboram e mantêm o controle dos movimentos um do outro. Este é um excelente exercício de treinamento que fornece feedback em tempo real à equipe de segurança da perspectiva de um hacker.
Firewalls de aplicativos da Web e testes de penetração
Testes de penetração e WAFs são duas técnicas de segurança separadas, mas complementares. É provável que o testador aproveite os dados WAF, como logs, para localizar e explorar as áreas fracas de um aplicativo em muitos tipos de testes de caneta (com exceção de testes cegos e duplo-cegos).
Por sua vez, os dados de teste de caneta podem ajudar os administradores do WAF. Após a conclusão de um teste, as configurações do WAF podem ser modificadas para proteger contra as falhas detectadas durante o teste.
Finalmente, o pen testing atende a alguns requisitos de conformidade dos métodos de auditoria de segurança, como PCI DSS e SOC 2. Certos requisitos, como PCI-DSS 6.6, só podem ser atendidos se um WAF certificado for usado. No entanto, devido aos benefícios mencionados acima e ao potencial de modificar as configurações do WAF, isso não torna o teste de caneta menos útil.
Qual é o significado dos testes de segurança na web?
O objetivo do teste de segurança da Web é identificar falhas de segurança em aplicativos da Web e sua configuração. A camada de aplicação é o alvo primário (ou seja, o que está sendo executado no protocolo HTTP). Enviar diferentes formas de entrada para um aplicativo da Web para induzir problemas e fazer o sistema responder de maneiras inesperadas é uma abordagem comum para testar sua segurança. Esses “testes negativos” procuram ver se o sistema está fazendo algo que não deveria realizar.
Também é vital perceber que o teste de segurança da Web envolve mais do que apenas verificar os recursos de segurança do aplicativo (como autenticação e autorização). Também é crucial garantir que outros recursos sejam implantados com segurança (por exemplo, lógica de negócios e uso de validação de entrada e codificação de saída adequadas). O objetivo é garantir que as funções do aplicativo da Web sejam seguras.
Quais são os vários tipos de avaliações de segurança?
- Teste para segurança de aplicativos dinâmicos (DAST). Este teste automatizado de segurança de aplicativos é mais adequado para aplicativos internos de baixo risco que devem atender aos requisitos de segurança regulamentares. Combinar o DAST com alguns testes manuais de segurança online para vulnerabilidades comuns é a melhor estratégia para aplicativos de risco médio e aplicativos cruciais que passam por pequenas alterações.
- Verificação de segurança para aplicativos estáticos (SAST). Essa estratégia de segurança de aplicativos inclui métodos de teste automatizados e manuais. É ideal para detectar bugs sem precisar executar aplicativos em um ambiente ativo. Ele também permite que os engenheiros digitalizem o código-fonte para detectar e corrigir falhas de segurança do software de maneira sistemática.
- Exame de Penetração. Este teste manual de segurança de aplicativos é ideal para aplicativos essenciais, principalmente aqueles que estão passando por mudanças significativas. Para encontrar cenários de ataque avançados, a avaliação usa lógica de negócios e testes baseados em adversários.
- Autoproteção do aplicativo em tempo de execução (RASP). Esse crescente método de segurança de aplicativos incorpora uma variedade de técnicas de tecnologia para instrumentar um aplicativo para que as ameaças possam ser observadas e, esperançosamente, evitadas em tempo real à medida que ocorrem.
Que papel os testes de segurança de aplicativos desempenham na redução do risco da empresa?
A grande maioria dos ataques em aplicativos da web inclui:
- Injeção de SQL
- XSS (Cross Site Scripting)
- Execução de Comando Remoto
- Ataque de Travessia de Caminho
- Acesso restrito ao conteúdo
- Contas de usuário comprometidas
- Instalação de código malicioso
- Perda de receita de vendas
- A confiança dos clientes está diminuindo
- Reputação da marca prejudicando
- E muitos outros ataques
No ambiente da Internet de hoje, um aplicativo da Web pode ser prejudicado por vários desafios. O gráfico acima mostra alguns dos ataques mais comuns perpetrados por invasores, cada um dos quais pode causar danos significativos a um aplicativo individual ou a uma empresa inteira. Conhecer os muitos ataques que tornam um aplicativo vulnerável, bem como os possíveis resultados de um ataque, permite que a empresa resolva as vulnerabilidades com antecedência e as teste efetivamente.
Controles de mitigação podem ser estabelecidos nas fases iniciais do SDLC para evitar quaisquer problemas, identificando a causa raiz da vulnerabilidade. Durante um teste de segurança de aplicativo da Web, o conhecimento de como essas ameaças funcionam também pode ser usado para direcionar locais de interesse conhecidos.
Reconhecer o impacto de um ataque também é importante para gerenciar o risco da empresa, pois os impactos de um ataque bem-sucedido podem ser usados para determinar a gravidade geral da vulnerabilidade. Se as vulnerabilidades forem descobertas durante um teste de segurança, determinar sua gravidade permite que a empresa priorize os esforços de correção de forma mais eficaz. Para reduzir o risco para a empresa, comece com os problemas de gravidade crítica e vá descendo até os de menor impacto.
Antes de identificar um problema, avaliar o possível impacto de cada programa na biblioteca de aplicativos da empresa ajudará você a priorizar os testes de segurança de aplicativos. Os testes de segurança do Wenb podem ser programados para atingir primeiro os aplicativos críticos da empresa, com testes mais direcionados para reduzir o risco contra os negócios. Com uma lista estabelecida de aplicativos de alto perfil, os testes de segurança wenb podem ser programados para atingir primeiro os aplicativos críticos da empresa, com testes mais direcionados para reduzir o risco contra os negócios.
Durante um teste de segurança de aplicativos da Web, quais recursos devem ser examinados?
Durante o teste de segurança de aplicativos da Web, considere a lista não exaustiva de recursos a seguir. Uma implementação ineficaz de cada um pode resultar em fraquezas, colocando a empresa em perigo.
- Configuração da aplicação e do servidor. Configurações de criptografia/criptografia, configurações de servidor Web e assim por diante são exemplos de falhas potenciais.
- Validação de entrada e tratamento de erros O processamento deficiente de entrada e saída leva à injeção de SQL, scripts entre sites (XSS) e outros problemas típicos de injeção.
- Autenticação e manutenção de sessões. Vulnerabilidades que podem levar à representação do usuário. A força e a proteção da credencial também devem ser levadas em consideração.
- Autorização. A capacidade do aplicativo de proteção contra escalações verticais e horizontais de privilégios está sendo testada.
- Lógica nos negócios. A maioria dos programas que fornecem funcionalidade de negócios depende deles.
- Lógica do lado do cliente. Esse tipo de recurso está se tornando mais comum em páginas da Web modernas com muito JavaScript, bem como em páginas da Web que usam outros tipos de tecnologias do lado do cliente (por exemplo, Silverlight, Flash, Java applets).
Para se familiarizar em detalhes com o currículo de certificação, você pode expandir e analisar a tabela abaixo.
O currículo de certificação de teste de penetração de aplicativos da Web EITC/IS/WAPT faz referência a materiais didáticos de acesso aberto em formato de vídeo. O processo de aprendizagem é dividido em uma estrutura passo a passo (programas -> aulas -> tópicos) que cobre partes curriculares relevantes. Consultoria ilimitada com especialistas de domínio também são fornecidos.
Para obter detalhes sobre o procedimento de Certificação, verifique Como funciona.
Baixe os materiais preparatórios de autoaprendizagem offline completos para o programa EITC/IS/WAPT Web Applications Penetration Testing em um arquivo PDF
Materiais preparatórios EITC/IS/WAPT – versão padrão
Materiais preparatórios EITC/IS/WAPT – versão estendida com perguntas de revisão