Top Banner
AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions
30

AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

Jan 02, 2016

Download

Documents

Lora Nicholson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

AppSec USA 2014

Denver, Colorado

Customizing Burp Suite

Getting the Most out of Burp Extensions

Page 2: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

2

August DetlefsenSenior Application Security Consultant

[email protected]• @codemagi• http://www.codemagi.com/blog

Page 3: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

3

Burp Suite• Burp Suite is a powerful tool for performing

security assessments• Burp Plugin API allows new features to be

added

Page 4: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

4

What Can I Do With Plugins? • Passive Scanning• Active Scanning• Alter/append requests• Define Insertion Points for Scanner/Intruder

Page 5: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

5

Prerequisites• Burp Suite Pro v 1.5.x• Java 1.6.x• NetBeans• Other programming languages

Page 6: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

6

Creating An Extension• Download the Extender API from Portswigger:

http://portswigger.net/burp/extender/api/burp_extender_api.zip

Page 7: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

7

Creating an Extension• Create a new project with existing sources:

Page 8: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

8

Creating an Extension• Create the BurpExtender class– In package ‘burp’– Implement IBurpExtender

Page 9: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

9

Creating an Extension

Page 10: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

10

Creating an Extension• Implement registerExtenderCallbacks

Page 11: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

11

Load the Extension into Burp Suite

Page 12: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

12

Passive Scanning• Search responses for problematic values• Built-in passive scans– Credit card numbers– Known passwords– Missing headers

Building a Passive Scanner

Page 13: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

13

Passive Scanning – Room for Improvement• Error Messages• Software Version Numbers

Building a Passive Scanner

Page 14: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

14

Building a Passive Scanner• Implement the IScannerCheck interface:

• Register the extension as a scanner:

Building a Passive Scanner

Page 15: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

15

IScannerCheck.doPassiveScan()

Building a Passive Scanner

Page 16: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

16

IScannerCheck.doPassiveScan()

Building a Passive Scanner

Page 17: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

17

IScannerCheck.consolidateDuplicateIssues()• Ensure an issue is only posted to scanner once

Building a Passive Scanner

Page 18: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

18

IScannerCheck.doActiveScan()• Only needed for active scans

Building a Passive Scanner

Page 19: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

19

Active Scanning• Issue requests containing attacks • Look for indication of success in response• Built-In Active Scans– XSS– SQL Injection– Path Traversal– etc

Building an Active Scanner

Page 20: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

20

IScannerCheck.doActiveScan()

Building an Active Scanner

Page 21: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

21

Insertion Points • Locations of parameters in request • Contain data the server will act upon

Building an Active Scanner

Page 22: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

22

Building an Active Scanner

Page 23: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

23

Building an Active Scanner

Page 24: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

24

Defining Insertion Points• Implement IScannerInsertionPointProvider– getInsertionPoints()

• Register as an insertion point provider

Building an Active Scanner

Page 25: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

25

BurpExtender.getInsertionPoints()

Building an Active Scanner

Page 26: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

26

Building an Active Scanner

Page 27: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

27

Debugging• callbacks.printOutput(String)• callbacks.printError(String)• Exception.printStackTrace()

Utilities

Page 28: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

28

Debugging – Stack Traces• Get the error OutputStream

• Print a stack trace to the stream

Utilities

Page 29: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

29

Summary• Setup• Passive Scanning• Active Scanning• Handling custom request types• Utilities

Page 30: AppSec USA 2014 Denver, Colorado Customizing Burp Suite Getting the Most out of Burp Extensions.

30

Build Extensions!Profit!