OWASP ZAP
Zed Attack Proxy Project
Detectando Vulnerabilidades
em sua Aplicação Web 
jeronimo.zucco@owasp.org
@jczucco
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
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.
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
5
5
https://www.owasp.org/index.php/Porto_Alegre
6
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
"Você não pode criar
aplicações web seguras a
não ser que saiba como
elas serão atacadas."
9
10
11
OWASP Zed Attack Proxy Project
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
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
IMPORTANTE
14
Use somente em suas aplicações
ou naquelas que você tiver
permissão para testar
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
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
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
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
Modo Quick Start
• Aponte e clique
• Spider
• Varredura ativa
• Para testes mais profundos, modo proxy,
fuzzing, força bruta, configuração,
escopo, etc
19
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
Testes Automatizados
• ZAP Baseline Scan https://github.com/zaproxy/
zaproxy/wiki/ZAP-Baseline-Scan
• Plugin Jenkins https://plugins.jenkins.io/zap
• Scripts: https://github.com/zaproxy/
community-scripts
• ZAP SDLC scripts: https://github.com/zaproxy/
community-scripts/tree/master/api/sdlc-
integration
• Suporte à Zest scripts https://github.com/
mozilla/zest/wiki
21
VMs para aprendizado
• Samurai Web Testing Framework
http://www.samurai-wtf.org
• OWASP Broken Web Applications Project
https://www.owasp.org/index.php/
OWASP_Broken_Web_Applications_Project
22
DEMONSTRAÇÃO
24
Referências
Outras Referências
• BSSIM (Building Security in Maturity Model)
• OWASP ASVS (OWASP Application Security
Verification Standard (ASVS) Project)
• OWASP Testing Guide
• IEEE Top 10 Software Security Design Flaws
• OWASP Testing Guide
25
Referências - ZAP
• https://www.owasp.org/index.php/ZAP
• OWASP ZAP Tutorial Videos: https://
www.youtube.com/playlist?list=PLEBitBW-
Hlsv8cEIUntAO8st2UGhmrjUB
• https://twitter.com/zaproxybot
• https://github.com/zaproxy/zap-core-help-
pt_BR/wiki/HelpIntro
• Getting Started Guide: https://github.com/
zaproxy/zaproxy/releases/download/2.6.0/
ZAPGettingStartedGuide-2.6.pdf
• https://www.slideshare.net/psiinon
26
PERGUNTAS?
OBRIGADO!
JERONIMO.ZUCO@OWASP.ORG
@JCZUCCO

Owasp ZAP - Jeronimo Zucco - Tchelinux Caxias 2018

  • 1.
    OWASP ZAP Zed AttackProxy Project Detectando Vulnerabilidades em sua Aplicação Web  jeronimo.zucco@owasp.org @jczucco
  • 2.
    Sobre mim • AnalistaGTI/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 SecurityProject 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 odesenvolvimento seguro • Auxiliar a tomada de decisão quanto ao risco • Oferecer recursos gratuitos • Promover a contribuição e compartilhamento de informação
  • 5.
  • 6.
  • 7.
    Problemas • A maioriados 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 podecriar aplicações web seguras a não ser que saiba como elas serão atacadas."
  • 9.
  • 10.
  • 11.
    11 OWASP Zed AttackProxy Project
  • 12.
    OWASP Zed AttackProxy 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 AttackProxy 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
  • 14.
    IMPORTANTE 14 Use somente emsuas aplicações ou naquelas que você tiver permissão para testar
  • 15.
    Princípios ZAP • Códigoaberto, 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 • Traztodo 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 • Autoupdate • 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 • RESTAPI • 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 • Configuraro 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
  • 21.
    Testes Automatizados • ZAPBaseline Scan https://github.com/zaproxy/ zaproxy/wiki/ZAP-Baseline-Scan • Plugin Jenkins https://plugins.jenkins.io/zap • Scripts: https://github.com/zaproxy/ community-scripts • ZAP SDLC scripts: https://github.com/zaproxy/ community-scripts/tree/master/api/sdlc- integration • Suporte à Zest scripts https://github.com/ mozilla/zest/wiki 21
  • 22.
    VMs para aprendizado •Samurai Web Testing Framework http://www.samurai-wtf.org • OWASP Broken Web Applications Project https://www.owasp.org/index.php/ OWASP_Broken_Web_Applications_Project 22
  • 23.
  • 24.
  • 25.
    Outras Referências • BSSIM(Building Security in Maturity Model) • OWASP ASVS (OWASP Application Security Verification Standard (ASVS) Project) • OWASP Testing Guide • IEEE Top 10 Software Security Design Flaws • OWASP Testing Guide 25
  • 26.
    Referências - ZAP •https://www.owasp.org/index.php/ZAP • OWASP ZAP Tutorial Videos: https:// www.youtube.com/playlist?list=PLEBitBW- Hlsv8cEIUntAO8st2UGhmrjUB • https://twitter.com/zaproxybot • https://github.com/zaproxy/zap-core-help- pt_BR/wiki/HelpIntro • Getting Started Guide: https://github.com/ zaproxy/zaproxy/releases/download/2.6.0/ ZAPGettingStartedGuide-2.6.pdf • https://www.slideshare.net/psiinon 26
  • 27.
  • 28.