application vulnerability assessments revisited computing and communications jared perry gsec,...

34
APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS www.mun.ca Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

Upload: dominic-roland-stokes

Post on 16-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

APPLICATION VULNERABILITY ASSESSMENTSREVISITED

COMPUTING AND COMMUNICATIONS www.mun.ca

Jared Perry GSEC, GWAPT, GCWN

Application testing at Memorial University

Page 2: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PREVIOUS TALKCANHEIT 2012

• Walked through methodology

• Recon, Discovery, Exploitation, Reporting

• Talked about common vulnerabilities

• XSS, SQLi

• This talk will

• Discuss how techniques have evolved

• What we have learned since last presentation

COMPUTING AND COMMUNICATIONS

Page 3: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

Attacks of OpportunityMass ScanningScript Kiddies

TargetedActivists

Organized Crime

SO, WHAT HAS CHANGED?PERSPECTIVE

COMPUTING AND COMMUNICATIONS

APT

Page 4: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

SO, WHAT HAS CHANGED?INDUSTRY

• Bug Bounties

• Reward security professionals who report vulnerabilities

• glory, swag, $$$$

• Moving in right direction

• With a mature security program bug bounties are successful

• See Facebook, Google, BugCrowd Programs

• Caveats

• Higher Ed institutions likely not positioned well for such programs

• Scope and response to disclosures would be key

• Good way to hone personal skills

COMPUTING AND COMMUNICATIONS

Page 5: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

SO, WHAT HAS CHANGED?COMMON VULNERABILITIES• SQLi

• Frameworks and developer/vendor awareness

• Cross Site Scripting

• Still common however efforts are usually made to prevent

• Broken Authentication/Access Controls

• DIY authentication/access control functionality

• Code Injection

• Via file uploads or external file references

• Misconfigurations/Using Known Vulnerable Code

• Vendor implementations…

COMPUTING AND COMMUNICATIONS

Page 6: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

SO, WHAT HAS CHANGED?INTERNAL DEVELOPERS

• Developers Receptive

• Internal developers have embraced security standards

• Use standardized and well tested frameworks/code

• Presentations

• Developer testing

• Continuously Changing

• The languages, frameworks and platforms developers are using is

changing frequently making testing a challenge

• AngularJS, Node, new PHP frameworks, Mobile, etc

COMPUTING AND COMMUNICATIONS

Page 7: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

SO, WHAT HAS CHANGED?VENDORS

• Vendors are becoming more security conscious

• Many provide direct methods for vulnerability disclosure

• However still run into occasional resistance

COMPUTING AND COMMUNICATIONS

Page 8: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

VENDORSSUCCESS STORIES

• OpenText FirstClass

• OpenText had recently rebuilt the software with a new framework

• Found that the framework was not sanitizing input or encoding

output allowing for multiple XSS vulnerabilities

• Vendor response was immediate

• Cisco Identity Service Engine (ISE) - CVE-2014-0681

• Allowed remote, unauthenticated persistent XSS attack against

ISE administrators

• All versions were affected, patched version is available

COMPUTING AND COMMUNICATIONS

Page 9: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PROCESSPRIORITIZING

• Standard Questions

• Name of the application(s)

• Whether it is internally, vendor or open source developed

• Programming language(s) they are written in

• List of other servers connected to the application such as

database, application or file servers

• Description of data that will be stored in this application

• Estimate of the number of users

• A summary of how the application is used/functionality

COMPUTING AND COMMUNICATIONS

Page 10: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PROCESSMINIMIZE DATA/LIMIT ACCESS

• Basic Concept

• Everyone wants to collect everything, retain it forever and have it

accessible from anywhere

• We work with clients on new applications to reduce attack surface

• Bonus: Reduces extent of testing

COMPUTING AND COMMUNICATIONS

Page 11: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING

• Benefits

• Finds vulnerabilities automated tools are not designed to detect

• Business logic, insecure application functionality, access controls

• Can be as simple as fuzzing, security QA

• Intercept Proxy

• Burp Suite (Personal Favorite), Zed Attack Proxy, W3AF

• Use the target application

• Review requests and responses

• Manipulate

COMPUTING AND COMMUNICATIONS

Page 12: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING

COMPUTING AND COMMUNICATIONS

Page 13: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING

COMPUTING AND COMMUNICATIONS

Page 14: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING

• Checklist

• OWASP is a great resource with starter checklist

• Basic Tests

• Create new account

• Password Requirements

• Forgot password process

• Change password

– Does the application ask for the current password first?

• etc

COMPUTING AND COMMUNICATIONS

Page 15: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING

• Advanced Tests

• Disable/Manipulate client-side code

– Look for client-side authentication checks

• Creative inputs

– Automated tools won’t test many types of user input

– File Uploads, WYSIWYG, etc

• Redirect requests as needed

– Fuzzing inputs – Burp Intruder/Repeater

COMPUTING AND COMMUNICATIONS

Page 16: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - XSS

• Manual XSS Testing

• As basic as '';!--"<XSS>=&{()} or

<SCRIPT>alert("XSS")</SCRIPT>

• Focus on inputs that are difficult for automated scanners to test

• Try Burp Suite Intruder XSS payload, ZAP Fuzzer

• Advanced

• Use evasion techniques, good cheat sheet available from OWASP

• Creative inputs

– Examples: file upload metadata, authentication requests

COMPUTING AND COMMUNICATIONS

Page 17: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - XSS

COMPUTING AND COMMUNICATIONS

Page 18: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - XSS

COMPUTING AND COMMUNICATIONS

Page 19: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - XSS

COMPUTING AND COMMUNICATIONS

Page 20: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - XSS

COMPUTING AND COMMUNICATIONS

Page 21: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - AUTH

• Authentication is not a DIY project

• Don’t reinvent the wheel

• Use session management available in the language or framework

• Testing Session Management

• Look at application responses for session data

• Look for sensitive information

• Is the session id sufficiently random? Burp Sequencer

• Attempt Decoding – Burp Decoder – Base64

• Is the expiration sufficient?

COMPUTING AND COMMUNICATIONS

Page 22: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - CSRF

• Very few vendors or developers implement CSRF protections

• ASP Viewstate

• Tokens

• Difficult Execution

• CSRF attacks require the victim to be logged into target app then

click malicious link

• Prime targets are “always open” applications

• Portals, ERP, E-Learning, Webmail, etc

• Hope to introduce more awareness with devs and vendors

COMPUTING AND COMMUNICATIONS

Page 23: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - MOBILE

• Increasing need to test mobile apps

• Clients want mobile and native applications

• Mobile Apps and related APIs are being integrated systems with

sensitive data, eg Student Grades

• How do we test mobile applications?

• Proxy communications through testing computer

• Requires trusting SSL certificates from intercept proxy

• Review and map mobile APIs similar to any other application

COMPUTING AND COMMUNICATIONS

Page 24: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESAUTOMATED TESTING

• Follow-up to Manual Testing

• Finish testing with automated testing to find any low hanging fruit

or vulnerabilities possibly missed.

• Burp/Zap

• Both have automated scanning functions

• Skipfish

• Automated scanning function that is great for finding hidden

application components

• W3AF

• Swiss army knife of scanning toolsCOMPUTING AND COMMUNICATIONS

Page 25: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PROCESSREPORTING

• Summarize

• Details about the application and related data

• The scope of testing

• Limitations and/or concerns

• List vulnerabilities

• Descriptions should be targeted to the audience (devs vs mgmt)

• Detail how the vulnerability could be used

• Detail impact and likelihood of it being exploited

• Provide recommendations for remediation

• Provide example screen captures to developers/vendors

COMPUTING AND COMMUNICATIONS

Page 26: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PROCESSREMEDIATION

• Complete/Partial Remediation

• Not reasonable to have every issues found to be completely

remediated.

• Retesting Cycle

• Can be a lot of back and forth trying to address an issue

– May have to settle for partial remediation or alternative

mitigations

• Sign-off for remaining vulnerabilities

• For vulnerabilities not remediated detail the risk and obtain sign-off

from those responsible for the data and application

COMPUTING AND COMMUNICATIONS

Page 27: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PROCESSFUTURE PLANS

• Formalize

• Tracking of vulnerabilities

• Retain testing data

• Maintain data on applications, dev teams and vendors

• Automate testing options for developers

• Threadfix/Mozilla Minion

• Open source applications for tracking vulnerabilities

• Provides options to allow developers to do automated scanning

COMPUTING AND COMMUNICATIONS

Page 28: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

PROCESSFUTURE PLANS

• Information Sharing

• Reduce duplication of efforts

– Higher Ed has a lot of niche applications and many institutions

use the same applications

• Security SIG discussion mailing list?

• Improve vendor responses and coordination

• Legal concerns

COMPUTING AND COMMUNICATIONS

Page 29: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING

• Burp Sequencer and Decoder Demo - mutillidae

COMPUTING AND COMMUNICATIONS

Page 30: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - CSRF

• CSRF Attack Demo with Burp Suite - mutillidae

COMPUTING AND COMMUNICATIONS

Page 31: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

TECHNIQUESMANUAL TESTING - MOBILE

• Mobile Demo with Burp Suite – Ellucian GO

COMPUTING AND COMMUNICATIONS

Page 32: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

QUESTIONS

Jared Perry IT Security Administrator, GSEC, GWAPT, GCWN

Email: [email protected]

Twitter: @jared_perry

Phone: (709) 864-2619

COMPUTING AND COMMUNICATIONS

Page 33: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

RESOURCES

• OWASP Link References

• https://www.owasp.org/index.php/OWASP_Cheat_Sheet_Series

• https://www.owasp.org/index.php/

XSS_Filter_Evasion_Cheat_Sheet

• Threadfix/Mozilla Minion

• https://github.com/denimgroup/threadfix/

• https://wiki.mozilla.org/Security/Projects/Minion

• Mobile App Testing

• http://jaredperry.ca/mapping-mobile-app-apis/

COMPUTING AND COMMUNICATIONS

Page 34: APPLICATION VULNERABILITY ASSESSMENTS REVISITED COMPUTING AND COMMUNICATIONS  Jared Perry GSEC, GWAPT, GCWN Application testing at Memorial University

RESOURCES

• Zed Attack Proxy (ZAP)

• https://www.owasp.org/index.php/

OWASP_Zed_Attack_Proxy_Project

• Kali Linux

• http://www.kali.org/

• Burp Suite

• http://portswigger.net/burp/

• Bug Bounties

• https://bugcrowd.com/

COMPUTING AND COMMUNICATIONS