SlideShare a Scribd company logo
Assessment automation:
Deux ex Machina
    ||
Rube Goldberg
Machine?

2005
LAS VEGAS
• Before we begin….you can find all of this at:
• http://www.sensepost.com/research/bidiblah
• As promised at Amsterdam…E-Or release!
• http://www.sensepost.com/research/eor
• (web application scanner)

• Time considerations…
• Shows in Vegas…
Introduction


SensePost has done hundreds of external assessment
Tried and trusted methodology
So…in search of an automated assessment tool

This talk is about:
• What is this methodology?
• Can it be automated?
• Where does automation really work well?
• Where does it simply suck?
• Why does it fail? (and can it be corrected?)
• Implications for penetration testers
Principles of automation
To have an automatic process we need to code it
To code it we need to have an algorithm or flow
In order to have an algorithm or flow it we need to
understand the process
To understand the process we need to have done it
many times

If you cannot write the process down on paper you
probably don’t understand it completely

Exceptions on the rule – the root of all evil

Tradeoffs – if it will work in 99.99% of cases and
will take me 2 months to code support for the 0.01%
of cases…is it worth it?
Weird perceptions


Unix good….Windows baaaad! (meeaaaaa)

‘Hard core’ hackers will tell you that Windows sucks.
GUI apps limit you to do complex things
Problem is not the OS – it’s the implementation of the GUI
People think that, because it’s a GUI app, it needs to be “dumbed down”
People think that, because it’s a GUI app, it needs to user friendly
People think that, because it’s a GUI app, stupid people will use it

Unix command line tools are mostly “fire and forget”
Unix command line tools are not interactive
Unix makes it hard to write X11 interfaces – so ppl stick to text based
interfaces
BiDiBLAH uses “hot” text boxes – you can copy and paste & grep and
awk and sed all you wish
The demos you are about to see…


BiDiBLAH is a tool for doing attacks/assessments
           Its built for large networks
       …we don’t have a large network
               …but our clients do
   …but we don’t want to show their network
            …no...we don’t…really…

                                SO:

            Passive: IBM,Playboy
          Active: SensePost/VMWare

   There’s just too much risk in doing this live
        …but everything you see is real
           (some time lapse in places – I’ll tell you where)
SensePost external methodology
Methodology: Footprinting
Sensepost assessment automation
Methodology:Footprint:Find domains

                     Initial domain




    TLD expansion   Name expansion    Related domains




                       Content
                       matching




                       Network
                      (MX/NS/IP)
                       matching




                      Meta data         Final domain
                      matching               list
Methodology: Footprinting: Find subdomains
Video 1 – BiDiBLAH’s footprinting : Sub domains (5 minutes)
Methodology: Footprinting: Forward DNS entries

                    Domain /
                   subdomain




                 MX/NS records




                  ZT possible?



                                   Hit lists



           yes   Perform forward




                   All forwards
Video 2 – BiDiBLAH’s footprinting : Forwards (3min per domain)
Methodology: Footprint: Netblocks
Video 3 – BiDiBLAH footprinting : NetBlocks
Methodology: Footprint: Reverse DNS
Video 4 – BiDiBLAH’s footprinting : Reverse DNS (5min/ClassC)
Methodology: Footprint: Vitality
Vitality : Async scanning
Video 5 - BiDiBLAH – Vitality (SensePost network) 2min/port/classB
Sensepost assessment automation
Automation of footprint

Pheeww…glad that’s over!

Which steps are difficult to automate & why?
   • Domain finding
        • works semi OK, but never complete [not implemented]
        • currently, you can learn a lot from reverse entries
   • Sub domain finding – easy - [DONE]
   • Forwards – easy - [DONE]
   • Netblocks – difficult…
        • AS expansion is not always good for smaller (hosted) blocks.
        • Whois info on these blocks are pretty unless.
        • No standard interface to registrars
        • [Currently set to manual]
   • Reverse scans – easy - [DONE]
   • Vitality – easy [DONE (tcp only)]
Why should you care about footprinting??



    Finding one vulnerability on one box
                    vs
Finding the one box with one vulnerability…
SensePost external methodology



   So, where are we now?
Methodology: Fingerprinting



OS detection from the Internet to a firewalled host is
difficult…Not just technically, but conceptually :
An Apache box protected by a FireWall-1 running on Win32 and 1:1NAT will report
itself as a Windows machines on a network level…but as a Unix machine on app
level..so what will it be??

BiDiBLAH does not try to do OS detection, but rather just do banner grabbing

Using Async banner grabbing for 21,22,25,80,110,143
Multithreaded 443 (SSL)
Any banner/version can be grabbed asynchronously but
it gets increasingly tricky..
Async banner grabbing – the process
Video 6 - BiDiBLAH: Async banner grabbing (2000 banners / 3 min)
SensePost external methodology



   So, where are we now?
Methodology: targeting
With a great deal of potential targets, we want to be able to select
   only those that really interests us.
Targetting system should be able to target using
• Certain/All open ports (in all netblocks, or certain netblocks)
    • – e.g. all open on TCP 53
• Keywords in service banners
    • – e.g. wuftp*
• Keywords in DNS names
    • – e.g. PRT*
• All hosts in a specific netblock
    • – e.g. all in 172.16.43.0/24
• Particular OSes of version of OS [a problem - we don’t have it]
    • - e.g. MS Windows XP SP1
• Certain keywords within vulnerability descriptions (later more)
    • - e.g. RPC*
Video 7 – BiDiBLAH - Targeting
SensePost external methodology



   So, where are we now?
Methodology: Vulnerability discovery
Why reinvent the wheel? Use a solid, widely used scanner:
Nessus…

Thus…we write a Nessus client..
Give the user the ability to choose a set of plugins
..and let him save the list..

Thus – you can choose *all* plugins (if you are doing an
assessment), or you can choose one plugin (if you are looking
throughout your whole network for a particular problem)

Scans are executed against what was marked as targets
Video 8 - BiDiBLAH: Plugin selection
Video 9 – BiDiBLAH vulnerability discovery
SensePost external methodology



   So, where are we now?
Methodology: Vulnerability exploitation
Why reinvent the wheel? Use a solid, widely used exploitation
framework: MetaSploit!

Thus…we write a MetaSploit client..

Problem with MetaSploit – its very operating system specific
….and we DON’T KNOW the OS…

Don’t specify target and hope for the best – hopefully it will brute
force.

Use Nessus to identify the weakness, MetaSploit to exploit it
Thus … we need a NessusID to MetaSploit sploit name list
We built it (thanks GP), and wrote plugins as needed
Hopefully it can be an attribute of the sploit (looks at HD..)

RHOST, SSL, LHOST – all known to us
RPORT known via Nessus scanner
Let the user choose the playload and additional parameters
Video 10 – BiDiBLAH exploitaion (VMware server)
SensePost external methodology




                So…we are done?


             In a perfect world…yes...

In the real world we have false positives, we have to
   moderate Nessus results, and we have to write
           !=*|||(ing reports!!!
Video 11 - advance targeting and reporting
The Bottom line
BiDiBLAH does 80% of the work within 20% of time it takes us
The last 20% of the work takes 80% of the project time

Some steps in the methodology are really hard to automate
This is usually where things are “non-standard”, or an exception

It would hopefully raise the bar on mediocre “pen testing” companies

                    Release considerations
Group1: “Surely you will not release this to the world – you arming
script kiddies with dangerous point and click hacking tools!!?

Group2: “Where do we download it?

Thus: crippled version (20min run time, no save) released at
   http://www.sensepost.com/research/bidiblah
                         Full version available on request
EXTRA: E-Or release




Web APPLICATION assessment tool
•http://www.sensepost.com/research/eor

More Related Content

PDF
PPTX
Software Security : From school to reality and back!
PPT
scaling compiled applications - highload 2013
PPTX
EhTrace -- RoP Hooks
PDF
Puppet Camp LA 2/19/2015
PDF
Chef Conf 2015: Package Management & Chef
PDF
AntiVirus Evasion Reconstructed - Veil 3.0
PDF
Scratching the itch, making Scratch for the Raspberry Pie
Software Security : From school to reality and back!
scaling compiled applications - highload 2013
EhTrace -- RoP Hooks
Puppet Camp LA 2/19/2015
Chef Conf 2015: Package Management & Chef
AntiVirus Evasion Reconstructed - Veil 3.0
Scratching the itch, making Scratch for the Raspberry Pie

What's hot (15)

PDF
Rainbow Over the Windows: More Colors Than You Could Expect
PPTX
Try harder or go home
PPTX
Hacking - high school intro
PDF
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
PDF
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
PDF
12 tricks to avoid hackers breaks your CI / CD
PPTX
Rooted con 2020 - from the heaven to hell in the CI - CD
PPT
Testing Multithreaded Java Applications for Synchronization Problems, ISTA 2011
PPT
Testing multithreaded java applications for synchronization problems
PDF
Perl-Critic
PDF
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
ODP
When Good Code Goes Bad: Tools and Techniques for Troubleshooting Plone
PPTX
Ice Age melting down: Intel features considered usefull!
PDF
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
ODP
Is Python still production ready ? Ludovic Gasc
Rainbow Over the Windows: More Colors Than You Could Expect
Try harder or go home
Hacking - high school intro
Puppet Camp Atlanta 2014: DEV Toolsets for Ops (Beginner) -
JavaScript nicht nur für Programmierer: Einblicke in die weltweit am meisten ...
12 tricks to avoid hackers breaks your CI / CD
Rooted con 2020 - from the heaven to hell in the CI - CD
Testing Multithreaded Java Applications for Synchronization Problems, ISTA 2011
Testing multithreaded java applications for synchronization problems
Perl-Critic
IETF remote participation via Meetecho @ WebRTC Meetup Stockholm
When Good Code Goes Bad: Tools and Techniques for Troubleshooting Plone
Ice Age melting down: Intel features considered usefull!
Puppet Camp LA 2015: Package Managers and Puppet (Beginner)
Is Python still production ready ? Ludovic Gasc
Ad

Viewers also liked (9)

PDF
It's all about the timing
PDF
A new look into web application reconnaissance
PDF
Putting the tea back into cyber terrorism
PPTX
Threats to machine clouds
PPT
Denial of services : limiting the threat
PPTX
Web 2.0 security woes
PPT
Attacks and Defences
PPTX
A Brave New World
PPTX
State of the information security nation
It's all about the timing
A new look into web application reconnaissance
Putting the tea back into cyber terrorism
Threats to machine clouds
Denial of services : limiting the threat
Web 2.0 security woes
Attacks and Defences
A Brave New World
State of the information security nation
Ad

Similar to Sensepost assessment automation (20)

PDF
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
PPT
Andrew and Zac RVA-Beyond-Automated-Testing-2016.ppt
PPT
Beyond Automated Testing - RVAsec 2016
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
PDF
Microsoft power point automation-opensourcetestingtools_matrix-1
PDF
Defcon 20-zulla-improving-web-vulnerability-scanning
PDF
Defcon 20-zulla-improving-web-vulnerability-scanning
PDF
Unmanned Aerial Vehicles: Exploit Automation with the Metasploit Framework
PPTX
Pentesting Tips: Beyond Automated Testing
PPT
BSidesDC 2016 Beyond Automated Testing
KEY
How to break web applications
PDF
NotaCon 2011 - Networking for Pentesters
PPTX
BSides_Charm2015_Info sec hunters_gathers
PDF
Web application penetration testing lab setup guide
PDF
The Web Application Hackers Toolchain
PPT
Integris Security - Hacking With Glue ℠
PPTX
Teensy Programming for Everyone
PDF
Ekoparty 2017 - The Bug Hunter's Methodology
PPTX
Continuous security testing - sharing responsibility
The Dirty Little Secrets They Didn’t Teach You In Pentesting Class
Andrew and Zac RVA-Beyond-Automated-Testing-2016.ppt
Beyond Automated Testing - RVAsec 2016
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
Defcon 20-zulla-improving-web-vulnerability-scanning
Defcon 20-zulla-improving-web-vulnerability-scanning
Unmanned Aerial Vehicles: Exploit Automation with the Metasploit Framework
Pentesting Tips: Beyond Automated Testing
BSidesDC 2016 Beyond Automated Testing
How to break web applications
NotaCon 2011 - Networking for Pentesters
BSides_Charm2015_Info sec hunters_gathers
Web application penetration testing lab setup guide
The Web Application Hackers Toolchain
Integris Security - Hacking With Glue ℠
Teensy Programming for Everyone
Ekoparty 2017 - The Bug Hunter's Methodology
Continuous security testing - sharing responsibility

More from SensePost (20)

PDF
objection - runtime mobile exploration
PPTX
Vulnerabilities in TN3270 based Application
PDF
Ruler and Liniaal @ Troopers 17
PDF
Introducing (DET) the Data Exfiltration Toolkit
PPTX
ZaCon 2015 - Zombie Mana Attacks
PPTX
Improvement in Rogue Access Points - SensePost Defcon 22
PDF
Heartbleed Overview
PDF
Botconf 2013 - DNS-based Botnet C2 Server Detection
PPTX
Rat a-tat-tat
PDF
Hacking Z-Wave Home Automation Systems
PPTX
Offence oriented Defence
PPTX
Inside .NET Smart Card Operating System
PDF
SNMP : Simple Network Mediated (Cisco) Pwnage
PPT
Its Ok To Get Hacked
PPT
Web Application Hacking
PPT
Major global information security trends - a summary
PDF
Corporate Threat Modeling v2
PPS
OK I'm here, so what's in it for me?
PPT
Security threats facing SA businessess
PPT
Security in e-commerce
objection - runtime mobile exploration
Vulnerabilities in TN3270 based Application
Ruler and Liniaal @ Troopers 17
Introducing (DET) the Data Exfiltration Toolkit
ZaCon 2015 - Zombie Mana Attacks
Improvement in Rogue Access Points - SensePost Defcon 22
Heartbleed Overview
Botconf 2013 - DNS-based Botnet C2 Server Detection
Rat a-tat-tat
Hacking Z-Wave Home Automation Systems
Offence oriented Defence
Inside .NET Smart Card Operating System
SNMP : Simple Network Mediated (Cisco) Pwnage
Its Ok To Get Hacked
Web Application Hacking
Major global information security trends - a summary
Corporate Threat Modeling v2
OK I'm here, so what's in it for me?
Security threats facing SA businessess
Security in e-commerce

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
PPTX
Spectroscopy.pptx food analysis technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PPTX
Machine Learning_overview_presentation.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
1. Introduction to Computer Programming.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Encapsulation theory and applications.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Network Security Unit 5.pdf for BCA BBA.
gpt5_lecture_notes_comprehensive_20250812015547.pdf
cuic standard and advanced reporting.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx
Spectroscopy.pptx food analysis technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Machine Learning_overview_presentation.pptx
Spectral efficient network and resource selection model in 5G networks
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
1. Introduction to Computer Programming.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Encapsulation theory and applications.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf

Sensepost assessment automation

  • 1. Assessment automation: Deux ex Machina || Rube Goldberg Machine? 2005 LAS VEGAS
  • 2. • Before we begin….you can find all of this at: • http://www.sensepost.com/research/bidiblah • As promised at Amsterdam…E-Or release! • http://www.sensepost.com/research/eor • (web application scanner) • Time considerations… • Shows in Vegas…
  • 3. Introduction SensePost has done hundreds of external assessment Tried and trusted methodology So…in search of an automated assessment tool This talk is about: • What is this methodology? • Can it be automated? • Where does automation really work well? • Where does it simply suck? • Why does it fail? (and can it be corrected?) • Implications for penetration testers
  • 4. Principles of automation To have an automatic process we need to code it To code it we need to have an algorithm or flow In order to have an algorithm or flow it we need to understand the process To understand the process we need to have done it many times If you cannot write the process down on paper you probably don’t understand it completely Exceptions on the rule – the root of all evil Tradeoffs – if it will work in 99.99% of cases and will take me 2 months to code support for the 0.01% of cases…is it worth it?
  • 5. Weird perceptions Unix good….Windows baaaad! (meeaaaaa) ‘Hard core’ hackers will tell you that Windows sucks. GUI apps limit you to do complex things Problem is not the OS – it’s the implementation of the GUI People think that, because it’s a GUI app, it needs to be “dumbed down” People think that, because it’s a GUI app, it needs to user friendly People think that, because it’s a GUI app, stupid people will use it Unix command line tools are mostly “fire and forget” Unix command line tools are not interactive Unix makes it hard to write X11 interfaces – so ppl stick to text based interfaces BiDiBLAH uses “hot” text boxes – you can copy and paste & grep and awk and sed all you wish
  • 6. The demos you are about to see… BiDiBLAH is a tool for doing attacks/assessments Its built for large networks …we don’t have a large network …but our clients do …but we don’t want to show their network …no...we don’t…really… SO: Passive: IBM,Playboy Active: SensePost/VMWare There’s just too much risk in doing this live …but everything you see is real (some time lapse in places – I’ll tell you where)
  • 10. Methodology:Footprint:Find domains Initial domain TLD expansion Name expansion Related domains Content matching Network (MX/NS/IP) matching Meta data Final domain matching list
  • 12. Video 1 – BiDiBLAH’s footprinting : Sub domains (5 minutes)
  • 13. Methodology: Footprinting: Forward DNS entries Domain / subdomain MX/NS records ZT possible? Hit lists yes Perform forward All forwards
  • 14. Video 2 – BiDiBLAH’s footprinting : Forwards (3min per domain)
  • 16. Video 3 – BiDiBLAH footprinting : NetBlocks
  • 18. Video 4 – BiDiBLAH’s footprinting : Reverse DNS (5min/ClassC)
  • 20. Vitality : Async scanning
  • 21. Video 5 - BiDiBLAH – Vitality (SensePost network) 2min/port/classB
  • 23. Automation of footprint Pheeww…glad that’s over! Which steps are difficult to automate & why? • Domain finding • works semi OK, but never complete [not implemented] • currently, you can learn a lot from reverse entries • Sub domain finding – easy - [DONE] • Forwards – easy - [DONE] • Netblocks – difficult… • AS expansion is not always good for smaller (hosted) blocks. • Whois info on these blocks are pretty unless. • No standard interface to registrars • [Currently set to manual] • Reverse scans – easy - [DONE] • Vitality – easy [DONE (tcp only)]
  • 24. Why should you care about footprinting?? Finding one vulnerability on one box vs Finding the one box with one vulnerability…
  • 25. SensePost external methodology So, where are we now?
  • 26. Methodology: Fingerprinting OS detection from the Internet to a firewalled host is difficult…Not just technically, but conceptually : An Apache box protected by a FireWall-1 running on Win32 and 1:1NAT will report itself as a Windows machines on a network level…but as a Unix machine on app level..so what will it be?? BiDiBLAH does not try to do OS detection, but rather just do banner grabbing Using Async banner grabbing for 21,22,25,80,110,143 Multithreaded 443 (SSL) Any banner/version can be grabbed asynchronously but it gets increasingly tricky..
  • 27. Async banner grabbing – the process
  • 28. Video 6 - BiDiBLAH: Async banner grabbing (2000 banners / 3 min)
  • 29. SensePost external methodology So, where are we now?
  • 30. Methodology: targeting With a great deal of potential targets, we want to be able to select only those that really interests us. Targetting system should be able to target using • Certain/All open ports (in all netblocks, or certain netblocks) • – e.g. all open on TCP 53 • Keywords in service banners • – e.g. wuftp* • Keywords in DNS names • – e.g. PRT* • All hosts in a specific netblock • – e.g. all in 172.16.43.0/24 • Particular OSes of version of OS [a problem - we don’t have it] • - e.g. MS Windows XP SP1 • Certain keywords within vulnerability descriptions (later more) • - e.g. RPC*
  • 31. Video 7 – BiDiBLAH - Targeting
  • 32. SensePost external methodology So, where are we now?
  • 33. Methodology: Vulnerability discovery Why reinvent the wheel? Use a solid, widely used scanner: Nessus… Thus…we write a Nessus client.. Give the user the ability to choose a set of plugins ..and let him save the list.. Thus – you can choose *all* plugins (if you are doing an assessment), or you can choose one plugin (if you are looking throughout your whole network for a particular problem) Scans are executed against what was marked as targets
  • 34. Video 8 - BiDiBLAH: Plugin selection
  • 35. Video 9 – BiDiBLAH vulnerability discovery
  • 36. SensePost external methodology So, where are we now?
  • 37. Methodology: Vulnerability exploitation Why reinvent the wheel? Use a solid, widely used exploitation framework: MetaSploit! Thus…we write a MetaSploit client.. Problem with MetaSploit – its very operating system specific ….and we DON’T KNOW the OS… Don’t specify target and hope for the best – hopefully it will brute force. Use Nessus to identify the weakness, MetaSploit to exploit it Thus … we need a NessusID to MetaSploit sploit name list We built it (thanks GP), and wrote plugins as needed Hopefully it can be an attribute of the sploit (looks at HD..) RHOST, SSL, LHOST – all known to us RPORT known via Nessus scanner Let the user choose the playload and additional parameters
  • 38. Video 10 – BiDiBLAH exploitaion (VMware server)
  • 39. SensePost external methodology So…we are done? In a perfect world…yes... In the real world we have false positives, we have to moderate Nessus results, and we have to write !=*|||(ing reports!!!
  • 40. Video 11 - advance targeting and reporting
  • 41. The Bottom line BiDiBLAH does 80% of the work within 20% of time it takes us The last 20% of the work takes 80% of the project time Some steps in the methodology are really hard to automate This is usually where things are “non-standard”, or an exception It would hopefully raise the bar on mediocre “pen testing” companies Release considerations Group1: “Surely you will not release this to the world – you arming script kiddies with dangerous point and click hacking tools!!? Group2: “Where do we download it? Thus: crippled version (20min run time, no save) released at http://www.sensepost.com/research/bidiblah Full version available on request
  • 42. EXTRA: E-Or release Web APPLICATION assessment tool •http://www.sensepost.com/research/eor