quarta-feira, 9 de maio de 2012

WebGoat - Aprenda a testar e explorar vulnerabilidades de aplicações Web

A aplicação WebGoat foi projetada para ilustrar falhas de segurança típicas em aplicações web. Seu objetivo é ensinar uma abordagem estruturada para detectar e explorar essas vulnerabilidades no contexto de uma Avaliação de Segurança de Aplicação.

Uma metodologia completa para testes para "Avaliação de Segurança de Aplicação" está sendo documentado em OWASP Testing Project - OWASP e isto irá proporcionar um superconjunto das questões demonstradas no WebGoat. Pode incluir uma revisão de design e do código, por exemplo. As lições do WebGoat visam dar uma formação prática e exemplos relacionados à fase de "Revisão de Implementação da OWASP" (Web Application Security Testing Methodology).

Para a pessoa que está acessando o Webgoat é dado o mesmo nível de informação e direitos de um cliente típico de uma aplicação on-line.
  • A aplicação é baseado na web
  • As simulações de ataque são remotas

Todas as técnicas descritas podem ser realizadas a partir de qualquer local de onde esteja conectado.

O teste é do tipo caixa-preta (black box).

O código fonte não é fornecido, mas pode ser visualizado e baixado.

Permissões e informações operacionais são fornecidas.

Naturalmente, o aspecto pedagógico do WebGoat implica que certas informações que são reveladas, não estariam normalmente disponíveis. Isto torna possível orientar o usuário através de um processo de avaliação. 



O objetivo do Webgoat

Tendo seguido as técnicas demonstradas nas lições do WebGoat, o usuário deve ser capaz de:
  • Compreender os processos de interações de alto nível de uma aplicação web
  • Determine as informações a partir dos dados visíveis no cliente que podem ser úteis em um ataque
  • Identificar e compreender os dados e interações com o usuário, que podem expor o aplicativo a ataques
  • Executar testes contra essas interações para expor as falhas no seu funcionamento
  • Executar ataques contra a aplicação para demonstrar e explorar vulnerabilidades.


Características do WebGoat

O WebGoat é escrito em linguagem JAVA e portanto Multi-Plataforma. Depois de instalado o usuário pode completar as lições e acompanhar o seu progresso pelo ScoreCard. Existem atualmente mais de 30 de lições. O conjunto de lições previstos no WebGoatv5 incluem:
  • Noções básicas sobre HTTP
  • HTTP Splitting e Cache Poisining
  • Como Explorar Problemas de Segurança
  • Como descobrir pistas no HTML
  • Como explora campos ocultos
  • Como explorar e-mail não verificados
  • Como ignorar a validação JavaScript do lado do cliente
  • Como Forçar Recursos do Browser
  • Como ignorar o esquema de Controle de acesso baseado em permissões
  • Como ignorar o esquema de Controle de acesso baseado em paths
  • Usando uma Martiz de Controle de Acesso
  • Como explorar a página Esqueci minha Senha
  • Como fazer Spoof de um cookie de autenticação
  • Como sequestrar sessões
  • Autenticação Básica
  • Como executar Stored Cross Site Scripting (XSS)
  • Como executar Reflected Cross Site Scripting (XSS)
  • Como executar ataques Cross Site Trace (XSS)
  • Buffer Overflow (TBD)
  • HTTPOnly Test
  • Como executar injeção de comandos
  • Como executar injeção de parâmetros
  • Como executar Blind SQL Injection
  • Como executar SQL Injection Numérico
  • Como executar String SQL Injection
  • Como executar Spoofing Log
  • Como executar ataques de XPATH Injection
  • Como ignorar um esquema de Fail Open Authentication
  • Como executar Basic Encoding
  • Negação de Serviços com múltiplos logins
  • Como criar uma solicitação SOAP
  • Como executar WSDL Scanning
  • Como Realizar Web Service SAX Injection
  • Como executar Web Service SQL Injection
  • Como executar um ataque de DOM Injection
  • Como realizar ataques de XML Injection
  • Como executar um ataque de JSON Injection
  • Como executar ataques de Silent Transactions

Para cada lição dentro do WebGoat, uma visão e objetivos são fornecidos. Estes são acessadas através do botão Show Lesson Plan.



 Estas lições descrevem a operação de cada aspecto da aplicação alvo, as áreas de interesse relacionadas à avaliação de segurança e o tipo de ataque que deve ser feito.

Versões futuras do WebGoat incluirão mais lições e funcionalidades.

Instalação do WebGoat

Instalação no Linux:
  1. Faça o download e instale o Java JDK 1.6.
  2. Faça o Download das 7 partes do WebGoat 5.1.
  3. Mude JAVA_HOME para apontar para o diretório onde está o JDK 1.6.
  4. chmod +x webgoat.sh (dê permissão de execução para o script webgoat.sh).
  5. Para iniciar o WebGoat use o comando: sudo sh webgoat.sh start
  6. Abra seu browser e acesse o seguinte endereço: http://localhost/WebGoat/attack
  7. Logue como usuário "guest" e senha "guest"
  8. Para finalizar o WebGoat use o comando: sudo sh webgoat.sh stop

A interface é bastante intuitiva. É bastante fácil aprender a usar o WebGoat (principalmente por que existe a versão traduzida). 



Obs: Quando você roda o WebGoat no seu PC ele fica vulnerável a ataques (ele irá ficar rodando um servidor Web, o TomCat para ser mais exato). O desenvolvedor aconselha que quando você estiver utilizando o WebGoat você desconecte sua máquina da Internet. 


Iniciando

WebGoat, o Tomcat deve ser executado com o script de inicialização no diretório bin do Tomcat. Para operá-lo, o WebGoat deve ter permissão para funcionar como um servidor e permitir que sejam executados alguns comportamentos incomuns no servidor web.

Quando WebGoat está sendo executado, ele fará com que sua máquina esteja vulnerável à ataques. Se a máquina estiver ligada à Internet deve ser desconectada.

Executar um firewall pode evitar que WebGoat funcione corretamente. Desative qualquer firewall durante a execução do WebGoat.

A partir de um navegador, o servidor Tomcat pode ser acessado no localhost pela porta 80, por exemplo, http://127.0.0.1.

WebGoat encontra-se no diretório WebGoat, e as lições podem ser encontradas em: http://127.0.0.1/WebGoat/attack

A aplicação WebGoat reforça o papel da segurança como base. Uma janela de login é exibida logo no início. Entre com o usuário "guest" e senha "guest".

Depois de realizar o login com sucesso, o servidor Tomcat irá mostrar a página de boas-vindas do WebGoat.

Em cada fase de uma avaliação de segurança, é importante compreender o funcionamento do alvo. Isso normalmente envolve:
  • Examinando o conteúdo do lado do cliente, como HTML e script
  • Analisar as comunicações entre o cliente e o servidor
  • Rever os cookies e outros dados locais

O browser normalmente torna mais simples visualizar o código HTML. WebGoat expande essa facilidade, com as opções Show Params, Show HTML, Show Cookies e Show Java.

Em circunstâncias normais, o navegador oferece um recurso para visualizar código HTML. No Firefox essa opção encontra-se em "Page Source" no menu View. O recurso Mostrar HTML do WebGoat mostra somente o código HTML que é relevante para a lição sendo estudada. Esta visualização não inclui o código HTML das barras lateral e superior. 


Parâmetros e cookies mostrados em vermelho.
O Show Java abrirá uma janela contendo o código fonte. 


0 comentários:

Postar um comentário

 

SECURITY MASTER Copyright © 2011 -- Template created by Security Master -- Powered by Blogger