O documento apresenta a ferramenta OWASP Zed Attack Proxy (ZAP), que é um proxy gratuito e de código aberto para testes de segurança de aplicações web. O ZAP fornece funcionalidades como varredura de vulnerabilidades, rastreamento de sessões e autenticação, fuzzing e força bruta para ajudar a encontrar problemas de segurança. O documento também discute como configurar e usar o ZAP para testes de segurança simples e automatizados.
OWASP ZAP: Detecte Vulnerabilidades com a Ferramenta de Pentest Gratuita e Open Source
1. OWASP ZAP
Zed Attack Proxy Project
Detectando Vulnerabilidades
em sua Aplicação Web
jeronimo.zucco@owasp.org
@jczucco
2. Sobre mim
• Analista GTI/UCS
• Twitter: @jczucco
• http://www.linkedin.com/in/jeronimozucco
• Membro OWASP Capítulo Porto Alegre
• http://www.owasp.org/index.php/User:Jeronimo_Zucco
• Algumas certificações na área de segurança
2
3. 3
OWASP
Open Web Application
Security Project
Uma comunidade aberta
dedicada a ajudar as
organizações a desenvolver,
comprar e manter aplicações que
possam ser confiáveis.
4. OWASP
4
• Promover o desenvolvimento seguro
• Auxiliar a tomada de decisão quanto ao
risco
• Oferecer recursos gratuitos
• Promover a contribuição e
compartilhamento de informação
7. Problemas
• A maioria dos desenvolvedores não conhece
sobre segurança
• A maior parte das empresas não possui pessoas
especializadas em segurança
• Testes terceirizados custam caro
• Testes de segurança são feitos somente no
final do ciclo de desenvolvimento (se for feito)
7
Fonte: https://www.acunetix.com/blog/news/nearly-all-websites-have-serious-security-vulnerabilities-new-research-shows/
8. 8
"Você não pode criar
aplicações web seguras a
não ser que saiba como
elas serão atacadas."
12. OWASP Zed Attack Proxy Project
• https://www.owasp.org/index.php/
OWASP_Zed_Attack_Proxy_Project
• Simon Bennetts - Engenheiro de Segurança da
Mozilla
• Vários desenvolvedores e tradutores no github:
https://github.com/zaproxy/zaproxy/
• Ferramenta de pentest de fácil uso que visa
identificar vulnerabilidades em aplicações web.
• Uma das principais ferramentas da OWASP
• free e opensource
12
Fonte: AppSec EU15 - Jim Manico
13. OWASP Zed Attack Proxy Project
• Baseado no Paros Proxy (fork em set/2010)
• Ideal para principiantes, mas também
utilizado por profissionais de segurança
• Ideal para desenvolvedores, especialmente
em testes automatizados de segurança
• versão atual: 2.7.0
• framework para testes avançados
• scanners automatizados
13
Fonte: AppSec EU15 - Jim Manico
15. Princípios ZAP
• Código aberto, livre
• Funciona em múltiplas plataformas (java)
• Fácil de instalar e usar
• Internacionalizado (traduzido em vários
idiomas, pt-br inclusive)
• Muita documentação
• Componentes reutilizáveis
• Envolvimento encorajado
15
16. Principais Características
• Traz todo o essencial para testes de aplicações web
• Proxy
• Scanners passivos e ativos
• Spider (crawl)
• Suporte à escopo e múltiplos sites
• Trata sessões e autenticação
• gerador de relatórios
• Ataques de força bruta
• Ataques de fuzzing
• Extensível (add-ons plugins) https://github.com/
zaproxy/zap-extensions
• Altamente configurável e "escriptável"
16
17. Características Adicionais
• Auto update
• Auto tagging (ex: coloca um label em todas as páginas
encontradas que possuem um campos ocultos)
• Scanner de portas
• Análises de parâmetros
• Comparação de sessões (se a app suporte múltiplos
papéis (roles), como: admin, usuário, etc)
• Suporte a aplicações externas
• Certificados SSL dinâmicos
• Suporte à tokens CSRF
• Testes automatizados sem UI (interface de usuário)
17
18. Características Adicionais
• REST API
• Container: https://github.com/zaproxy/zaproxy/
wiki/Docker
• Baseline Scan https://github.com/zaproxy/zaproxy/
wiki/ZAP-Baseline-Scan
• Ex: docker run -t owasp/zap2docker-weekly zap-
baseline.py -t https://www.example.com
• Plug-n-Hack: Extensão browser
• Suporte à scripts em várias linguagens (Javascript,
Ruby, Python, Zest) https://github.com/zaproxy/
community-scripts
• Plugins alfa
18
19. Modo Quick Start
• Aponte e clique
• Spider
• Varredura ativa
• Para testes mais profundos, modo proxy,
fuzzing, força bruta, configuração,
escopo, etc
19
20. Pentest Simples
• Configurar o browser para utilizar o ZAP como
proxy para interceptar
• Navegar na aplicação manualmente
• Utilizar o spider para encontrar conteúdos ocultos
• Verificar os problemas encontrados pelo scan
passivo
• Usar o scan ativo para encontrar vulnerabilidades
• OBS: muitos problemas não serão encontrados
com scan automatizados, utilizar o ZAP para lhe
auxiliar em testes manuais mais avançados
•
20