SEC552: Bug Bounties and Responsible Disclosure

Provided by

About the course

SANS SEC552 teaches students how to apply modern attack techniques, inspired by real-world bug bounty case studies. The course will teach pen testers how to discover and responsibly disclose tricky, logic-based application flaws that automated scanning tools do not reveal.

What You Will Learn
Pen testers and security researchers face the challenge of discovering and weaponizing complicated vulnerabilities in order to properly perform security assessments for applications. Modern applications are enriched with advanced and complex features that increase the attack surface. Every application has its own unique logic that requires the pen tester to deeply understand how the app functions before beginning a security assessment. Discovering and exploiting tricky security bugs in these assessments requires the art of mixing manual and automated techniques.

Bug bounty programs are put in place so that the security community can help vendors discover application security flaws that are difficult to discover and exploit. The scope of such programs includes security bugs for web apps, mobile apps, APIs, and more. Large IT companies, such as Google, Facebook, Twitter, and PayPal, have participated in such programs. Security researchers who follow the responsible disclosure policy of bug bounty programs are rewarded and acknowledged, since such programs improve and secure applications.

SEC552 is inspired from case studies found in various bug bounty programs, drawing on recent real-life examples of web and mobile app attacks. The experiences of different researchers yield ideas for pen testers and developers about unconventional attack techniques and mindsets. Each section of the course is influenced by bug bounty stories that are examined through the following structure:

  • Attack concept: The idea, concept, and root cause of the attack.
  • Test technique: How to test and discover the application security flaw manually and automatically.
  • Attack exercise: This lab uses tools such as Burp Professional to analyze the vulnerable applications.
  • Related bug bounty case study: Analysis of several bug bounty stories that are related to the attack.
  • Defense techniques: The best security practices to defend from the attack and mitigate the application security flaws.

Here are just a few considerations when organizations are implementing bug bounty programs:

  • Regardless of whether a company has a bug bounty program, attackers and researchers are assessing their Internet-facing and cloud applications. Security teams within companies, as well as consulting teams that provide security services for customers, need to understand how to assess Internet-facing applications.
  • Companies rely on single sign-on (SSO) with third parties such as Dropbox. Authentication and session management shared between these sites offer opportunities for attackers.
  • Most companies have cloud applications, many of which have weak APIs, weak single-factor authentication, poor session management, and other issues that can result in data exposure or remote code execution

In SEC552, students will perform labs on real-world applications using professional tools to practice hunting genuine security bugs. We will then examine web application defenses and extra code review exercises to close the loop on the attacks covered. Finally, we'll look at reporting and responsible disclosure, ensuring delivery of quality app security bug reports with proper description, evidence, and recommendations. Bug bounty stories are full of ideas and clever tactics from which much can be learned about mixing manual and automated techniques. This course will teach you how to apply modern attack techniques to discover and disclose tricky, logic-based application flaws that automated scanning tools will not reveal.

Syllabus (12 CPEs)

SEC552.1: App Analysis, Logic, and SQL Attacks

SEC552.2: Cross-Site Request Forgery, Client-Side and Mobile API Attacks

Prerequisites
SEC552 is designed for those students who have completed SEC542 or already have equivalent experience. SEC642 students will also benefit from the course.

Laptop Requirements
Important! Bring your own system configured according to these instructions!

A properly configured system is required to fully participate in this course. If you do not carefully read and follow these instructions, you will likely leave the class unsatisfied because you will not be able to participate in hands-on exercises that are essential to this course. Therefore, we strongly urge you to arrive with a system meeting all the requirements specified for the course.

It is critical that you back up your system before class. It is also strongly advised that you not bring a system storing any sensitive data.

Baseline Hardware Requirements

CPU: 64-bit Intel i5/i7 2.0+ GHz processor
BIOS: Enabled "Intel-VT"
USB: 3.0 type-A port
RAM: 8GB RAM
Hard-drive free space: 30 GB free space
Latest version of Windows 10, macOS 10.15.x or later, or Linux that also can install and run VMware virtualization products described below. Note: Apple systems using the M1 processor cannot perform the necessary virtualization at this time and cannot be used for this course.
Additional Requirements

These requirements are in addition to baseline requirements provided above. Prior to the start of class, you must install virtualization software and meet additional hardware and software requirements as described below. If you do not carefully read and follow these instructions, you will leave the class unsatisfied because you will not be able to participate in hands-on exercises that are essential to this course.

Additional Hardware Requirements

Network, Wireless Connection: A wireless 82.11 B, G, N or AC network adapter is required.

Additional Software Requirements

Download and install VMware Workstation or VMware Fusion on your system prior to the start of the class.
If you own a licensed copy of VMware, make sure it is at least VMware Workstation Pro 15+, VMware Fusion 11+.
If you do not own a licensed copy of VMware, download a free 30-day trial copy from VMware. VMware will send you a time-limited serial number if you register for the trial on its website. Download and install either VMware Workstation Pro 15.5.x, VMware Player 15.5.x or Fusion 11.5.x or higher versions before class.
If you do not own a licensed copy of VMware Workstation or Fusion, you can download a free 30-day trial copy from VMware. VMware will send you a time-limited serial number if you register for the trial at their website.
Other virtualization software, such as VirtualBox and Hyper-V, are not appropriate because of compatibility and troubleshooting problems you might encounter during class.
VMware Workstation Pro and VMware Player on Windows 10 is not compatible with Windows 10 Credential Guard and Device Guard technologies. Please disable these capabilities for the duration of the class, if they're enabled on your system, by following instructions in this document.
Your course media will now be delivered via download. The media files for class can be large, some in the 40 - 50 GB range. You need to allow plenty of time for the download to complete. Internet connections and speed vary greatly and are dependent on many different factors. Therefore, it is not possible to give an estimate of the length of time it will take to download your materials. Please start your course media downloads as you get the link. You will need your course media immediately on the first day of class. Waiting until the night before the class starts to begin your download has a high probability of failure.

SANS has begun providing printed materials in PDF form. Additionally, certain classes are using an electronic workbook in addition to the PDFs. The number of classes using eWorkbooks will grow quickly. In this new environment, we have found that a second monitor and/or a tablet device can be useful by keeping the class materials visible while the instructor is presenting or while you are working on lab exercises.

Author Statement
"During my journey working in bug bounty programs, it was always challenging to catch security bugs. The bugs had to be risky, unique, and tricky so that they wouldn't be considered duplicate by other researchers. This course is inspired by real-life case studies and is designed to help you catch and fix tricky security bugs using logic techniques and professional tools."

- Hassan El Hadary

Who Should Attend SEC552?

  • Penetration testers: The course will enrich the skills of pen testers through real-life stories and practical labs covering the most popular web and mobile app attacks.
  • Software developers and architects: The course will help developers link attack and defense techniques while discovering security bugs in the source code before making the app public.
  • Security engineers: The course will help attendees who are managing a bug bounty program or planning to implement one by enabling them to practice the techniques used by security researchers to report security bugs, and to verify if the bugs are valid or false positives.
  • Network/system engineers: The course will help attendees fill the gap of application security and get started in the field.

 

Related article

At GIAC, we believe that hands-on testing is the future of cybersecurity certification. With five certification exams featuring CyberLive , and thr...