+ All Categories
Home > Technology > Making pentesting sexy ossams - BSidesQuebec2013

Making pentesting sexy ossams - BSidesQuebec2013

Date post: 10-May-2015
Category:
Upload: bsidesquebec2013
View: 112 times
Download: 0 times
Share this document with a friend
Popular Tags:
42
Making PenTesting Analysis Sexy! OSSAMS Adrien de Beaupré Intru-Shun.ca Inc. SANS Internet Storm Center Handler BsidesQuebec, 01 June 2013 ©2013 Intru-Shun.ca Inc.
Transcript
Page 1: Making pentesting sexy ossams - BSidesQuebec2013

Making PenTesting Analysis Sexy!

OSSAMS

Adrien de Beaupré

Intru-Shun.ca Inc.

SANS Internet Storm Center Handler

BsidesQuebec, 01 June 2013

©2013 Intru-Shun.ca Inc.

Page 2: Making pentesting sexy ossams - BSidesQuebec2013

About me

• 32+, 22+, 12+ years

• Contributor to OSSTMM 3

• Contributor to Hacking Exposed, Linux 3rd Ed

• Contributor to SANS Incident Handling Guide

• Contributor to SANS 401 Security Essentials

• SANS Instructor 503, 504, 542, 560, 642, 660

• ZAP, Nikto, Watcher and other OS projects

01/0/2012 2©2013 Intru-Shun.ca Inc.

Page 3: Making pentesting sexy ossams - BSidesQuebec2013

Agenda

• Definitions

• Methodology

• Workflow

• Reporting

• Problems

• Solutions

• Demo

• Conclusion

3©2013 Intru-Shun.ca Inc.

Page 4: Making pentesting sexy ossams - BSidesQuebec2013

Definitions

• Vulnerability - flaw or weakness in a system

that can be exploited.

• Security audit - assess the adequacy of

controls and evaluate compliance.

• Vulnerability assessment - description and

analysis of vulnerabilities in a system.

• Penetration testing - circumvent the security

features of a system.

4©2013 Intru-Shun.ca Inc.

Page 5: Making pentesting sexy ossams - BSidesQuebec2013

Penetration Testing

• Requires methodology AND creativity.

• Requires performing a vulnerability

assessment correctly first.

• Finding alternate means to access

functionality or data.

• Finding alternate functionality.

• Should be goal oriented.

• There is no such thing as cheating in a pentest.

5©2013 Intru-Shun.ca Inc.

Page 6: Making pentesting sexy ossams - BSidesQuebec2013

Testing

• Every test consists of a stimulus and response,

and monitoring to verify the response, or lack

thereof.

• Testing consists of modules.

• Each module has an input and an output.

• You must monitor closely for responses.

• Testing must be appropriate to the target.

• Testing is of limited value if nothing is fixed.

6©2013 Intru-Shun.ca Inc.

Page 7: Making pentesting sexy ossams - BSidesQuebec2013

Methodology

• Logistics and Planning

• Open Source Information Gathering

• Reconnaissance

• Identification / Enumeration

• Research

• Vulnerability Identification

• Validation / Exploitation

• Reporting

7©2013 Intru-Shun.ca Inc.

Page 8: Making pentesting sexy ossams - BSidesQuebec2013

Open Source Info

• Purpose: gathering information on the target

organization, typically from the Internet.

• Inputs: organization name, URL, IP addresses

or ranges, industry or organization type.

• Outputs: URLs, IP addresses or ranges, email

addresses, ‘buzz’, technologies used, resumes,

names, host names…

• Data types: text, graphics, statistics…

8©2013 Intru-Shun.ca Inc.

Page 9: Making pentesting sexy ossams - BSidesQuebec2013

Reconnaissance

• Purpose: determine which systems are live

and map the network/technology.

• Inputs: URLs, IP addresses or ranges.

• Outputs: Whois, DNS, IP addresses or host

names of systems which are likely to be live…

• Tools: Ping, Nmap, Ike-scan, Fierce Doman

Scanner, traceroute, ICMP…

• Data types: text files, XML files…

9©2013 Intru-Shun.ca Inc.

Page 10: Making pentesting sexy ossams - BSidesQuebec2013

Identification / Enumeration

• Purpose: enumerate the systems that are live,

determine open ports, listening services, map

applications, operating systems, and versions.

• Inputs: systems known to be live/available.

• Outputs: ports, services, OS, versions, patches.

• Tools: Nmap, Amap, Ike-scan, Nessus…

• Data types: text files, XML files…

10©2013 Intru-Shun.ca Inc.

Page 11: Making pentesting sexy ossams - BSidesQuebec2013

Research

• Purpose: list all potential vulnerabilities.

• Inputs: technologies in use.

• Outputs: list of potential vulnerabilities.

• Tools: vulnerability databases, search

engines…

• Data types: text files, XML files, databases…

11©2013 Intru-Shun.ca Inc.

Page 12: Making pentesting sexy ossams - BSidesQuebec2013

Vulnerability Identification

• Purpose: identify known or unknown

vulnerabilities in the identified technologies.

• Inputs: IP addresses, ports, services,

applications.

• Outputs: listing of potential vulnerabilities.

• Tools: scanners such as Nessus, NexPose,

Burp, W3AF, ZAP…

• Data types: text files, XML files, databases…

12©2013 Intru-Shun.ca Inc.

Page 13: Making pentesting sexy ossams - BSidesQuebec2013

Validation / Exploitation

• Purpose: assign a confidence value and

validate potential vulnerabilities. Have FUN!!

• Inputs: listing of all potential vulnerabilities.

• Outputs: listing of validated vulnerabilities and

confidence rating values.

• Tools: penetration testing (Metasploit, Core

Impact, Canvas…), manual validation, fuzzers…

• Outputs: text files, graphics, XML files,

database entries, databases... 13©2013 Intru-Shun.ca Inc.

Page 14: Making pentesting sexy ossams - BSidesQuebec2013

Penetration!

• Pillaging.

• Identification of previously unknown

vulnerabilities through fuzzing.

• Post exploitation and pivoting.

• The best hack is just logging in...

• Tools: brain power

• Outputs: text files, graphics, XML files,

database entries, databases... BOOTY!!!

14©2013 Intru-Shun.ca Inc.

Page 15: Making pentesting sexy ossams - BSidesQuebec2013

Reporting

• Purpose: assign risk and priority ratings to

confirmed vulnerabilities.

• Inputs: list of validated vulnerabilities.

• Outputs: analysis results.

• Tools: people brain power.

• Outputs: text files, database entries,

documents...

• Wordsmithing.

15©2013 Intru-Shun.ca Inc.

Page 16: Making pentesting sexy ossams - BSidesQuebec2013

Why Automate?

• Laziness ☺.

• Consistent results over time.

• Allows for scheduling and trending.

• Streamlined and more efficient.

• Engineering a process that can be run and

maintained by an operational group.

• Allows the test team to concentrate on the

areas that are not automated.

16©2013 Intru-Shun.ca Inc.

Page 17: Making pentesting sexy ossams - BSidesQuebec2013

Requirements

• Process – follow consistent repeatable methodology.

• Scriptable – typically Linux CLI tools.

• Tool – result that can be parsed.

• Database – for correlation and reporting.

• Correlated – multiple sources of data.

• Analyzed – intelligent human analysis.

• Mitigation – how to respond, recommendations.

• Metrics – quantitative, measurable, trends.

• Severity – rating system.

17©2013 Intru-Shun.ca Inc.

Page 18: Making pentesting sexy ossams - BSidesQuebec2013

Workflow

• Methodology is broken down into modules.

• Output from one is the input to the next.

• Unfortunately most tools do not follow the

methodology flow precisely, or may not allow

for data extraction between modules.

• Which means that either we must run each

tool multiple times with different

configurations, or different tools for each

module. 18©2013 Intru-Shun.ca Inc.

Page 19: Making pentesting sexy ossams - BSidesQuebec2013

Workflow

• Output from module > database import

• Database queries > inputs to next module

• Reporting module > ticketing

• Tickets > vulnerability management and

mitigation

• Close the loop back to the test team process

• Re-test where necessary

19©2013 Intru-Shun.ca Inc.

Page 20: Making pentesting sexy ossams - BSidesQuebec2013

Problem

• Individual tools do not always follow a

methodology and do not always allow for

sufficiently granular control.

• No one tool can perform all modules.

• Methodology requires use of multiple tools.

• Each tool may have a different output format

or use a proprietary database.

• Correlation and analysis can be time

consuming.20©2013 Intru-Shun.ca Inc.

Page 21: Making pentesting sexy ossams - BSidesQuebec2013

What is Missing

• Security Assessments collect a lot of data, but

don’t always correlate the data.

• To properly identify risk and threats,

correlation of collected data is necessary.

• Correlation between different tools is

essential!

• Marking false positives, adding manual

findings, and annotating is also required.

• Current systems – Extremely Expensive.21©2013 Intru-Shun.ca Inc.

Page 22: Making pentesting sexy ossams - BSidesQuebec2013

Solutions

• Single unified and normalized database

schema for all security assessment tools.

• Obviously requires that such a schema exist!

• Requires a parser for each tool we use.

• This allows us to create an abstract layer

between the tools and the common database,

while still allowing us to enforce the

methodology regardless of the tools used.

22©2013 Intru-Shun.ca Inc.

Page 23: Making pentesting sexy ossams - BSidesQuebec2013

OSSAMS

• Open Source Security Assessment

Management System

www.ossams.com

• A framework for security assessors to

correlate and analyze risk to information

systems.

• Streamlines the assessment reporting process.

• A modular process that builds on past

assessments.23©2013 Intru-Shun.ca Inc.

Page 24: Making pentesting sexy ossams - BSidesQuebec2013

Database Design

• One of the key aspects of OSSAMS is the

database design.

• It is capable of having any number of tool

outputs as an input.

• Currently using MySQL on Linux with Python,

PowerShell, or Perl scripts to parse outputs.

• A front-end will be designed in addition to CLI.

• It is flexible, extensible, and Open Source.

24©2013 Intru-Shun.ca Inc.

Page 25: Making pentesting sexy ossams - BSidesQuebec2013

Intru-Shun.ca Inc. 2519/07/2011

Page 26: Making pentesting sexy ossams - BSidesQuebec2013

Tooloutput

• For every tool there are outputs. An output

file, typically an XML file, will describe what

the tool has discovered from the target

domain, subnet, system, host, or application).

• Tooloutputnumber - Primary Key, auto-

increment. Projectname, Projectid, Toolname,

Filename, Filedate, Tooldate , Version,

OSSAMSversion, Scanner , Inputtimestamp.

26©2013 Intru-Shun.ca Inc.

Page 27: Making pentesting sexy ossams - BSidesQuebec2013

Configuration

• For every TOOLOUTPUT it may contain

configuration information about the tool. Its

primary key is Configurationnumber, which is

an auto-increment.

• Configurationtype, Configurationoptionname,

Configurationoptionvalue,

Configurationnumber.

27©2013 Intru-Shun.ca Inc.

Page 28: Making pentesting sexy ossams - BSidesQuebec2013

Domain

• A grouping of systems, subnets, CIDR ranges,

or non-contiguous but related IP addresses

will be considered a domain. DNS and Sctive

Directory domains fir here as well. Primary key

is Domainnumber which is auto-increment.

• Domainname, Domaintype, Domainnumber,

Domainnotes, Domainaddresses.

28©2013 Intru-Shun.ca Inc.

Page 29: Making pentesting sexy ossams - BSidesQuebec2013

Groups

• A domain or a host may have none, one, or

more user groups. Its primary key is

Groupnumber, which is an auto-increment.

• Groupproperty, Groupvalue, Groupname,

Groupnumber, Groupnotes, Groupprivilege,

Groupmembers.

29©2013 Intru-Shun.ca Inc.

Page 30: Making pentesting sexy ossams - BSidesQuebec2013

Hosts

• A toolout may describe none, one, or more

hosts (computers or network devices). Its

primary key is Hostnumber, which is an auto-

increment.

• Domainnumber, Hostproperty, Hostvalue,

ipv4, ipv6, Hostname, Hostnumber, Hostptr,

Whois, Recon, Reconreason, Hostcriticality,

Macaddress, Macvendor, Hostnotes, Hostos,

Osgen, Osfamily.

30©2013 Intru-Shun.ca Inc.

Page 31: Making pentesting sexy ossams - BSidesQuebec2013

Users

• A Domain, application, or a host may have

none, one, or more users. Its primary key is

Usernumber, which is an auto-increment.

• Userproperty, Uservalue, Username,

Usernumber, Domainnumber, Groupnumber,

Hostnumber, Passwordhash, Password,

Userprivilege, Usernotes.

31©2013 Intru-Shun.ca Inc.

Page 32: Making pentesting sexy ossams - BSidesQuebec2013

Ports

• A host may have none, one, or more ports

open. This table contains information about

ports (open, filtered, or closed). Its primary

key is Portnumber, which is an auto-

increment.

• Protocol, Portnumber, Portstate, Reason,

Portbanner, Portversion, Portname, Service,

Method, Confidence, Portvalue.

32©2013 Intru-Shun.ca Inc.

Page 33: Making pentesting sexy ossams - BSidesQuebec2013

Vulnerabilities

• A host, port, or application may have none, one, or

more vulnerabilities associated with it. Its primary

key is Vulnerabilitynumber, which is an auto-

increment.

• Vulnerabilityid, Vulnerabilityseverity, Vulnerabilityrisk,

Vulnerabilityconf, Falsepositive, Vulnerabilityname,

Vulnerabilitydescription, Vulnerabilitysolution,

Vulnerabilitydetails, Vulnerabilityextra,

Vulnerabilityvalidation, Vulnerabilitynotes,

Vulnerabilityattribute, Vulnerabilityvalue, Vulnerabilityuri,

Httprequest, Httpresponse, Httpparam.

33©2013 Intru-Shun.ca Inc.

Page 34: Making pentesting sexy ossams - BSidesQuebec2013

Refs

• A vulnerability may have none, one, or more

references associated with it. A reference can

be a link to a web site, a database entry (such

as SecurityFous bid, OSVDB, Secunia, CVE,

CCE, CWE, …).

• Vulnerabilitynumber, Referencenumber,

Referencetype - Type reference (URI, OSVDB,

CVE…), Referencevalue – Value of the

reference.

34©2013 Intru-Shun.ca Inc.

Page 35: Making pentesting sexy ossams - BSidesQuebec2013

Booty

• Booty may have been taken from a Domain,

User, Host, Application, or other assorted

places the pentester finds stuff

• Domainnumber, Hostnumber, Bootyproperty,

Bootyvalue, Bootynumber, Bootynotes.

35©2013 Intru-Shun.ca Inc.

Page 36: Making pentesting sexy ossams - BSidesQuebec2013

Scripts

• Flow:

– Scanning scripts

– Import scripts

– Query scripts

– Analysis with brainpower

– Iterative process

– Reporting scripts

36©2013 Intru-Shun.ca Inc.

Page 37: Making pentesting sexy ossams - BSidesQuebec2013

Parsing Scripts

• Main function

• Read configuration function

• Database access function

• Read a list of files

• Read a directory of files

• Parsing XML, HML, or text file function

• Insert function

• Return

37©2013 Intru-Shun.ca Inc.

Page 38: Making pentesting sexy ossams - BSidesQuebec2013

Supported tools

• Completed:

– acunetix, burp, grendel, nessus, netsparker,

nexpose community, nikto, nmap, ratproxy, retina

community, skipfish, sslscan, w3af, wapiti,

watcher, websecurify, zap.

• Roadmap:

– appscan, arachni, core impact, fierce, httprint, iss,

languard, metasploit, ncircle, nexpose, n-stalker,

ntospider, openvas, proxystrike, retina, saint,

sandcat, webcruiser, webinspect, wsfuzzer…38©2013 Intru-Shun.ca Inc.

Page 39: Making pentesting sexy ossams - BSidesQuebec2013

Demo

• A brief demo of the parsing script and database use.

• Also briefly discuss the roadmap for OSSAMS:

– Finalize the database design and scripts.

– Reporting templates.

– Query database for module tool input.

– OSSTMM RAVs.

– OWASP.

– Other methodologies/frameworks.

– Work on tool data interchange format.

– Get more people involved!!

39©2013 Intru-Shun.ca Inc.

Page 40: Making pentesting sexy ossams - BSidesQuebec2013

Code

• Currently living at:

handlers.dshield.org/adebeaupre/ossams-parser.tgz

And

www.ossams.com

• Requires:

– Python > 2.5;

– Python-mysqldb; and

– Lxml.

40©2013 Intru-Shun.ca Inc.

Page 41: Making pentesting sexy ossams - BSidesQuebec2013

Conclusions• The key is not running the scanners, but analysis,

methodology, correlation, documentation, and

problem solving.

• Organizations can automate security testing and

reporting processes, particularly consultants and

enterprises.

• The key is analysis and database utilization.

• These can be built using Free / Open Source

Software tools and/or commercial offerings.

• Should be done with proper planning, tools,

methodology, processes, and expertise.41©2013 Intru-Shun.ca Inc.

Page 42: Making pentesting sexy ossams - BSidesQuebec2013

QUESTIONS?

[email protected]

@ADRIENDB

42

THANK YOU!

©2013 Intru-Shun.ca Inc.


Recommended