Scanner de segurança SKIPFISH do Google para sites

Descrevo algumas das muitas práticas ofensivas na web e o mais novo software open source para detectar falhas em sites, tanto na programação e outras ameaças mais comuns da rede. Fornecido e patrocinado pelo gigante Google.

[ Hits: 27.802 ]

Por: Paulo Roberto Junior - WoLF em 14/04/2010


Introdução



Breve texto sobre ameaças na internet e sites.

O gráfico abaixo foi gerado pela Symantec, portanto fica aqui todo o crédito.

Percebemos que o volume de ataques a sites da web foi multiplicado no decorrer dos anos e esse valor só é incrementado.
Linux: Scanner de Segurança SKIPFISH do Google para sites
Fonte: Symantec Corporation
Alguns tipos de ataques mais comuns em sites:

Aos aficionados por segurança, não se acanhem, insiram mais tipos de ataques, eu somente mencionarei alguns, é claro que são dezenas, mas não é o ponto principal do artigo.

Cross-site scripting (XSS)

Encontrado normalmente em aplicações web que ativam ataques maliciosos ao injetarem script dentro das páginas web vistas por outros usuários, pode ser usado pelo individuo para escapar aos controles de acesso que usam a mesma política de origem.

Um bom artigo para mais informações é o do Luiz Vieira, caso queiram mais detalhes:

Eavesdropping

Em conexões não encriptadas, ou encriptadas usando algoritmos fracos, é possível que um atacante consiga capturar os dados transmitidos através da rede caso tenha acesso à mídia de transmissão (possa plugar um cabo no hub da rede, ou esteja dentro da área de alcance da rede wireless, por exemplo). Com isso, é possível obter senhas, conteúdo de mensagens enviadas e outras informações confidenciais, que podem ser usadas mais tarde para propósitos diversos.

Exploits

Este é um termo genérico para descrever pequenos utilitários ou exemplos de código que podem ser usados para explorar vulnerabilidades específicas. Podendo ser utilizado de forma simples ou composta em vírus, cavalos de tróia, ferramentas de detecção de vulnerabilidades e outros tipos de programas.

Utilitários de detecção de vulnerabilidades como o Nessus, por exemplo, incorporam um grande número de exploits para brechas conhecidas. Durante o teste, ele verifica se o serviço ou programa vulnerável está ativo e, caso esteja, simula um ataque contra ele, usando o exploit correspondente. Com isso, é possível verificar se a versão utilizada é vulnerável a ele.

Trojans

Embora os trojans sejam mais comuns no Windows, existem também trojans para Linux e outros sistemas. No caso do Linux, o tipo mais perigoso são os rootkits, softwares que exploram um conjunto de vulnerabilidades conhecidas para tentar obter privilégios de root na máquina afetada.

Phishing

Diferente dos ataques baseados na exploração de brechas de segurança, os ataques de phishing utilizam engenharia social para tentar levar o usuário a revelar informações confidenciais, tais como senhas de banco, números de cartão de crédito, ou mesmo transferir fundos diretamente.

Novamente o Google!

Skipfish do Google

Uma breve descrição, preferi manter do próprio site do criador, está em inglês no seu formato original, mas pra vocês está em português:

Skipfish é uma web ferramenta de reconhecimento de segurança. Ela prepara um mapa do site através de uma pesquisa recursiva e de consultas a dicionário baseado em testes.

O relatório final gerado pela ferramenta é utilizado para servir como base para o profissional web avaliar a segurança dos aplicativos, de acordo com a documentação do scanner.

No entanto o scanner Skipfish não pretende ser um substituto de scanners comerciais.

O Google diz que o scanner não satisfaz muitos dos critérios de avaliação definidos pela Web Application Security Consortium for Scanners.

Pode ser comparado a ferramentas conhecidas como Nmap e Nessus.

Com a promessa de ser rápido no gatilho, o software foi escrito em C. Segundo o autor, ele pode processar cerca de 2.000 requisições HTTP por segundo. Há relatos de (melhor dizendo tarados) que conseguiram marcas de 6, 7, 8 mil requisições por segundo, haja processamento.

Ele pode identificar diversas brechas, incluindo vulnerabilidades para ataques cross-site scripting (XSS), SQL e XML injection, entre outros.

O relatório gerado pode ser analisado sem muita dificuldade para quem entende um pouco da área.

Ele deve rodar em Linux, FreeBSD, Mac OS X e Windows (por meio do Cygwin), e está hospedado no Google Code:
Download: http://code.google.com/p/skipfish/downloads/list

Habilidades:
  • Alta performance: Escrito em puro C, altamente otimizado para o HTTP, usando o mínimo de CPU, consegue facilmente atingir 2000 requisições por segundo.
  • Fácil de utilizar: suporta uma variedade de frameworks web.
  • Alta qualidade: baixo índice de falsos positivos, controles de segurança diferenciais, capaz de detectar uma série de falhas sutis, incluindo vetores de injeção (blind injection vectors).
  • Funciona em diversas plataformas, tais como: Linux, FreeBSD 7.0+, MacOS X, e Windows (Cygwin).

Ele se baseia nos seus testes e relatórios em 3 níveis básicos. Não irei traduzir cada um dos tipos de testes e ataques, pois os termos são de origem americana, e portanto fica até mais fácil pesquisar posteriormente tudo sobre a técnica ou tecnologia.

Risco alto:
  • Server-side SQL injection (including blind vectors, numerical parameters).
  • Explicit SQL-like syntax in GET or POST parameters.
  • Server-side shell command injection (including blind vectors).
  • Server-side XML / XPath injection (including blind vectors).
  • Format string vulnerabilities.
  • Integer overflow vulnerabilities.
  • Locations accepting HTTP PUT.

Risco médio:
  • Stored and reflected XSS vectors in document body (minimal JS XSS support present).
  • Stored and reflected XSS vectors via HTTP redirects.
  • Stored and reflected XSS vectors via HTTP header splitting.
  • Directory traversal (including constrained vectors).
  • Assorted file POIs (server-side sources, configs, etc).
  • Attacker-supplied script and CSS inclusion vectors (stored and reflected).
  • External untrusted script and CSS inclusion vectors.
  • Mixed content problems on script and CSS resources (optional).
  • Incorrect or missing MIME types on renderables.
  • Generic MIME types on renderables.
  • Incorrect or missing charsets on renderables.
  • Conflicting MIME / charset info on renderables.
  • Bad caching directives on cookie setting responses.

Risco baixo:
  • Directory listing bypass vectors.
  • Redirection to attacker-supplied URLs (stored and reflected).
  • Attacker-supplied embedded content (stored and reflected).
  • External untrusted embedded content.
  • Mixed content on non-scriptable subresources (optional).
  • HTTP credentials in URLs.
  • Expired or not-yet-valid SSL certificates.
  • HTML forms with no XSRF protection.
  • Self-signed SSL certificates.
  • SSL certificate host name mismatches.
  • Bad caching directives on less sensitive content.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Instalando e usando o Skipfish do Google
Outros artigos deste autor

OpenGoo - Seu escritório nas nuvens Online-Ontime-Fulltime

Webmail Roundcubemail em PHP4/PHP5 com skins, LDAP e extras

Servidor de monitoramento Nagios

Twitter Clone - Floopo - Mais um Micro blogging open source

QRCODE - Código de barras bidimensional

Leitura recomendada

Centralizando logs com Promtail + Loki + Grafana

Reconstruindo um pacote RPM

IRPF 2005 no Linux

Criando service menus para o Konqueror

Otimizando o controle e a digitação de comandos no shell

  
Comentários
[1] Comentário enviado por mbfagundes em 14/04/2010 - 08:09h

Otima descrição do serviço. Parabens

[2] Comentário enviado por luizvieira em 14/04/2010 - 09:31h

Muito artigo Paulo!
Eu não conhecia essa ferramenta.
E valeu pelo artigo citado :-)
[ ]'s

[3] Comentário enviado por valterrezendeeng em 14/04/2010 - 09:50h

Bom Artigo e Otimo assunto

Segurança é sempre muito importate.

[4] Comentário enviado por grandmaster em 03/05/2010 - 17:33h

Não conhecia a ferramente, alguém ja chegou a usar?

--
Renato de Castro Henriques
ITILv3 Foundation Certified
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[5] Comentário enviado por Staypuff em 10/05/2010 - 13:44h

Não conhecia a ferramenta, segurança nunca é demais.

[6] Comentário enviado por djoni filho em 28/08/2012 - 13:04h

Excelentes dicas. Quem teve problemas relacionados à instalação do libssl-dev, parecido com esse:

"libssl-dev: Depends: libssl0.9.8 (= 0.9.8k-7ubuntu8.6) but 0.9.8k-7ubuntu8.8 is to be installed"

É só abrir o arquivo sources.list, que encontra-se em /etc/apt, e adicionar a seguinte linha ao documento:

deb http://security.ubuntu.com/ubuntu lucid-security main

Depois é só ir no terminal, digitar apt-get update, e tentar instalar o libssl-dev novamente. (Fonte www.backtrack-linux.org)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts