domingo, 19 de setembro de 2010

CAL9000 - Web Application Security Testing Assistant - Introdução


APRESENTAÇÃO

CAL9000 é uma coleção de ferramentas de testes de segurança para aplicações Web, que
complementa os recursos atuais de web proxies e scanners automatizados. CAL9000 lhe dá a flexibilidade e funcionalidade que você precisará para testes manuais mais eficazes e menos esforços. Funciona melhor quando usado com os navegadores Firefox ou Internet Explorer. (Recomendo Firefox :P)


CAL900 é escrito em JavaScript, então você terá acesso total ao código-fonte. Sinta-se livre para modificá-lo para melhor atender as suas necessidades específicas. CAL9000 tem algumas características poderosas (como a execução cross-domain xmlHttpRequests e escrita para o disco).
Dedique alguns momentos para verificar as funcionalidades desta ferramenta.

Usaremos o CAL9000 para demonstrar os usos de uma ferramenta de testes de exploração. Como a maioria das ferramentas se concentra em algum tipo específico de ataque. Neste caso, seu foco principal é sobre ataques Cross-Site Scripting.

OBTENDO O CAL9000

Você pode baixá-lo no endereço http://www.owasp.org/index.php/Category:OWASP_CAL9000_Project, como mostrado na figura abaixo.

Obs.: Se estiverem com dificuldades para efetuar o download, acessem o 3º link apresentado ao final deste artigo ou me enviem um e-mail para que eu possa disponibilizar a quem necessitar.

Quando o download estiver concluído,descompacte o arquivo e abra o arquivo CAL9000.html no seu navegador da Web, como mostrado na figura 2. Firefox (disponível a partir de http://www.mozilla.com/firefox/) É o browser recomendado para uso com CAL9000.


Neste ponto, você obteve com sucesso o conjunto de ferramentas de teste CAL9000. Na próxima seção, vamos caminhar com o que você pode fazer com CAL9000.

USANDO O CAL9000

CAL9000 é uma coleção de nove ferramentas que são usadas para testar aplicações web para vulnerabilidades de segurança, especificamente cross-site scripting. Você pode usar algumas destas ferramentas para testar outros tipos de vulnerabilidades, mas o foco principal deste conjunto de ferramentas está no cross-site scripting. Nesta seção, nós vamos levá-lo através da interface CAL9000 e descrever cada um das nove ferramentas:

  • XSS Attacks
  • Encode/Decode
  • HTTP Requests
  • HTTP Responses
  • Scratch Pad
  • Cheat Sheets
  • Misc Tools
  • Checklist
  • AutoAttack

Vamos começar no topo da lista com a guia de XSS Attacks.

ATAQUES XSS

Na página CAL9000.html, clique na guia XSS Attacks, como mostrado na figura 3.

Figura 3 - Clique na guia XSS Attacks.

Mostrará a ferramenta de XSS Attacks. Este é um dicionário de XSS Attacks conhecidos. Clique em um dos ataques listados no menu do lado esquerdo da tela, como mostrado na figura 4.

Figura 4 - Usando a tela de XSS Attacks.

No lado direito da tela, você verá o código de ataque na caixa de texto superior, e uma descrição do que o ataque é projetado para fazer na caixa de texto inferior. Nesta página, também há um editor que permite criar seu próprio código de ataque personalizado e salvá-la ao dicionário. Há também um testador de expressões regulares na parte inferior da página.

ENCODE/DECODE

Clique na guia Encode/Decode, como mostrado na figura 5, para apresentar a tela Encode/Decode.

Figura 5 - Clique na guia Encode/Decode.

Esta ferramenta permite-lhe codificar texto simples em uma variedade de formas, como mostrado na figura 6.

Figura 6 - Encode de texto simples em hexadecimal.

Isso é mais útil para testar se sua aplicação filtra com sucesso dados codificados. Esta página também pode decodificar os dados em uma variedade de formatos, como mostrado na figura 7.

Figura 7 - Decodifica uma string hexadecimal em texto puro.

A melhor hora para usar isto é, após a sua aplicação ter sido atacada. O decodificador permite que você leia os dados que um hacker usou para “break” em seu site. A menos que você conhece ou sabe a seqüência de caracteres que é codificado, você pode ter que tentar várias decodificações antes de encontrar o sucesso que produz um texto simples.

HTTP REQUESTS

Clique na guia HTTP Requests, como mostrado na figura 8, para abrir a tela de HTTP Requests.

Figura 8 - Clique na guia HTTP Requests.

A ferramenta HTTP Requests requer algum conhecimento de como funciona o protocolo
HTTP, pois permite-lhe enviar um cabeçalho HTTP raw, diretamente para um site ou aplicação web. A partir desta ferramenta, você também pode iniciar um AutoAttack contra o seu site. Esta é uma das ferramentas mais avançadas na caixa de ferramentas, então você provavelmente não vai precisar usá-lo para testes básicos. Se você entrar em um teste mais avançado de exploração, clique no botão Ajuda na parte superior da tela para uma explicação mais aprofundada de como esta ferramenta foi projetada, para fazer e como usá-lo.

HTTP RESPONSES

Clique na guia HTTP Responses, como mostrado na figura 9, para abrir a tela de HTTP Responses.

Figura 9 - Clique na guia HTTP Responses.

Esta ferramenta mostra os cabeçalhos HTTP devolvido pelo seu site e permite que você
visualize os scripts, formulários ou cookies disponíveis na página. A vantagem de utilizar esta ferramenta para analisar o seu site é que essas informações, são as que os crackers estão procurando quando elaborar um ataque contra uma aplicação. Se os crackers estão olhando para esta informação, você também precisa saber o que eles estão vendo. Isso também é útil para testar a segurança do servidor. Como você pode ver no topo da janela na Figura 10, a assinatura do servidor simplesmente diz "Apache", sem informações de versão ou informações sobre PHP ou outros módulos que podem estar em execução. Para utilizar esta ferramenta, digite o endereço do seu site e clique no botão Reload URL.

Figura 10 - Verifique se a segurança do seu servidor está funcionando corretamente.

Isto diz-nos que a diretiva ServerTokens definida no arquivo httpd.conf está funcionando corretamente. Compare isto com a assinatura de servidor de um site inseguro, como mostrado na figura 11.

Figura 11 - Assinatura de servidor de um site inseguro.

SCRATCH PAD

A guia Scratch Pad simplesmente leva você a uma página em branco onde você pode fazer
anotações sobre o que você encontrar usando as ferramentas e escrever lembretes para si mesmo, como mostrado na figura 12.

Figura 12 - A ferramenta Scratch Pad.

CHEAT SHEETS

Clique na aba Cheat Sheets, como mostrado na figura 13.

Figura 13 - Clique na guia Cheat Sheets.

Isso traz uma variedade de cheat sheets em várias linguagens e ferramentas que você pode precisar de um desenvolvedor do aplicativo da Web, como mostrado na figura 14.

Se você precisa usar uma das variáveis predefinidas do PHP, mas não consegue lembrar o nome exato, a cheat sheet para PHP trás para a tela.

Figura 14 - Uma das Cheats Sheets incluídas no CAL9000.

MISC TOOLS

Clique na aba Misc Tools, como mostrado na Figura 15.

Figura 15 - Clique na guia Misc Tools.

Isso traz algumas ferramentas que simplesmente não se encaixam em nenhum outro lugar. O Codificador IP e ferramentas String Generator são bastante auto-explicativas. A busca Scroogle, mostrado no lado direito da tela na Figura 16, é um front-end para o motor de busca do Google.

O Scroogle Search tira das ferramenta todas as informações agregadas que o Google acha antes de enviar sua solicitação de pesquisa para o motor de busca.

Figura 16 - A ferramenta de busca Scroogle.

CHECKLIST

Clique na guia Checklist, como mostrado na Figura 17, para abrir a ferramenta Checklist.

Figura 17 - Clique na guia Checklist.

Há duas seções principais para a ferramenta Checklist. A metade superior da tela dá-lhe uma lista de coisas importantes para testar, com sugestões e maneiras de teste para cada item e um exemplo ou medidas concretas para realizar o teste. A metade inferior da tela dá-lhe uma área de bloco de notas onde você pode fazer anotações sobre os resultados de seus testes, como mostrado na figura 18.

Figura 18 - A ferramenta de teste Checklist.

Esta é uma das áreas mais útil na ferramenta CAL9000 porque ajuda a garantir que você não esqueça de todas as áreas de vulnerabilidade em potencial encontradas.

AUTOATTACK

Figura 19 - Clique na guia AutoAttack.

A ferramenta AutoAttack é usada em conjunto com a ferramenta HTTP Requests, para formular ataques personalizados contra seu aplicativo. Este é um recurso avançado que, embora útil, não é crítico para a realização de testes básicos de segurança.

Figura 20 - Utilizando SQL Injection.


Para maiores informações:

OWASP CAL9000 Project
http://www.owasp.org/index.php/Category:OWASP_CAL9000_Project

Securing PHP Web Applications
http://www.informit.com/store/product.aspx?isbn=0321534344

Web Application Security com CAL9000
http://www.vivaolinux.com.br/dica/Web-Application-Security-com-CAL9000

Obs.: Se não sabe o significado e a filosofia Hacker, leia o artigo "Uma breve descrição do termo "Hacker"", escrita por Julio Cesar Campos, usuário do VivaoLinux.
http://www.vivaolinux.com.br/artigo/Uma-breve-descricao-do-termo-Hacker



Roberto S. Soares (espreto)
robertoespreto@gmail.com
espreto@backtrack.com.br
Skype: robertoespreto
http://codesec.blogspot.com

"Eles se baseiam na matéria, e aqui ela não existe!"

0 comentários:

Postar um comentário

To get the latest update of me and my works

>> <<