This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "2017 BASC Workshops"

From OWASP
Jump to: navigation, search
(LL Edits)
 
(workshop content)
Line 5: Line 5:
 
We would like to thank our speakers for donating their time and effort to help make this conference successful.
 
We would like to thank our speakers for donating their time and effort to help make this conference successful.
  
{{2017_BASC:Presentaton_Info_Template|Highlights from the Matasano Crypto Challenges|Matt Cheung| | | }}
+
{{2017_BASC:Presentaton_Info_Template|Capture the Flag Arena|Vik Solem and Phil Barrows| | | }}
  
The Matasano Challenges were a collection of exercises to teach people
+
Capture the Flag Arena is a capture the flag game where teams compete against each other in a closed network called the Arena.
about mistakes in the implementation and use of cryptography.  These
 
could be thought of as the homework problems in a course on how
 
cryptography goes wrong.  In this training I selected challenges that I
 
think are illustrative of concepts that can be reused in multiple
 
contexts as well as attacks that can be done in the short time we have
 
for the training.
 
  
The format will alternate between a lecture portion explaining the
+
Teams obtain points by protecting their services, by planting flags on other teams’ servers, and by DOS'ing other teams’ services in the Arena. There are a set of “reference” services provided by the Arena, thus allowing for teams to be offensive only; however teams that elect to defend services have the opportunity to collect more points than possible through attacks alone.
necessary concepts to understand the attack and a lab portion where we
 
will use what we just learned to attack CTF style versions of the
 
challenges. The lab portion will be time bound, but the challenges are
 
available over the internet so if you don't finish, you can continue
 
working after the training.
 
  
==== Topics ====
+
The number of available teams will be limited by the amount of hardware available. As competitors sign up to join the game they may choose to join an existing team (if one is available) or they may choose to start a new team (if one is available). A competitor may join the game only once.
  
* Introduction to Block Ciphers
+
As the game progresses each team may elect to start supporting or to cease supporting one or more services (DNS, HTTP, SSH, ...). A team may select from different VMs with various services pre-packaged for the competition. In order to be scored for running any services the team must support DNS for their domain. Services are provided to teams on VMs, which have vulnerabilities known to the judges. Such vulnerabilities are not disclosed before-hand.
* ECB Mode Attacks
+
The Arena provides top level DNS. Second level domain name service is provided by the DNS implementation running on a VM selected by the team.
* CBC Mode Attacks
 
* Introduction to Public Key Cryptography
 
* (EC)DSA Attacks
 
* RSA Attacks
 
  
==== Technical Requirements ====
+
The Arena scoring system checks scores of each service that can be provided by a team. Defenders receive points for keeping a service online. Attackers and defender receive points depending on the status of the services.
  
Laptop with the following:
+
Example of Scoring team 4:
* Web testing tools such as a MITM proxy (e.g. burp suite), or browser extensions
+
1. scoring system gets page http://www1.team4.com/scorename1.txt
* Development environment ready to support making web requests, socket programming, and large integer arithmetic
+
2. if downloading the page is successful them team 4 gets 1 point.
* Experience programming with web request programming and socket programming will be useful
+
3. if the file matches the value for team 4 then team 4 gets another point.
* I recommend Python as that is what I use and the PyCrypto library will be useful
+
4. if the file matches the value for another team then that team gets a point.
 +
5. scoring system gets page http://www1.team4.com/scorename2.txt
 +
6. if the file matches the value for team 4 then team 4 gets another point.
 +
7. if the file matches the value for another team then that team gets a point.
 +
There may be multiple files per service.
 +
There may be multiple services per VM.
 +
There may be multiple VMs per team.
  
{{2017_BASC:Presentaton_Info_Template|Painless Web and Mobile Hacking 101|Apoorv Munshi| | | }}
+
Depending on the nature of the attack intended, an attacker may register with a judge the intent to DOS another team's service(s) along with the expected time of the outage (start time, length of outage). DOS attacks are mutiple-point scores based on the amount of time of the outage. The points are awarded to the attacker only of the stated result is attained; otherwise the block of points is awarded to the defender.
  
This 1 hour workshop will help you to quickly get started in web and mobile application penetration testing. There are go-to Linux based penetration testing distributions that one can use but for beginners, who are not familiar with Linux and virtualization software, it can be a bit hard. We will see how easy it is to setup the testing environment on any operating system. Although this workshop only covers the setup and not the vulnerabilities, we will provide you with tons of resources and other tools and tips for further study.
+
As the game progresses the judges will release advisories to all competitors regarding specific vulnerabilities in services and/or servers that may have been provided during the game.  
  
==== Outline ====
+
The scoring system will provide a live display of the score for both the individual teams as well as for observers at the conference.
  
# Introduction and motivation for conducting this workshop
+
{{2017_BASC:Presentaton_Info_Template|AppSec Wars Challenge|Stephen Allor| | | }}
# Installation of ZAP’s CA certificate to observe encrypted traffic
 
# Overview of Google Chrome’s developer tools
 
# Walkthrough of ZAP features including context, searching, fuzzer etc.
 
# Setting up Android smartphone for mobile application testing.
 
# Recommendations about books, articles, videos for further study.
 
  
[https://docs.google.com/presentation/d/1rEL31aVjHnQh7zj4Bwy_Za5DUothJfqOVqf3Qi2L5Ao Slides]
+
Join this live interactive tournament which is sure to be a fun, challenging learning experience for all. Whether you are eager to prove your AppSec knowledge and watch as you climb to the top of the Leader board or simply want to learn more about how to code more securely – everyone is welcome and there will be prizes / SWAG for the winner(s). The tournament will be conducted using the Secure Code Warrior platform, an innovative online, hands-on, gamified SaaS Learning Platform that actively engages developers to Learn & Build their secure coding skills. This approach is changing the way developers think and behave as they build & test software.  
  
==== Technical Requirements ====
+
Bring your laptop, choose your preferred language/framework, whether it be C# (.NET) MVC, C# (.NET) Web Forms, Java Enterprise Edition, Java Spring, Python Django, Ruby on Rails and more, and launch into the AppSec Wars Challenge! Who will prove to be The Secure Code Warrior?
  
NOTE: The installation of the required software/tools will NOT be covered in the workshop. Please prepare your system before the workshop.
+
{{2017_BASC:Presentaton_Info_Template|Threat Modeling Workshop|Robert Hurlbut| | | }}
 
 
''A laptop''
 
 
 
Any operating system is fine. 4 GB RAM is recommended for smooth performance.
 
  
''A smartphone''
+
Threat modeling is a way of thinking about what could go wrong and how to prevent it. Instinctively, we all think this way in regards to our own personal security and safety. When it comes to building software, some teams either skip the important step of threat modeling in secure software design or, they have tried threat modeling before but haven't quite figured out how to connect the threat models to real world software development and its priorities. Threat modeling should be part of your secure software design process. Using threat modeling and some principles of risk management, you can design software in a way that makes security one of the top goals, along with performance, scalability, reliability, and maintenance.
  
Android 5.0 and above. Although there won’t be any demo on any iOS device, iOS users can follow similar steps.
+
Objectives:  Attendees will learn about Threat Modeling through understanding concepts and hands-on demos:
 
''Google Chrome 53.x''
 
  
Please download and install the latest version of Google Chrome browser from this link for your operating system:
+
1. Introduction to Threat Modeling, including how to conduct a typical Threat Modeling session
https://www.google.com/chrome/browser/desktop/index.html 
+
2. Understand practical strategies in finding Threats
Navigate to settings > People > Add person.  
+
3. Determine proper Mitigations, and how to apply Risk Management with the Mitigations
Name the new profile as ‘pentest’ or anything you want and click ‘Add’.   
+
4. Review methods of documenting Threats
 +
5. Hands-on demo of one or two Real World Threat Modeling case studies
 +
6. Hands-on demos of the Microsoft Threat Modeling Tool 2016 and/or OWASP Threat Dragon
 +
For some labs:  Laptop recommended, but not requiredGitHub account recommended, but not required.
  
''Java Runtime Environment 8''
+
{{2017_BASC:Presentaton_Info_Template|Pen Testing Android Applications|Roshan Thomas and Anurag Dwivedy| | | }}
  
Please download and install JRE from the following link:
+
This workshop will serve as a beginner's guide to Mobile Application Security. This will enable participants to perform penetration tests on Android applications. Though the time limit doesn't alow us to cover all the vulnerabilities ad test cases, it would focus on the methods which a participant can then build up on.
http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
 
  
OWASP ZAP requires JRE to run.
+
Outline:
  
''OWASP ZAP 2.5.0''
+
Introduction to Android Security
  
Please download and install the OWASP Zed Attack Proxy (ZAP) from this link for your operating system:
+
1. Android Architecture
https://github.com/zaproxy/zaproxy/wiki/Downloads
+
2. Most Common Vulnerabilities [ OWASP Mobile Top Ten ]
For Windows and Mac OS,  the installation is pretty straightforward (via executables).  
 
  
For installation on Linux , please follow the instructions given here:
+
Performing Android Pen Test
https://samiux.blogspot.com/2015/08/howto-zap-on-ubuntu-1404-lts.html
 
 
 
''FoxyProxy Standard Extension for Google Chrome''
 
 
 
Visit this link in Google Chrome and then install the extension.
 
https://chrome.google.com/webstore/detail/foxyproxy-standard/gcknhkkoolaabfmlnjonogaaifnjlfnp
 
 
 
 
 
{{2017_BASC:Presentaton_Info_Template|Threat Modeling Workshop|Robert Hurlbut| | | }}
 
  
Threat modeling is a way of thinking about what could go wrong and how to prevent it. Instinctively, we all think this way in regards to our own personal security and safety. When it comes to building software, some teams either skip the important step of threat modeling in secure software design or, they have tried threat modeling before but haven't quite figured out how to connect the threat models to real world software development and its priorities. Threat modeling should be part of your secure software design process. Using threat modeling and some principals of risk management, you can design software in a way that makes security one of the top goals, along with performance, scalability, reliability, and maintenance.
+
1. Setting up the environment.
 +
2. Intercepting Android Traffic
 +
3. Common issues with interception and how to bypass them
 +
4. Exploiting vulnerabilities
 +
5. Reverse Engineering Android Applications.
 +
Technical Requirement:  The participants need to bring laptops installed with Android SDK, Geny Motion, Oracle Virtual Box, Burp Suite/ Charles Proxy. [Detailed instructions shall be provided prior to the workshop]
  
==== Objectives ====
+
Tools: Dex2jar, JD-GUI, JustTrustMe, Burpsuite etc.
   
 
In this workshop, attendees will learn about Threat Modeling through understanding concepts and hands-on demos:
 
Introduction to Threat Modeling, including how to conduct a typical Threat Modeling session
 
Understand practical strategies in finding Threats, determine proper Mitigations, and how to apply Risk Management with the Mitigations
 
Hands-on demo of one or two Real World Threat Modeling case studies
 
Hands-on demo of the Microsoft Threat Modeling Tool 2016
 
  
==== Materials ====
+
PS: The workshop shall be detailed on a virtual mobile device. But the methodology shall be good for physical android devices as well.
 
Laptop with Microsoft Threat Modeling Tool 2016 installed (highly recommended, but not required)
 
  
{{2017_BASC:Footer_Template | Training}}
+
{{2017_BASC:Footer_Template|Workshops}}

Revision as of 19:47, 30 September 2017

Boston-Banner-468x60.gif
Home | Agenda | Presentations | Workshops | Speakers | Register | Twitter 32.png
Platinum Sponsors

Black Duck Software MIT Lincoln Laboratory Veracode


Gold Sponsors

tCell.io

 

 

Silver Sponsors

Qualys bugcrowd


Sponsorships are available: See Sponsorship Kit
Please help us keep BASC free by viewing and visiting all of our sponsors.


We would like to thank our speakers for donating their time and effort to help make this conference successful.


Capture the Flag Arena

Presented by: Vik Solem and Phil Barrows

Capture the Flag Arena is a capture the flag game where teams compete against each other in a closed network called the Arena.

Teams obtain points by protecting their services, by planting flags on other teams’ servers, and by DOS'ing other teams’ services in the Arena. There are a set of “reference” services provided by the Arena, thus allowing for teams to be offensive only; however teams that elect to defend services have the opportunity to collect more points than possible through attacks alone.

The number of available teams will be limited by the amount of hardware available. As competitors sign up to join the game they may choose to join an existing team (if one is available) or they may choose to start a new team (if one is available). A competitor may join the game only once.

As the game progresses each team may elect to start supporting or to cease supporting one or more services (DNS, HTTP, SSH, ...). A team may select from different VMs with various services pre-packaged for the competition. In order to be scored for running any services the team must support DNS for their domain. Services are provided to teams on VMs, which have vulnerabilities known to the judges. Such vulnerabilities are not disclosed before-hand. The Arena provides top level DNS. Second level domain name service is provided by the DNS implementation running on a VM selected by the team.

The Arena scoring system checks scores of each service that can be provided by a team. Defenders receive points for keeping a service online. Attackers and defender receive points depending on the status of the services.

Example of Scoring team 4: 1. scoring system gets page http://www1.team4.com/scorename1.txt 2. if downloading the page is successful them team 4 gets 1 point. 3. if the file matches the value for team 4 then team 4 gets another point. 4. if the file matches the value for another team then that team gets a point. 5. scoring system gets page http://www1.team4.com/scorename2.txt 6. if the file matches the value for team 4 then team 4 gets another point. 7. if the file matches the value for another team then that team gets a point. There may be multiple files per service. There may be multiple services per VM. There may be multiple VMs per team.

Depending on the nature of the attack intended, an attacker may register with a judge the intent to DOS another team's service(s) along with the expected time of the outage (start time, length of outage). DOS attacks are mutiple-point scores based on the amount of time of the outage. The points are awarded to the attacker only of the stated result is attained; otherwise the block of points is awarded to the defender.

As the game progresses the judges will release advisories to all competitors regarding specific vulnerabilities in services and/or servers that may have been provided during the game.

The scoring system will provide a live display of the score for both the individual teams as well as for observers at the conference.


AppSec Wars Challenge

Presented by: Stephen Allor

Join this live interactive tournament which is sure to be a fun, challenging learning experience for all. Whether you are eager to prove your AppSec knowledge and watch as you climb to the top of the Leader board or simply want to learn more about how to code more securely – everyone is welcome and there will be prizes / SWAG for the winner(s). The tournament will be conducted using the Secure Code Warrior platform, an innovative online, hands-on, gamified SaaS Learning Platform that actively engages developers to Learn & Build their secure coding skills. This approach is changing the way developers think and behave as they build & test software.

Bring your laptop, choose your preferred language/framework, whether it be C# (.NET) MVC, C# (.NET) Web Forms, Java Enterprise Edition, Java Spring, Python Django, Ruby on Rails and more, and launch into the AppSec Wars Challenge! Who will prove to be The Secure Code Warrior?


Threat Modeling Workshop

Presented by: Robert Hurlbut

Threat modeling is a way of thinking about what could go wrong and how to prevent it. Instinctively, we all think this way in regards to our own personal security and safety. When it comes to building software, some teams either skip the important step of threat modeling in secure software design or, they have tried threat modeling before but haven't quite figured out how to connect the threat models to real world software development and its priorities. Threat modeling should be part of your secure software design process. Using threat modeling and some principles of risk management, you can design software in a way that makes security one of the top goals, along with performance, scalability, reliability, and maintenance.

Objectives: Attendees will learn about Threat Modeling through understanding concepts and hands-on demos:

1. Introduction to Threat Modeling, including how to conduct a typical Threat Modeling session 2. Understand practical strategies in finding Threats 3. Determine proper Mitigations, and how to apply Risk Management with the Mitigations 4. Review methods of documenting Threats 5. Hands-on demo of one or two Real World Threat Modeling case studies 6. Hands-on demos of the Microsoft Threat Modeling Tool 2016 and/or OWASP Threat Dragon For some labs: Laptop recommended, but not required. GitHub account recommended, but not required.


Pen Testing Android Applications

Presented by: Roshan Thomas and Anurag Dwivedy

This workshop will serve as a beginner's guide to Mobile Application Security. This will enable participants to perform penetration tests on Android applications. Though the time limit doesn't alow us to cover all the vulnerabilities ad test cases, it would focus on the methods which a participant can then build up on.

Outline:

Introduction to Android Security

1. Android Architecture 2. Most Common Vulnerabilities [ OWASP Mobile Top Ten ]

Performing Android Pen Test

1. Setting up the environment. 2. Intercepting Android Traffic 3. Common issues with interception and how to bypass them 4. Exploiting vulnerabilities 5. Reverse Engineering Android Applications. Technical Requirement: The participants need to bring laptops installed with Android SDK, Geny Motion, Oracle Virtual Box, Burp Suite/ Charles Proxy. [Detailed instructions shall be provided prior to the workshop]

Tools: Dex2jar, JD-GUI, JustTrustMe, Burpsuite etc.

PS: The workshop shall be detailed on a virtual mobile device. But the methodology shall be good for physical android devices as well.

You can find out more about this conference at the 2017 BASC Homepage
or by emailing [email protected]
Twitter 32.png