SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Gauntlt: Go Ahead, Be
                            Mean to Your Code




Tuesday, December 18, 12
Would you vote for this talk
                      as the best if...?

                       A. If its funny
                       B. If it useful to my job
                       C. Dude, I know you want to win
                       the iPad, you are down to 4 min
                       and 37 seconds, stop surveying
                       and start talking!
Tuesday, December 18, 12
@wickett
                           Sr. DevOps Engineer
                           Mentor Graphics,
                           Embedded Software
                           Division
                           CISSP, GWAPT, CCSK,
                           GSEC, GCFW
                           james@gauntlt.org

                           gauntlt.org


Tuesday, December 18, 12
A BRIEF HISTORY
                           OF INFOSEC


Tuesday, December 18, 12
WE HAD
     CINEMA



Tuesday, December 18, 12
WE MADE FREE
      PHONE CALLS
Tuesday, December 18, 12
WE WERE COOL




Tuesday, December 18, 12
WE COULDN’T STOP THE
               VIRUSES AND WORMS



Tuesday, December 18, 12
INSTEAD OF ENGINEERING
               INFOSEC BECAME ACTUARIES




Tuesday, December 18, 12
“[RISK ASSESSMENT] INTRODUCES A
                   DANGEROUS FALLACY: THAT
                   STRUCTURED INADEQUACY IS
                   ALMOST AS GOOD AS ADEQUACY
                   AND THAT UNDERFUNDED
                   SECURITY EFFORTS PLUS RISK
                   MANAGEMENT ARE ABOUT AS
                   GOOD AS PROPERLY FUNDED
                   SECURITY WORK” - MICHAL ZALEWSKI




Tuesday, December 18, 12
“IS THIS SECURE?”
                           -YOUR CUSTOMER



Tuesday, December 18, 12
“ITS CERTIFIED”- YOU



Tuesday, December 18, 12
Tuesday, December 18, 12
NO PAIN, NO GAIN




Tuesday, December 18, 12
Put your code through the Gauntlet




Tuesday, December 18, 12
Put your code through the Gauntlet




                     Your web app   You


Tuesday, December 18, 12
Put your code through the Gauntlet
                            generic   w3af
                           garmr      sqlmap

                      fuzzers                curl

            sslyze                                  nmap



                     Your web app     You


Tuesday, December 18, 12
GAUNTLT ALLOWS DEV AND
               OPS AND SECURITY TO
               COMMUNICATE

Tuesday, December 18, 12
install gauntlt

                   $ gem install gauntlt

                   # download example attacks from github
                   # customize the example attacks
                   # now you can run gauntlt

                   $ gauntlt

                   # gauntlt looks for *.attack in its
                   # directory



                   Examples > https://github.com/thegauntlet/gauntlt/tree/master/examples


Tuesday, December 18, 12
@slow                                          nmap.attack
   Feature: nmap attacks for example.com
     Background:
       Given "nmap" is installed
       And the following profile:
         | name           | value        |
         | hostname       | example.com |
         | tcp_ping_ports | 22,25,80,443 |

       Scenario: Verify server is open on expected ports
         When I launch an "nmap" attack with:
           """
           nmap -F <hostname>
           """
         Then the output should contain:
           """
           80/tcp open https
           """
       Scenario: Verify that there are no unexpected ports open
         When I launch an "nmap" attack with:
           """
           nmap -F <hostname>
           """
         Then the output should not contain:
           """
           25/tcp
           """
Tuesday, December 18, 12
running gauntlt with failing tests
        wickett$ gauntlt

        @slow
        Feature: nmap attacks for example.com

            Background:
              Given "nmap" is installed
              And the following profile:
                | name           | value        |
                | hostname       | example.com |
                | tcp_ping_ports | 22,25,80,443 |

            Scenario: Verify server is open on expected ports
              When   I launch an "nmap" attack with:
                """
                nmap -F www.example.com
                """
              Then the output should contain:
                """
                443/tcp open https
                """

        1 scenario (1 failed)
        5 steps (1 failed, 4 passed)
        0m18.341s

Tuesday, December 18, 12
running gauntlt with passing tests
        wickett$ gauntlt

        @slow
        Feature: nmap attacks for example.com

            Background:
              Given "nmap" is installed
              And the following profile:
                | name           | value        |
                | hostname       | example.com |
                | tcp_ping_ports | 22,25,80,443 |

            Scenario: Verify server is open on expected ports
              When   I launch an "nmap" attack with:
                """
                nmap -F www.example.com
                """
              Then the output should contain:
                """
                443/tcp open https
                """

        1 scenario (1 passed)
        5 steps (5 passed)
        0m18.341s

Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
                                 python <sqlmap_path> -u <target_url>
                               """
                             Then the output should contain:
                               """
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                Scenario: Identify SQL injection vulnerabilities
                  Given "sqlmap" is installed
    setup steps
                  And the target URL is "http://localhost?id=1"
                  When I launch a "sqlmap" attack with:
                    """
                      python <sqlmap_path> -u <target_url>
                    """
                  Then the output should contain:
                    """
                    sqlmap identified the following injection points
                    """




Tuesday, December 18, 12
Feature: Run sqlmap against a target
                                                 verify
                Scenario: Identify SQL injection vulnerabilities
                                                  tool
                  Given "sqlmap" is installed
    setup steps
                  And the target URL is "http://localhost?id=1"
                  When I launch a "sqlmap" attack with:
                    """
                      python <sqlmap_path> -u <target_url>
                    """
                  Then the output should contain:
                    """
                    sqlmap identified the following injection points
                    """




Tuesday, December 18, 12
Feature: Run sqlmap against a target
                                                 verify
                Scenario: Identify SQL injection vulnerabilities
                                                  tool
                  Given "sqlmap" is installed
    setup steps
                  And the target URL is "http://localhost?id=1"
                  When I launch a "sqlmap" attack with:            set
                    """                                           config
                      python <sqlmap_path> -u <target_url>
                    """
                  Then the output should contain:
                    """
                    sqlmap identified the following injection points
                    """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
                                 python <sqlmap_path> -u <target_url>
                               """
                             Then the output should contain:
                               """
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
        attack!
                                 python <sqlmap_path> -u <target_url>
                               """
                             Then the output should contain:
                               """
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
        attack!
                                 python <sqlmap_path> -u <target_url>
                               """
                                   env
                             Then the output should contain:
                                 param
                               """
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
        attack!
                                 python <sqlmap_path> -u <target_url>
                               """
                                   env
                             Then the output should contain:             get
                                 param                                  config
                               """
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
                                 python <sqlmap_path> -u <target_url>
                               """
                             Then the output should contain:
                               """
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
                                 python <sqlmap_path> -u <target_url>
                               """
                             Then the output should contain:
                               """
        assert
                               sqlmap identified the following injection points
                               """




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
                                 python <sqlmap_path> -u <target_url>
                               """
                             Then the output should contain:
                               """
        assert
                               sqlmap identified the following injection points
                               """

                                       needle




Tuesday, December 18, 12
Feature: Run sqlmap against a target

                           Scenario: Identify SQL injection vulnerabilities
                             Given "sqlmap" is installed
                             And the target URL is "http://localhost?id=1"
                             When I launch a "sqlmap" attack with:
                               """
                                 python <sqlmap_path> -u <target_url>
                               """                             haystack
                             Then the output should contain:
                               """
        assert
                               sqlmap identified the following injection points
                               """

                                       needle




Tuesday, December 18, 12
Given /^"sqlmap" is installed$/ do
                             ensure_python_script_installed('sqlmap')
                           end

                           When /^I launch an? "sqlmap" attack with:$/ do |command|
                             sqlmap_path = path_to_python_script("sqlmap")

                             command.gsub!('<target_url>', target_url)
                             command.gsub!('<sqlmap_path>', sqlmap_path)
                             run command
                           end




Tuesday, December 18, 12
Given /^"sqlmap" is installed$/ do
  step definition             ensure_python_script_installed('sqlmap')
                           end

                           When /^I launch an? "sqlmap" attack with:$/ do |command|
                             sqlmap_path = path_to_python_script("sqlmap")

                             command.gsub!('<target_url>', target_url)
                             command.gsub!('<sqlmap_path>', sqlmap_path)
                             run command
                           end




Tuesday, December 18, 12
Given /^"sqlmap" is installed$/ do
  step definition             ensure_python_script_installed('sqlmap')      ruby
                           end

                           When /^I launch an? "sqlmap" attack with:$/ do |command|
                             sqlmap_path = path_to_python_script("sqlmap")

                             command.gsub!('<target_url>', target_url)
                             command.gsub!('<sqlmap_path>', sqlmap_path)
                             run command
                           end




Tuesday, December 18, 12
Given /^"sqlmap" is installed$/ do
                             ensure_python_script_installed('sqlmap')
                           end

                           When /^I launch an? "sqlmap" attack with:$/ do |command|
                             sqlmap_path = path_to_python_script("sqlmap")

                             command.gsub!('<target_url>', target_url)
                             command.gsub!('<sqlmap_path>', sqlmap_path)
                             run command
                           end




Tuesday, December 18, 12
Given /^"sqlmap" is installed$/ do
                             ensure_python_script_installed('sqlmap')
                           end

                           When /^I launch an? "sqlmap" attack with:$/ do |command|
                             sqlmap_path = path_to_python_script("sqlmap")

  step definition             command.gsub!('<target_url>', target_url)
                             command.gsub!('<sqlmap_path>', sqlmap_path)
                             run command
                           end




Tuesday, December 18, 12
Given /^"sqlmap" is installed$/ do
                             ensure_python_script_installed('sqlmap')
                           end

                           When /^I launch an? "sqlmap" attack with:$/ do |command|
                             sqlmap_path = path_to_python_script("sqlmap")

  step definition             command.gsub!('<target_url>', target_url)
                             command.gsub!('<sqlmap_path>', sqlmap_path)
                             run command
                           end
                                           execute




Tuesday, December 18, 12
Supported Tools

                   • curl
                   • nmap
                   • sslyze
                   • sqlmap
                   • Garmr
                   • generic command line
Tuesday, December 18, 12
Try it yourself at
                            http://gauntlt.org/
                           with the new gauntlt
                              video tutorial!

Tuesday, December 18, 12

Contenu connexe

Tendances

Advanced Weapons Training for the Empire
Advanced Weapons Training for the EmpireAdvanced Weapons Training for the Empire
Advanced Weapons Training for the EmpireJeremy Johnson
 
Be Mean to Your Code
Be Mean to Your CodeBe Mean to Your Code
Be Mean to Your CodeJames Wickett
 
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...CODE BLUE
 
HTTP For the Good or the Bad
HTTP For the Good or the BadHTTP For the Good or the Bad
HTTP For the Good or the BadXavier Mertens
 
Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016Daniel Bohannon
 
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In PerlNagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In PerlNagios
 
Fantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find ThemFantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find ThemRoss Wolf
 
Windows Attacks AT is the new black
Windows Attacks   AT is the new blackWindows Attacks   AT is the new black
Windows Attacks AT is the new blackRob Fuller
 
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...Andrey Devyatkin
 
JWT! JWT! Let it all out!
JWT! JWT! Let it all out!JWT! JWT! Let it all out!
JWT! JWT! Let it all out!John Anderson
 
Modern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSDModern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSDSean Chittenden
 
Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017Daniel Bohannon
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival GuideHLL
 
Open Canary - novahackers
Open Canary - novahackersOpen Canary - novahackers
Open Canary - novahackersChris Gates
 
HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩smalltown
 
Red Team vs Blue Team on AWS - RSA 2018
Red Team vs Blue Team on AWS - RSA 2018Red Team vs Blue Team on AWS - RSA 2018
Red Team vs Blue Team on AWS - RSA 2018Teri Radichel
 

Tendances (20)

Advanced Weapons Training for the Empire
Advanced Weapons Training for the EmpireAdvanced Weapons Training for the Empire
Advanced Weapons Training for the Empire
 
Be Mean to Your Code
Be Mean to Your CodeBe Mean to Your Code
Be Mean to Your Code
 
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
[CB16] About the cyber grand challenge: the world’s first all-machine hacking...
 
HTTP For the Good or the Bad
HTTP For the Good or the BadHTTP For the Good or the Bad
HTTP For the Good or the Bad
 
Writing nagios plugins in perl
Writing nagios plugins in perlWriting nagios plugins in perl
Writing nagios plugins in perl
 
Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016Invoke-Obfuscation DerbyCon 2016
Invoke-Obfuscation DerbyCon 2016
 
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In PerlNagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
Nagios Conference 2011 - Nathan Vonnahme - Writing Custom Nagios Plugins In Perl
 
Fantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find ThemFantastic Red Team Attacks and How to Find Them
Fantastic Red Team Attacks and How to Find Them
 
Windows Attacks AT is the new black
Windows Attacks   AT is the new blackWindows Attacks   AT is the new black
Windows Attacks AT is the new black
 
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
2020-02-20 - HashiTalks 2020 - HashiCorp Vault configuration as code via Hash...
 
Us 17-krug-hacking-severless-runtimes
Us 17-krug-hacking-severless-runtimesUs 17-krug-hacking-severless-runtimes
Us 17-krug-hacking-severless-runtimes
 
JWT! JWT! Let it all out!
JWT! JWT! Let it all out!JWT! JWT! Let it all out!
JWT! JWT! Let it all out!
 
Ace Up the Sleeve
Ace Up the SleeveAce Up the Sleeve
Ace Up the Sleeve
 
Modern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSDModern tooling to assist with developing applications on FreeBSD
Modern tooling to assist with developing applications on FreeBSD
 
Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017Invoke-Obfuscation nullcon 2017
Invoke-Obfuscation nullcon 2017
 
Bridging the Gap
Bridging the GapBridging the Gap
Bridging the Gap
 
DDoS: Practical Survival Guide
DDoS: Practical Survival GuideDDoS: Practical Survival Guide
DDoS: Practical Survival Guide
 
Open Canary - novahackers
Open Canary - novahackersOpen Canary - novahackers
Open Canary - novahackers
 
HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩HashiCorp Vault Workshop:幫 Credentials 找個窩
HashiCorp Vault Workshop:幫 Credentials 找個窩
 
Red Team vs Blue Team on AWS - RSA 2018
Red Team vs Blue Team on AWS - RSA 2018Red Team vs Blue Team on AWS - RSA 2018
Red Team vs Blue Team on AWS - RSA 2018
 

Similaire à Gauntlt: Go Ahead, Be Mean to your Code

Putting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps ToolchainPutting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps ToolchainJames Wickett
 
Make Your Life Easier With Maatkit
Make Your Life Easier With MaatkitMake Your Life Easier With Maatkit
Make Your Life Easier With MaatkitMySQLConference
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From DesignRobert Treat
 
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...festival ICT 2016
 
Rugged Driven Development with Gauntlt
Rugged Driven Development with GauntltRugged Driven Development with Gauntlt
Rugged Driven Development with GauntltJames Wickett
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in productionParis Data Engineers !
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Aleksandr Yampolskiy
 
Securing Rails
Securing RailsSecuring Rails
Securing RailsAlex Payne
 
Approach to find critical vulnerabilities
Approach to find critical vulnerabilitiesApproach to find critical vulnerabilities
Approach to find critical vulnerabilitiesAshish Kunwar
 
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchaginstackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat KorchaginNETWAYS
 
Analysis of an exploited npm package
Analysis of an exploited npm packageAnalysis of an exploited npm package
Analysis of an exploited npm packageParth Parmar
 
Web 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web AppsWeb 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web Appsadunne
 
Puppet at Pinterest
Puppet at PinterestPuppet at Pinterest
Puppet at PinterestPuppet
 
Drupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityDrupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityMediacurrent
 
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf
 

Similaire à Gauntlt: Go Ahead, Be Mean to your Code (20)

Gauntlt Rugged By Example
Gauntlt Rugged By ExampleGauntlt Rugged By Example
Gauntlt Rugged By Example
 
Putting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps ToolchainPutting Rugged Into your DevOps Toolchain
Putting Rugged Into your DevOps Toolchain
 
Make Your Life Easier With Maatkit
Make Your Life Easier With MaatkitMake Your Life Easier With Maatkit
Make Your Life Easier With Maatkit
 
What Ops Can Learn From Design
What Ops Can Learn From DesignWhat Ops Can Learn From Design
What Ops Can Learn From Design
 
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
 
Rugged Driven Development with Gauntlt
Rugged Driven Development with GauntltRugged Driven Development with Gauntlt
Rugged Driven Development with Gauntlt
 
10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production10 things i wish i'd known before using spark in production
10 things i wish i'd known before using spark in production
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?
 
Securing Rails
Securing RailsSecuring Rails
Securing Rails
 
Approach to find critical vulnerabilities
Approach to find critical vulnerabilitiesApproach to find critical vulnerabilities
Approach to find critical vulnerabilities
 
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchaginstackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
stackconf 2020 | Speeding up Linux disk encryption by Ignat Korchagin
 
Lisa14
Lisa14Lisa14
Lisa14
 
Analysis of an exploited npm package
Analysis of an exploited npm packageAnalysis of an exploited npm package
Analysis of an exploited npm package
 
Da APK al Golden Ticket
Da APK al Golden TicketDa APK al Golden Ticket
Da APK al Golden Ticket
 
Web 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web AppsWeb 2.0 Performance and Reliability: How to Run Large Web Apps
Web 2.0 Performance and Reliability: How to Run Large Web Apps
 
Os Wilhelm
Os WilhelmOs Wilhelm
Os Wilhelm
 
Puppet at Pinterest
Puppet at PinterestPuppet at Pinterest
Puppet at Pinterest
 
Drupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal SecurityDrupal Camp Atlanta 2011 - Drupal Security
Drupal Camp Atlanta 2011 - Drupal Security
 
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
idsecconf2023 - Satria Ady Pradana - Launch into the Stratus-phere Adversary ...
 
RAT - Repurposing Adversarial Tradecraft
RAT - Repurposing Adversarial TradecraftRAT - Repurposing Adversarial Tradecraft
RAT - Repurposing Adversarial Tradecraft
 

Plus de James Wickett

A Pragmatic Union: Security and SRE
A Pragmatic Union: Security and SREA Pragmatic Union: Security and SRE
A Pragmatic Union: Security and SREJames Wickett
 
A Way to Think about DevSecOps: MEASURE
A Way to Think about DevSecOps: MEASUREA Way to Think about DevSecOps: MEASURE
A Way to Think about DevSecOps: MEASUREJames Wickett
 
The Security, DevOps, and Chaos Playbook to Change the World
The Security, DevOps, and Chaos Playbook to Change the WorldThe Security, DevOps, and Chaos Playbook to Change the World
The Security, DevOps, and Chaos Playbook to Change the WorldJames Wickett
 
Pragmatic Pipeline Security
Pragmatic Pipeline SecurityPragmatic Pipeline Security
Pragmatic Pipeline SecurityJames Wickett
 
A Tale of Woe, Chaos, and Business
A Tale of Woe, Chaos, and BusinessA Tale of Woe, Chaos, and Business
A Tale of Woe, Chaos, and BusinessJames Wickett
 
A DevSecOps Tale of Business, Engineering, and People
A DevSecOps Tale of Business, Engineering, and PeopleA DevSecOps Tale of Business, Engineering, and People
A DevSecOps Tale of Business, Engineering, and PeopleJames Wickett
 
The New Ways of DevSecOps - The Secure Dev 2019
The New Ways of DevSecOps - The Secure Dev 2019The New Ways of DevSecOps - The Secure Dev 2019
The New Ways of DevSecOps - The Secure Dev 2019James Wickett
 
NewOps Days 2019: The New Ways of Chaos, Security, and DevOps
NewOps Days 2019: The New Ways of Chaos, Security, and DevOpsNewOps Days 2019: The New Ways of Chaos, Security, and DevOps
NewOps Days 2019: The New Ways of Chaos, Security, and DevOpsJames Wickett
 
The New Ways of Chaos, Security, and DevOps
The New Ways of Chaos, Security, and DevOpsThe New Ways of Chaos, Security, and DevOps
The New Ways of Chaos, Security, and DevOpsJames Wickett
 
DevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS LaneDevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS LaneJames Wickett
 
The Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOpThe Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOpJames Wickett
 
Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019James Wickett
 
Release Your Inner DevSecOp
Release Your Inner DevSecOpRelease Your Inner DevSecOp
Release Your Inner DevSecOpJames Wickett
 
Security in the FaaS Lane
Security in the FaaS LaneSecurity in the FaaS Lane
Security in the FaaS LaneJames Wickett
 
The New Security Playbook: DevSecOps
The New Security Playbook: DevSecOpsThe New Security Playbook: DevSecOps
The New Security Playbook: DevSecOpsJames Wickett
 
The Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CDThe Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CDJames Wickett
 
Adversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldAdversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldJames Wickett
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineThe DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineJames Wickett
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
 
The State of DevSecOps in 2018
The State of DevSecOps in 2018The State of DevSecOps in 2018
The State of DevSecOps in 2018James Wickett
 

Plus de James Wickett (20)

A Pragmatic Union: Security and SRE
A Pragmatic Union: Security and SREA Pragmatic Union: Security and SRE
A Pragmatic Union: Security and SRE
 
A Way to Think about DevSecOps: MEASURE
A Way to Think about DevSecOps: MEASUREA Way to Think about DevSecOps: MEASURE
A Way to Think about DevSecOps: MEASURE
 
The Security, DevOps, and Chaos Playbook to Change the World
The Security, DevOps, and Chaos Playbook to Change the WorldThe Security, DevOps, and Chaos Playbook to Change the World
The Security, DevOps, and Chaos Playbook to Change the World
 
Pragmatic Pipeline Security
Pragmatic Pipeline SecurityPragmatic Pipeline Security
Pragmatic Pipeline Security
 
A Tale of Woe, Chaos, and Business
A Tale of Woe, Chaos, and BusinessA Tale of Woe, Chaos, and Business
A Tale of Woe, Chaos, and Business
 
A DevSecOps Tale of Business, Engineering, and People
A DevSecOps Tale of Business, Engineering, and PeopleA DevSecOps Tale of Business, Engineering, and People
A DevSecOps Tale of Business, Engineering, and People
 
The New Ways of DevSecOps - The Secure Dev 2019
The New Ways of DevSecOps - The Secure Dev 2019The New Ways of DevSecOps - The Secure Dev 2019
The New Ways of DevSecOps - The Secure Dev 2019
 
NewOps Days 2019: The New Ways of Chaos, Security, and DevOps
NewOps Days 2019: The New Ways of Chaos, Security, and DevOpsNewOps Days 2019: The New Ways of Chaos, Security, and DevOps
NewOps Days 2019: The New Ways of Chaos, Security, and DevOps
 
The New Ways of Chaos, Security, and DevOps
The New Ways of Chaos, Security, and DevOpsThe New Ways of Chaos, Security, and DevOps
The New Ways of Chaos, Security, and DevOps
 
DevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS LaneDevOpsDays Austin: Security in the FaaS Lane
DevOpsDays Austin: Security in the FaaS Lane
 
The Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOpThe Seven Habits of the Highly Effective DevSecOp
The Seven Habits of the Highly Effective DevSecOp
 
Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019Serverless Security: A How-to Guide @ SnowFROC 2019
Serverless Security: A How-to Guide @ SnowFROC 2019
 
Release Your Inner DevSecOp
Release Your Inner DevSecOpRelease Your Inner DevSecOp
Release Your Inner DevSecOp
 
Security in the FaaS Lane
Security in the FaaS LaneSecurity in the FaaS Lane
Security in the FaaS Lane
 
The New Security Playbook: DevSecOps
The New Security Playbook: DevSecOpsThe New Security Playbook: DevSecOps
The New Security Playbook: DevSecOps
 
The Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CDThe Emergent Cloud Security Toolchain for CI/CD
The Emergent Cloud Security Toolchain for CI/CD
 
Adversary Driven Defense in the Real World
Adversary Driven Defense in the Real WorldAdversary Driven Defense in the Real World
Adversary Driven Defense in the Real World
 
The DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD PipelineThe DevSecOps Builder’s Guide to the CI/CD Pipeline
The DevSecOps Builder’s Guide to the CI/CD Pipeline
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
The State of DevSecOps in 2018
The State of DevSecOps in 2018The State of DevSecOps in 2018
The State of DevSecOps in 2018
 

Dernier

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Dernier (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

Gauntlt: Go Ahead, Be Mean to your Code

  • 1. Gauntlt: Go Ahead, Be Mean to Your Code Tuesday, December 18, 12
  • 2. Would you vote for this talk as the best if...? A. If its funny B. If it useful to my job C. Dude, I know you want to win the iPad, you are down to 4 min and 37 seconds, stop surveying and start talking! Tuesday, December 18, 12
  • 3. @wickett Sr. DevOps Engineer Mentor Graphics, Embedded Software Division CISSP, GWAPT, CCSK, GSEC, GCFW james@gauntlt.org gauntlt.org Tuesday, December 18, 12
  • 4. A BRIEF HISTORY OF INFOSEC Tuesday, December 18, 12
  • 5. WE HAD CINEMA Tuesday, December 18, 12
  • 6. WE MADE FREE PHONE CALLS Tuesday, December 18, 12
  • 7. WE WERE COOL Tuesday, December 18, 12
  • 8. WE COULDN’T STOP THE VIRUSES AND WORMS Tuesday, December 18, 12
  • 9. INSTEAD OF ENGINEERING INFOSEC BECAME ACTUARIES Tuesday, December 18, 12
  • 10. “[RISK ASSESSMENT] INTRODUCES A DANGEROUS FALLACY: THAT STRUCTURED INADEQUACY IS ALMOST AS GOOD AS ADEQUACY AND THAT UNDERFUNDED SECURITY EFFORTS PLUS RISK MANAGEMENT ARE ABOUT AS GOOD AS PROPERLY FUNDED SECURITY WORK” - MICHAL ZALEWSKI Tuesday, December 18, 12
  • 11. “IS THIS SECURE?” -YOUR CUSTOMER Tuesday, December 18, 12
  • 14. NO PAIN, NO GAIN Tuesday, December 18, 12
  • 15. Put your code through the Gauntlet Tuesday, December 18, 12
  • 16. Put your code through the Gauntlet Your web app You Tuesday, December 18, 12
  • 17. Put your code through the Gauntlet generic w3af garmr sqlmap fuzzers curl sslyze nmap Your web app You Tuesday, December 18, 12
  • 18. GAUNTLT ALLOWS DEV AND OPS AND SECURITY TO COMMUNICATE Tuesday, December 18, 12
  • 19. install gauntlt $ gem install gauntlt # download example attacks from github # customize the example attacks # now you can run gauntlt $ gauntlt # gauntlt looks for *.attack in its # directory Examples > https://github.com/thegauntlet/gauntlt/tree/master/examples Tuesday, December 18, 12
  • 20. @slow nmap.attack Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 | Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should contain: """ 80/tcp open https """ Scenario: Verify that there are no unexpected ports open When I launch an "nmap" attack with: """ nmap -F <hostname> """ Then the output should not contain: """ 25/tcp """ Tuesday, December 18, 12
  • 21. running gauntlt with failing tests wickett$ gauntlt @slow Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 | Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F www.example.com """ Then the output should contain: """ 443/tcp open https """ 1 scenario (1 failed) 5 steps (1 failed, 4 passed) 0m18.341s Tuesday, December 18, 12
  • 22. running gauntlt with passing tests wickett$ gauntlt @slow Feature: nmap attacks for example.com Background: Given "nmap" is installed And the following profile: | name | value | | hostname | example.com | | tcp_ping_ports | 22,25,80,443 | Scenario: Verify server is open on expected ports When I launch an "nmap" attack with: """ nmap -F www.example.com """ Then the output should contain: """ 443/tcp open https """ 1 scenario (1 passed) 5 steps (5 passed) 0m18.341s Tuesday, December 18, 12
  • 23. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 24. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed setup steps And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 25. Feature: Run sqlmap against a target verify Scenario: Identify SQL injection vulnerabilities tool Given "sqlmap" is installed setup steps And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 26. Feature: Run sqlmap against a target verify Scenario: Identify SQL injection vulnerabilities tool Given "sqlmap" is installed setup steps And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: set """ config python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 27. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 28. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ attack! python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 29. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ attack! python <sqlmap_path> -u <target_url> """ env Then the output should contain: param """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 30. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ attack! python <sqlmap_path> -u <target_url> """ env Then the output should contain: get param config """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 31. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 32. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ assert sqlmap identified the following injection points """ Tuesday, December 18, 12
  • 33. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ Then the output should contain: """ assert sqlmap identified the following injection points """ needle Tuesday, December 18, 12
  • 34. Feature: Run sqlmap against a target Scenario: Identify SQL injection vulnerabilities Given "sqlmap" is installed And the target URL is "http://localhost?id=1" When I launch a "sqlmap" attack with: """ python <sqlmap_path> -u <target_url> """ haystack Then the output should contain: """ assert sqlmap identified the following injection points """ needle Tuesday, December 18, 12
  • 35. Given /^"sqlmap" is installed$/ do ensure_python_script_installed('sqlmap') end When /^I launch an? "sqlmap" attack with:$/ do |command| sqlmap_path = path_to_python_script("sqlmap") command.gsub!('<target_url>', target_url) command.gsub!('<sqlmap_path>', sqlmap_path) run command end Tuesday, December 18, 12
  • 36. Given /^"sqlmap" is installed$/ do step definition ensure_python_script_installed('sqlmap') end When /^I launch an? "sqlmap" attack with:$/ do |command| sqlmap_path = path_to_python_script("sqlmap") command.gsub!('<target_url>', target_url) command.gsub!('<sqlmap_path>', sqlmap_path) run command end Tuesday, December 18, 12
  • 37. Given /^"sqlmap" is installed$/ do step definition ensure_python_script_installed('sqlmap') ruby end When /^I launch an? "sqlmap" attack with:$/ do |command| sqlmap_path = path_to_python_script("sqlmap") command.gsub!('<target_url>', target_url) command.gsub!('<sqlmap_path>', sqlmap_path) run command end Tuesday, December 18, 12
  • 38. Given /^"sqlmap" is installed$/ do ensure_python_script_installed('sqlmap') end When /^I launch an? "sqlmap" attack with:$/ do |command| sqlmap_path = path_to_python_script("sqlmap") command.gsub!('<target_url>', target_url) command.gsub!('<sqlmap_path>', sqlmap_path) run command end Tuesday, December 18, 12
  • 39. Given /^"sqlmap" is installed$/ do ensure_python_script_installed('sqlmap') end When /^I launch an? "sqlmap" attack with:$/ do |command| sqlmap_path = path_to_python_script("sqlmap") step definition command.gsub!('<target_url>', target_url) command.gsub!('<sqlmap_path>', sqlmap_path) run command end Tuesday, December 18, 12
  • 40. Given /^"sqlmap" is installed$/ do ensure_python_script_installed('sqlmap') end When /^I launch an? "sqlmap" attack with:$/ do |command| sqlmap_path = path_to_python_script("sqlmap") step definition command.gsub!('<target_url>', target_url) command.gsub!('<sqlmap_path>', sqlmap_path) run command end execute Tuesday, December 18, 12
  • 41. Supported Tools • curl • nmap • sslyze • sqlmap • Garmr • generic command line Tuesday, December 18, 12
  • 42. Try it yourself at http://gauntlt.org/ with the new gauntlt video tutorial! Tuesday, December 18, 12