w3af Framework de Scanning e Auditoria de Vulnerabilidades em Aplicações Web
O w3af é um uma ferramenta de auditoria de vulnerabilidades em aplicações Web que visa realizar vários testes automatizados e parametrizados diretamente no Framework de acordo com a necessidade. A ferramenta é escrita em Python e tem seu código inteiramente publicado no GitHub. Eu gostei muito da tool por ser intuitiva, e me proporcionar um teste de cabo a rabo dos meus projetos pessoais e dos trabalhos freelance (Sim, eu testo a segurança do Freelance). Normalmente em meus testes utilizo o Uniscan e o Arachni para esse tipo de análise, mas quis experimentar algo diferente dessa vez e resolvi dar oportunidade pra ferramenta e acabei gostando pra caramba.
Site do projeto:
http://w3af.org/
Download do Projeto via Git
Instalando as Dependências
Vamos instalar as dependências do projeto utilizando a ferramenta Pip:
# sudo pip install pyClamd==0.3.15 PyGithub==1.21.0 GitPython==0.3.2.RC1 pybloomfiltermmap==0.3.14 nltk==3.0.1 chardet==2.1.1 tblib==0.2.0 futures==2.1.5 pyOpenSSL==0.15.1 ndg-httpsclient==0.3.3 pyasn1==0.1.8 lxml==3.4.4 scapy-real==2.2.0-dev guess-language==0.2 cluster==1.1.1b3 msgpack-python==0.4.4 python-ntlm==1.0.1 Jinja2==2.7.3 markdown==2.6.1 psutil==2.2.1 mitmproxy==0.13 ruamel.ordereddict==0.4.8 xdot==0.6
Clonando o Projeto
O projeto está aberto no Github pra todo mundo. Para fazer o Download, basta clonar o projeto e executar o script w3af_gui para abrir a interface gráfica do Framework ou o w3af_console para abrir o sistema via cli
# git clone --depth 1 https://github.com/andresriancho/w3af.git # cd w3af # ./w3af_gui # Interface Gráfica # ./w3af_console #Cli
Troubleshoot: libxml-dev
Talvez ocorram alguns problemas ao instalar bibliotecas do pip por conta do xmllib. Então, caso ocorra, instale os pacotes abaixo:
# sudo apt-get install libxml2-dev libxslt1-dev

Parametrizando e Rodando um Scan no w3af
O w3af possui muitos modulos de testes de vulnerabilidades específicas, porém existem muitos patterns de teste já pré parametrizados dentro do framework, como:
- OWASP Top 10 — Referente a um scan focado no Top 10 Vulns mantido pela Owasp
- Audit High Risk — Referente a Scans de vulnerabilidades mais perigosas
- Bruteforce — Testes automatizados de Brute Force nas dependências do site
- Fast Scan — Scan rápido de reconhecimento
- Full Audit — Scan completo, com quase todos os módulos habilitados
- Full Audit Spider — Scan completo, porém adicionando spiders no site
- Sitemap — Executa somente um mapeamento das paginas e links do site
- Web Infraestructure — Audita a infraestrutura do servidor
Após selecionar os módulos que você quer usar no ataque, você pode referenciar o alvo no campo "Target" do GUI.
E aplicar e iniciar a varredura. Na aba Logs, ficaram sendo mostrados em tempo real os testes e as vulnerabilidades encontradas dentro do site.
Na Aba Results, serão mostradas as vulnerabilidades e informações relevantes encontradas durante os testes dos módulos
pré-selecionados por você, junto com os parâmetros usados e referências criadas para o mesmo.
Normalmente com detalhes dos requests que o software gerou para detectar a vulnerabilidade.
Espero ter ajudado :)