Slide 1

Slide 1 text

The Art of Exploitation

Slide 2

Slide 2 text

@binarymist

Slide 3

Slide 3 text

Effective Attack Techniques for Common Vulnerabilities

Slide 4

Slide 4 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing

Slide 5

Slide 5 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing

Slide 6

Slide 6 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells

Slide 7

Slide 7 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook

Slide 8

Slide 8 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 9

Slide 9 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 10

Slide 10 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 11

Slide 11 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 12

Slide 12 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 13

Slide 13 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 14

Slide 14 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 15

Slide 15 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 16

Slide 16 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 17

Slide 17 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 18

Slide 18 text

C/- psmsf, PowerSploit & Nishang

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

PowerSploit Persistence Techniques: ● PermanentWMI ● ScheduledTask ● Registry At stages: ● AtLogon ● AtStartup ● OnIdle ● Daily ● Hourly ● Specified Time

Slide 21

Slide 21 text

Effective Attack Techniques for Common Vulnerabilities Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents

Slide 22

Slide 22 text

Countermeasures Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents XSS

Slide 23

Slide 23 text

Countermeasures Password Stealing Spear Phishing Web Shells FaceBook Weaponised Documents ● NIDS ● AV ● Know Origin

Slide 24

Slide 24 text

How the process of Exploitation & Mitigation can & Should fit within Each & Every Sprint

Slide 25

Slide 25 text

Red Team

Slide 26

Slide 26 text

Reconnaissance Vulnerability Scanning & Discovery Vulnerability Searching Exploitation Documenting & Reporting

Slide 27

Slide 27 text

Reconnaissance Vulnerability Scanning & Discovery Vulnerability Searching Exploitation Documenting & Reporting

Slide 28

Slide 28 text

Reconnaissance Vulnerability Scanning & Discovery Vulnerability Searching Exploitation Documenting & Reporting

Slide 29

Slide 29 text

https://github.com/phage-nz/threatcrawler

Slide 30

Slide 30 text

Reconnaissance Vulnerability Scanning & Discovery Vulnerability Searching Exploitation Documenting & Reporting

Slide 31

Slide 31 text

Reconnaissance Vulnerability Scanning & Discovery Vulnerability Searching Exploitation Documenting & Reporting

Slide 32

Slide 32 text

Red Team

Slide 33

Slide 33 text

Red Team -> Blue Team

Slide 34

Slide 34 text

Pen testing @ go live -> within each Sprint

Slide 35

Slide 35 text

The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Definition of Done Cheapest Place to Deal with Defects Establish a Security Champion Hand-crafted Penetration Testing Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Security Focussed TDD Security Regression Testing

Slide 36

Slide 36 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Hand-crafted Penetration Testing Security Regression Testing Cheapest Place to Deal with Defects

Slide 37

Slide 37 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Hand-crafted Penetration Testing Security Regression Testing Cheapest Place to Deal with Defects

Slide 38

Slide 38 text

5: Identify Risks? This is madness! How can we do that?

Slide 39

Slide 39 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Establish a Security Champion

Slide 40

Slide 40 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Security Regression Testing Hand-crafted Penetration Testing

Slide 41

Slide 41 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Pair Programming

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Code Review

Slide 44

Slide 44 text

Code Review, Static & Dynamic Analysis

Slide 45

Slide 45 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Techniques for Asserting Discipline

Slide 46

Slide 46 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Techniques for Asserting Discipline Static Type Checking DbC https://blog.binarymist.net/2010/10/11/lsp-dbc-and-nets-support/

Slide 47

Slide 47 text

The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Definition of Done Cheapest Place to Deal with Defects Establish a Security Champion Hand-crafted Penetration Testing Consuming Free and Open Source Evil Test Conditions Security Focussed TDD Security Regression Testing Pair Programming Code Review Techniques for Asserting Discipline R isk

Slide 48

Slide 48 text

The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Definition of Done Cheapest Place to Deal with Defects Establish a Security Champion Hand-crafted Penetration Testing Consuming Free and Open Source Evil Test Conditions Security Focussed TDD Security Regression Testing Pair Programming Code Review Techniques for Asserting Discipline C ounterm easure

Slide 49

Slide 49 text

Consuming Free and Open Source curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs R isk

Slide 50

Slide 50 text

Consuming Free and Open Source ● Npm-outdated ● Npm-check ● David ● RetireJS ● NSP ● Snyk Tooling

Slide 51

Slide 51 text

The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Definition of Done Establish a Security Champion Hand-crafted Penetration Testing Security Focussed TDD Security Regression Testing Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects

Slide 52

Slide 52 text

5: Identify

Slide 53

Slide 53 text

5: Identify Risks? Given When Then There are no items in the shopping cart Customer clicks “Purchase” button for a book which is in stock 1 x book is added to shopping cart. Book is held - preventing selling it twice. “ Customer clicks “Purchase” button for a book which is not in stock Dialog with “Out of stock” message is displayed and offering customer option of putting book on back order.

Slide 54

Slide 54 text

5: Identify Risks? Given When Then There are no items in the shopping cart User tries to downgrade TLS and the HSTS header is not sent by the server User should be redirected (response 301 status code) to th HTTPS site from the server “ User tries to downgrade TLS and the HSTS header is sent by the server User should be redirected to the HTTP site from the browser (no HTTP traffic for sslstrip to tamper with

Slide 55

Slide 55 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Evil Test Conditions

Slide 56

Slide 56 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing Security Focussed TDD

Slide 57

Slide 57 text

Definition of Done The Sprint Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Security Regression Testing

Slide 58

Slide 58 text

Requirements or design defect found via Product Backlog Item (PBI) collaboration Length of Feedback Cycle Cost Requirements or design defect found in Test Conditions Workshop Programming or design defect found via Pair Programming Programming defect found via Continuous Integration Programming or design defect found via Test Driven Development (T(B)DD) Requirements or design defect found via Stakeholder Participation Defect found via pair Developer Testing Defect found via Independent Review Requirements defect found via traditional Acceptance Testing Programming or design defect found via Pair Review Design defect found via traditional System Testing Programming defect found via traditional System Testing Security defect found via traditional external Penetration Testing

Slide 59

Slide 59 text

Requirements or design defect found via Product Backlog Item (PBI) collaboration Length of Feedback Cycle Cost Requirements or design defect found in Test Conditions Workshop Programming or design defect found via Pair Programming Programming defect found via Continuous Integration Programming or design defect found via Test Driven Development (T(B)DD) Requirements or design defect found via Stakeholder Participation Defect found via pair Developer Testing Defect found via Independent Review Requirements defect found via traditional Acceptance Testing Programming or design defect found via Pair Review Design defect found via traditional System Testing Programming defect found via traditional System Testing Security defect found via Security Test Driven Development (STDD) or regression testing

Slide 60

Slide 60 text

5: Identify Risks? OK I’m starting to get it But what now?

Slide 61

Slide 61 text

Definition of Done The Sprint Security Regression Testing Sprint Planning Daily Scrum Sprint Review Retrospective Product Backlog Sprint Backlog Sprint Increment Establish a Security Champion Security Focussed TDD Pair Programming Code Review Techniques for Asserting Discipline Consuming Free and Open Source Evil Test Conditions Cheapest Place to Deal with Defects Hand-crafted Penetration Testing Zap-Api & NodeGoat

Slide 62

Slide 62 text

https://leanpub.com/holistic-infosec-for-web-developers https://github.com/binarymist/NodeGoat/wiki/Security-Regression-Testing-with-Zap-API

Slide 63

Slide 63 text

5: Identify Risks? IoT PhysicalPeople Mobile Cloud VPS Network Web App Network 2: Identify Risks 3: Countermeasures 4: What risks does solution cause? 5: Costs and Trade-offs 1: Asset Identification

Slide 64

Slide 64 text

Product Backlog Sprint Backlog Product Backlog items pulled into Sprint to form Increment Forecast 3: Countermeasures

Slide 65

Slide 65 text

@binarymist https://leanpub.com/holistic-infosec-for-web-developers https://github.com/binarymist/NodeGoat/wiki/Security-Regression-Testing-with-Zap-API