OWASP WTE: Testing your way

Agile Austin 2011 The OWASP Foundation http://www.owasp.org OWASP WTE: Testing your way. Matt Tesauro OWASP Foundation Board Member, WTE Project Lea...
Author: John Mills
4 downloads 1 Views 2MB Size
Agile Austin 2011

The OWASP Foundation http://www.owasp.org

OWASP WTE: Testing your way. Matt Tesauro OWASP Foundation Board Member, WTE Project Lead [email protected] Vice President, Services for Praetorian [email protected] James Wickett [email protected]

Who's this Matt guy anyway? Broad IT background Developer, DBA, Sys Admin, Pen Tester, Application Security professional, CISSP, CEH, RHCE, Linux+

Long history with Linux and Open Source Contributor to many projects Leader of OWASP Live CD / WTE

OWASP Foundation Board Member VP, Services for Praetorian 2

OWASP WTE: A History

At all started that summer...

4

•Current Release •OWASP WTE Feb 2011 •Previous Releases •OWASP WTE Beta Jan 2010 •AppSecEU May 2009 •AustinTerrier Feb 2009 •Portugal Release Dec 2008 •SoC Release Sept 2008 •Beta1 and Beta2 releases during the SoC Note: Not all of these had ISO, VirtualBox and Vmware versions 5

Overall downloads: 330,081 (as of 2009-10-05)

Other fun facts ~5,094 GB of bandwidth since launch (Jul 2008) Most downloads in 1 month = 81,607 (Mar 2009)

6

There's a new kid in town OWASP WTE Web Testing Environment

7

The project has grown to more than just a Live CD VMWare installs/appliances VirtualBox installs USB Installs Training Environment .... Add in the transition to Ubuntu and the possibilities are endless (plus the 26,000+ packages in the Ubuntu repos) 8

GOAL Make application security tools and documentation easily available and easy to use Compliment's OWASP goal to make application security visible

Design goals Easy for users to keep updated Easy for project lead to keep updated Easy to produce releases (more on this later) Focused on just application security – not general pen testing 9

What's on WTE

11

12

26 “Significant” Tools Available OWASP Tools: Web Scarab a tool for performing all types of security testing on web apps and web services

Web Goat an online training environment for hands-on learning about app sec

CAL9000 a collection of web app sec testing tools especially encoding/decoding

JBroFuzz a web application fuzzer for requests being made over HTTP and/or HTTPS.

EnDe An amazing collection of encoding and decoding tools as well as many other utilities

WSFuzzer a fuzzer with HTTP based SOAP services as its main target

Wapiti audits the security of web apps by performing "black-box" scans

DirBuster a multi threaded Java app to brute force directory and file names

WebSlayer A tool designed for brute-forcing web applications such as resource discovery, GET and POST fuzzing, etc

ZAP Proxy A fork of the popular but moribund Paros Proxy

13

Other Proxies: Burp Suite

Paros

Spike Proxy

Scanners:

SQL-i:

Others:

w3af

sqlmap

Grendel Scan

SQL Brute

Nikto

Metasploit

Httprint

Maltego CE

Duh: Rat Proxy

nmap

Zenmap

Firefox

netcat

Wireshark

Fierce Domain Scanner tcpdump

14

Why is it different?

16

17

18

OWASP Documents Testing Guide v2 & v3 CLASP and OpenSamm Top 10 for 2010 Top 10 for Java Enterprise Edition AppSec FAQ Books – tried to get all of them CLASP, Top 10 2010, Top 10 + Testing + Legal, WebGoat and Web Scarab, Guide 2.0, Code Review Others WASC Threat Classification, OSTTMM 3.0 & 2.2 19

20

21

22

23

24

What is next?

26

Among the new ides for WTE are Live CDs & Live DVDs Virtual installs/appliances A package repository Can add 1+ tool to any Debian based Linux # apt-get install owasp-wte-* Custom remixes of any of the above Targeted installs WebGoat Developer Version Wubi USB and Kiosk version 27

Builder vs Breaker

Builder is where the ROI is

But darn it, breaking is really fun. Builder tools coming in future releases. (Thanks Top Gear!) 28

Goals going forward Showcase great OWASP projects Provide the best, freely distributable application security tools/documents in an easy to use package Ensure that tools provided are easy to use as possible 29

Goals going forward Continue to document how to use the tools and how the modules were created Align the tools with the OWASP Testing Guide v3 to provide maximum coverage Add more developer and QA focused tools

30

How can you get involved? Join the mail list Announcements are there – low traffic Post on the AppSecLive.org forums Download an ISO or VM Complain or praise, suggest improvements Submit a bug to the Google Code site Create deb package of a tool How I create the debs will be documented, command by command and I'll answer questions gladly Suggest missing docs or links Do a screencast of one of the tools being used on the OWASP WTE 31

Learn More...

OWASP Site http://www.owasp.org/index.php/Category:OWASP_Live_CD_Project or just look on the OWASP project page (release quality)

http://www.owasp.org/index.php/Category:OWASP_Project

or Google “OWASP Live CD”

Download & Community Site http://AppSecLive.org Previously: http://mtesauro.com/livecd/

32

Getting Agile with WTE

Two Keys to Agile Testing Targeted Testing Automation

34

Targeted Testing Match security testing to sprints – Sprint story features vs Security testing categories OWASP Testing Guide v3 outlines – 9 categories, 66 controls – 349 pages 35

Targeted Testing Costs of targeting testing – Someone to “diff” features vs controls – Someone to test the relevant areas Benefits – Only testing relevant areas – Testing scope/time is reduced 36

Targeted Testing Security Sprints + Common Controls – Set aside a sprint or two – Focus on security stories Create a common/shared security library – OWASP's ESAPI – Both an API reference and implementations 37

Targeted Testing Security Sprints + Common Controls – Set aside a sprint or two – Focus on security stories Create a common/shared security library – OWASP's ESAPI – Both an API reference and implementations 38

Targeted Testing Costs of security sprint + controls – 1+ sprints to implement controls – Rigorous initial testing of the controls Benefits – With common controls, testing is now ensuring controls are used, not their implementation – Testing scope/time is reduced – Testing may be automate-able 39

Automation Two primary types of security testing – Dynamic – testing running code – Static – testing source code

40

Automating Dynamic Testing Dynamic testing tools – Crawl an application • Get a list of URLs/pages – Inject potential attacks, gauge response Crawling pitfalls – AJAX / RIA – Flash / Flex Crawling work-around – Use a local proxy 41

Quick step back... If you run a local proxy server on the same machine as your browser, you can intercept and modify all HTTP and HTTPS traffic Server

Local Proxy

42

Automating Dynamic Testing Leverage existing “browser drivers” to also drive security tools – Automates generating a list of URLs for tools – Examples • Selenium (free FF add-on) • QTP (commercial) Record application “click through” – Replay “click through” for security tools – May already have functional tests to re-use 43

Automating Zap Setup Zap as your browser's proxy Use “click through” to explore the app Options – Passive only tests – Active Scanning Costs – Upfront creation of “click through” – Time to run “click through” and active scan 44

Automating w3af Option #1 Select pre-existing policy file – WebSpider discovery plugin Let w3af crawl and scan Costs – Upfront time to create scanning policy Pitfalls – Crawling issues, app coverage 45

Automating w3af Option #2 Setup w3af the browsers local proxy Select pre-existing policy file – SpiderMan discovery plugin Use a “click through” to provide URLs Costs – Upfront time to create scanning policy – Upfront time to create “click through” – Updates to the “click through” for new app areas 46

General Warning about Dynamic Testing  Need to have a browse-able application at end of Sprint.  If app is rapidly adding new areas (pages), “click through” will need to be maintained to ensure coverage.  Some dynamic scans can take a long time – 8+ hours for w3af with many plugins enabled • Tweak plugin selection • May have to be an end of sprint activity

47

Automating Static Testing  Few good free tools in this space – FindBugs, PMD, etc – Look at code quality tools also  Commercial tools – Source vs binary analysis – Local vs SAAS – IDE integration 48

Automating Static Testing  Tie static tools to specific events – Source code check-in – Nightly build processes – Continuous Integration  Watch out for – Long run time (parallel execution) – Manageable output 49

Automating Static Testing  Most commercial tools have (or will sell you) a “Mothership” – Allows for centralized reporting, trending, etc.  Integration with bug tracking systems – Spotty across vendors / projects  Reporting is weak in free tools, varies in commercial tools 50

A bit about OWASP

OWASP The Open Web Application Security Project (OWASP) is a 501c3 not-for-profit worldwide charitable organization focused on improving the security of application software. Our mission is to make application security visible, so that people and organizations can make informed decisions about true application security risks. Everyone is free to participate in OWASP and all of our materials are available under a free and open software license.

52

OWASP Meritocracy

53

Security Vulnerabilities

Change Control Source Code Mgmt Strategy & Metrics Policy & Compliance Education & Training Threat Assessment Security Requirements Secure Architecture Design Review Code Review Remediation Hardening ... 54

A Look at OWASP Projects

55

Projects to look into Secure Coding Practices – Quick Reference Guide Securing the Core JEE Patterns OWASP Phoenix Tools list OWASP AppSensor

OWASP Top 10 Cheat Sheets OWASP ESAPI WebGoat Zap Proxy OWASP Testing Guide 56

What have I missed?  Help me walk a mile in your shoes...  What is WTE missing?  Where are your pain points?  Where is OWASP missing the mark? 57

Why do I do this?

58

Questions?

59