Webfight – Automatizando a análise passiva de aplicações web

Deixe um comentário e acompanhe a discussão assinando a feed deste ou de todos os posts e comentários.

Conforme prometido, acabo de publicar os fontes da ferramenta que eu lancei na OWASP AppSec Latam deste ano. A ferramenta chamada WebFight é Open Source e pretendo ir incrementando e lançando novas atualizações de acordo com a minha necessidade e claro, espero a contribuição da comunidade.

A idéia

A WebFight nasceu da minha necessidade de lidar com um número grande de informações que uma aplicação web pode gerar. Como eu quero continuar analisando os detalhes de cada requisição e não adotar um web security scanner, decidi criar uma ferramenta que automatizasse a análise de um log de proxy. Assim eu continuo analisando os detalhes manualmente, mas ganhando muito tempo na análise do log.

A ferramenta

A idéia foi fazer um parser do log do Burp e a partir deste parser criar módulos para realizar as análises. A estrutura da ferramenta é resumida no fluxo a seguir:

A ferramenta é facilmente estendida criando módulos e as seguintes análises já estão implementadas:

  • Apresenta todas as requisições e seus parâmetros para que sejam realizados testes fuzzing e de validação de dados
  • Apresenta todos os status codes, possibilitando identificar erros 500; Redirects 30x; Conteúdo estático 0
  • Apresenta as requisições fora do escopo da análise para identificar integrações, ou requests a outros domínios
  • Realiza um fingerprint a partir da análise de headers e informações da aplicação
  • Apresenta todos os cookies de sessão e a existência de cookies de sessão passados como parâmetro em requisições GET
  • Cria PoC em arquivos html de todas as requisições com parâmetros para que seja testado CSRF
  • Faz grep e identifica objetos DOM (password; hidden; file upload; iframe; etc...)
  • Apresenta todos os comentários em client-side (HTML e javascript)
  • Identifica arquivos javascript e javascripts no corpo da página apresentando o conteúdo com syntaxhighlight e realiza análise sintática no javascript apresentando Sink e Sources potencialmente perigosos
  • Identifica arquivos swf; realiza download; desassembla o swf e faz grep buscando características potencialmente vulneráveis em flash
  • Apresenta todas as respostas em JSON
  • Apresenta todos as diretivas de cache nos headers Pragma e Cache-Control
  • Apresenta as diretivas de segurança de headers CSP; HSTS e X-Frame-Options
  • Apresenta o base64 do header authorization (autenticação básica de HTTP)

A Interface

A interface também facilita bastante a análise por classificar as análises e possibilita que se pesquise e filtre os registros apresentados.

Demo

 

Aguardo feedback e requisição de outras análises. Faça um clone do Git na página do Projeto e participe da lista de discussão.

Conheça outros posts