Skip to main content
Abraham Aranguren - Hacking JavaScript Desktop apps: Master the Future of Attack Vector - $1,900
Abraham Aranguren - Hacking JavaScript Desktop apps: Master the Future of Attack Vector - $1,900

Abraham Aranguren - Hacking JavaScript Desktop apps: Master the Future of Attack Vector - $1,900

$1,800.00
Trainer bio:
After 15 years in itsec and  22 in IT Abraham is now the CEO of 7ASecurity (7asecurity.com), a company specializing in penetration testing of web/mobile apps, infrastructure, code reviews and training. Co-Author of the Mobile, Web and  Desktop (Electron) app  7ASecurity courses. Security Trainer at Blackhat USA, HITB, OWASP Global AppSec and many other events. OWASP OWTF project leader, an OWASP flagship project (owtf.org), Major degree and Diploma in Computer Science, some certs: CISSP, OSCP, GWEB, OSWP, CPTS, CEH, MCSE:Security, MCSA:Security, Security+. As a shell scripting fan trained by unix dinosaurs, Abraham wears a proud manly beard. He writes on Twitter as @7asecurity @7a_@owtfp or https://7asecurity.com/blog. Multiple presentations, pentest reports and  recordings can  be found at https://7asecurity.com/publications

Trainer social media links:
https://www.linkedin.com/company/7asecurity
@7asecurity

Full description of the training:

This course is a 100% hands-on deep dive into the OWASP Security Testing Guide and relevant items of the OWASP Application Security Verification Standard (ASVS), so this course covers and goes beyond the OWASP Top Ten.

Long are the days since desktop apps were written in Delphi. What is common between Microsoft Teams, Skype, Bitwarden, Slack and Discord? All of them are written in Electron: JavaScript on the client.
JavaScript Desktop apps share traditional attack vectors and also introduce new opportunities to threat actors. This course will teach you how to review JavaScript desktop apps, showcasing Node.js and Electron but using techniques that will also work against any other desktop app platform. Ideal for Penetration Testers, Desktop app Developers as well as everybody interested in JavaScript/Node.js/Electron app security.

Get a FREE taste for this training, including access to video recording, slides and vulnerable apps to play with:
1.5 hour workshop - https://7asecurity.com/free-workshop-desktop-apps

All action, no fluff, improve your security analysis workflow and immediately apply these gained skills in your workplace, packed with exercises, extra mile challenges and CTF, self-paced and suitable for all skill levels, with continued education via unlimited email support, lifetime access, step-by-step video recordings and interesting apps to practice, including all future updates for free.
Teaser Video:  https://www.youtube.com/watch?v=Qckegc2gbfo

# Training Abstract #

This course is the culmination of years of experience gained via practical penetration testing of JavaScript Desktop applications as well as countless hours spent doing research. We have structured this course around the OWASP Security Testing Guide, it covers the OWASP Top Ten and specific attack vectors against JavaScript Desktop apps. This course provides participants with actionable skills that can be applied immediately from day 1.

Please note our courses are 100% hands-on, we do not lecture students with boring bullet points and theories, instead we give you practical challenges and help you solve them, teaching you how to troubleshoot common issues and get the most out of this training. Training then continues after the course through our frequently updated course material, for which you keep lifetime access, as well as unlimited email support.

Get a FREE taste for this training, including access to video recording, slides and vulnerable apps to play with: 1.5 hour workshop
https://7asecurity.com/free-workshop-desktop-apps

Each section starts with a brief introduction to the JavaScript platform (i.e. Node.js, Electron) for that section and then continues with a look at static analysis, moves on to dynamic checks finishing off with a nice CTF session to test the skills gained.

Day 1: Focused on Hacking JavaScript Desktop Apps: We start with understanding JavaScript Desktop apps and various security considerations. We then focus on static and dynamic analysis of the applications at hand. The section is filled with hands-on exercises ending with a CTF for more practical fun.

Day 2: Dedicated to instrumentation and Advanced JavaScript Desktop App attacks: We cover advanced usage of instrumentation to debug and workaround typical assessment problems and then move on to cover attacks specifically targeting Electron and other platforms such as interesting XSS scenarios, multiple edge cases to gain RCE, local & remote attacks, prototype pollution, and more. The day is full of hands-on exercises and ends with CTF-style open challenges for additional practice.
Teaser Video: https://www.youtube.com/watch?v=Qckegc2gbfo

## Course Objectives ##

This course will take any student and make sure that:
- The general level of proficiency is much higher than when they came
- The skills acquired can be immediately applied to JavaScript Desktop app security assessments
- Skills can be sharpened via continued education and unlimited support for free
- The student is equipped to defeat common Desktop app assessment challenges
- Everybody will learn a lot in this training.
- Advanced students will come out with enhanced skills and more efficient workflows
- The skills gained are highly practical and applicable to real-world assessments

## Attendees will be provided with ##

- Lifetime access to all course materials
- Unlimited access to future updates and step-by-step video recordings
- Unlimited email support, if you need help while you practice at home later
- Interesting vulnerable apps to practice
- Digital copies of all training material
- Custom Build Lab VMs
- Purpose Build Vulnerable Test apps
- Source code for test apps

## Topics Included ##

1. Review of Common Flaws in Source Code and at Runtime
2. Desktop App Modification of Behavior Through Code/Configuration Changes
3. Web & Desktop - Interception of Network Communication and MitM-proxy techniques to find security flaws in these platforms
4. Platform-specific attack vectors against JavaScript Web apps & mitigation
5. Platform-specific attack vectors against JavaScript Desktop apps & mitigation
6. CTF Challenges for Attendants to Test Their Skills

## Why should you take this course? ##

This is more than a usual physical attendance course: You get lifetime access to all course materials with step-by- step video recordings, slides and lab exercises, including all future updates for free.

Students can take the course at their own pace and lifetime access ensures topics can be reviewed on an ad-hoc basis as required by the student online after the course.

This training has been built from real issues seen in real applications, not fabricated vulnerabilities that you will never see in practice.

The goal is to start from the basics and ensure that each student comes out of the training with a significantly higher level of proficiency in the artistry of pentesting.
Students will be taught ways to identify the attack surface of JavaScript Desktop apps, exploit interesting vulnerabilities and means to fix them. The course walks students through the process of performing security audits of JavaScript apps. The training also covers effective identification, exploitation and mitigation of common vulnerability patterns against these platforms.

As the course has been written and carefully created by professional penetration testers, after many years of experience, many practical tips will be shared to leverage automation and make penetration testing more efficient as soon as the student goes back to their workplace.

## Top three takeaways ##

- Learn how to find JavaScript Desktop App vulnerabilities due to common misconfigurations and typical mistakes in framework setups
- Identify and exploit JavaScript Desktop App security vulnerabilities as efficiently as possible
- Improve your JavaScript Application Security Testing process leveraging a number of open source tools, as well as lots of tips and tricks shared by the instructors after years of JavaScript Desktop App penetration testing.

## Upon Completion of this training, attendees will know ##

Completing this training ensures attendees will be competent and able to:
- Review and tamper network communications to exploit security vulnerabilities
- Bypass certificate and public key pinning protections on Desktop apps
- Bypass inadequate JavaScript Desktop App defences
- Analyze JavaScript Desktop Apps from a blackbox perspective
- Review JavaScript Desktop App source code to identify security flaws
- Perform JavaScript Desktop App security reviews

## Course Content (ToC) ##
### Section 1: Hacking JavaScript Desktop apps by Example ###

Part 0 - JavaScript Desktop App Security Crash Course
- The state of JavaScript Desktop App Security
- JavaScript app security architecture and its components
- JavaScript Desktop apps and the filesystem
- Recommended lab setup tips

Part 1 - Static Analysis and Tools
- Tools and techniques to reverse and review JavaScript apps
- Finding vulnerabilities in JavaScript app dependencies
- Identification of the attack surface of JavaScript apps & information  gathering
- Static modification of JavaScript apps for analysis and debugging
- Identification of common vulnerability patterns in JavaScript apps:
+ Common misconfigurations
+ Hardcoded secrets
+ Logic bugs
+ Access control flaws
+ URL handlers
+ XSS, Injection attacks and more
- Modifying JavaScript apps to alter behaviour and debug issues

Part 2 - Dynamic Analysis
- Monitoring data: caching, logs, app files, insecure file storage, unsafe storage of app secrets, etc.
- Crypto flaws
- The art of MitM: Intercepting Network Communications
- Defeating certificate pinning at runtime
- The art of Instrumentation: Introduction to Frida
- App behaviour monitoring at runtime
- Modifying app behaviour at runtime

Part 3 - Test your Skills
- CTF time

### Section 2: Advanced Instrumentation & Attacks on JavaScript Desktop apps ###

Part 0 - Advanced Instrumentation on JavaScript Desktop apps
- Introduction to Frida on Desktop apps
- Advanced usage of Frida against JavaScript Desktop apps
- Writing custom Frida scripts to assist with common challenges
- Reviewing app behavior at runtime
- Modifying app behavior at runtime
- Modifying app behavior at rest

Part 1 - Advanced attacks on JavaScript Desktop apps
- UI manipulation with XSS
- Interesting attack vectors with XSS
- Coverage of Multiple edge case scenarios to gain RCE
- Dumping memory
- Prototype pollution
- Defeating crypto
- Gaining RCE via IPC
- Attacking WebSockets
- Local Attacks and Privilege Escalation
- Remote Attacks when Desktop Apps are deployed on the server
- Bypassing Pining
- And more

Part 2 - Advanced JavaScript Desktop Apps CTF
- Challenges to practice advanced attacks and instrumentation on JavaScript Desktop apps

# Prerequisite of Training Class #

## Hardware & Software: Attendees should bring ##

A laptop with the following specifications:
- Ability to connect to wireless and wired networks.
- Ability to read PDF files
- Administrative rights: USB allowed, the ability to deactivate AV, firewall, install tools, etc
- Knowledge of the BIOS password, in case VT is disabled.
- Minimum 8GB of RAM (recommended: 16GB+)
- 60GB+ of free disk space (to copy a lab VM and other goodies)
- VirtualBox 6.0 or greater, including the “VirtualBox Extension Pack” (NOTE: VMWare is also known to work)

## Student / Prerequisites for attendees ##

This course has no prerequisites as it is designed to accommodate students with different skills:
- Advanced students will enjoy comprehensive labs, extra miles and CTF challenges
- Less experienced students complete what they can during the class, and can continue at their own pace from home using their lifetime course access.

This said, the more you learn about the following ahead of the course, the more you will get out of the course:
- Linux command line basics
- Basic knowledge of Node.js, Electron or JavaScript is not required, but would help.

# Who should attend #

Any Desktop App developer, penetration tester or person interested in JavaScript Desktop apps, Node.js, Electron or JavaScript security will benefit from attending this training regardless of the initial skill level:

This course is for beginners, intermediate and advanced level students. While beginners are introduced to the nuances of JavaScript Desktop App security from scratch, intermediate and advanced level learners get to perfect both their knowledge and skills on the subject. Extra mile challenges are available in every module to help more advanced students polish their skills.

The course is crafted in a way that regardless of your skill level you will significantly improve your JavaScript App security auditing skills:

If you are new and cannot complete the labs during the class, that is OK, as you keep course access, you will learn a lot in the class but can continue from home with your lifetime course access.

If you are more advanced you can try to complete the labs in full and then take the CTF challenges we have for each section, you will likely also attempt to complete some exercises from home later :)

# What to expect #

Lifetime access to all course material (including all future updates), unlimited email support, access to private groups to communicate with other students, and access to interesting apps from various countries.

A fully practical class that will seriously improve your JavaScript Desktop App security knowledge and skills, regardless of the skill level you come in with.
Battle-tested tips and tricks that take your abilities to the next level and that you can apply as soon as you go back
to your workplace, making security testing of JavaScript Desktop apps as efficient as possible.
Intensive hands-on exercises that challenge you to deep dive into the world of JavaScript App security.

# What not to expect #

This is more than a usual physical attendance course: You get lifetime access to all training course materials with step-by-step video recordings, slides and lab exercises, including all future updates for free.
The course does not cover: 0-days, Windows/Linux/Mac OS exploits, x86 exploit writing, writing buffer or heap overflows.

Do not expect the teachers to be talking through slides most of the time: This class is practical not theoretical, the teachers don’t bore you with slides all the time, instead you do exercises all the time and the teachers help you solve the challenges you face as you complete them.

Section C: Additional Information- Organizers Only

# Keywords #

- Desktop Application Security
- JavaScript security
- Electron Security
- Node.js Security
- Static analysis
- Dynamic analysis
- File storage
- Crypto
- XSS
- SSRF
- SQLi
- NOSQLi
- RCE
- Data exfiltration
Short description of what the student will know how to do, after completing the class:

Completing this training ensures attendees will be competent and able to:
- Review and tamper network communications to exploit security vulnerabilities
- Bypass certificate and public key pinning protections on Desktop apps
- Bypass inadequate JavaScript Desktop App defences
- Analyze JavaScript Desktop Apps from a blackbox perspective
- Review JavaScript Desktop App source code to identify security flaws
- Perform JavaScript Desktop App security reviews

Outline of the class:

- Learn how to find JavaScript Desktop App vulnerabilities due to common misconfigurations and typical mistakes in framework setups

- Identify and exploit JavaScript Desktop App security vulnerabilities as efficiently as possible

- Improve your JavaScript Application Security Testing process leveraging a number of open source tools, as well as lots of tips and tricks shared by the instructors after years of JavaScript Desktop App penetration testing.

Technical difficulty of the class (Beginner, Intermediate, Advanced): Intermediate
Suggested prerequisites for the class: Items students will need to provide:

This course has no prerequisites as it is designed to accommodate students with different skills:
- Advanced students will enjoy comprehensive labs, extra miles and CTF challenges
- Less experienced students complete what they can during the class, and can continue at their own pace from home using their lifetime course access.

This said, the more you learn about the following ahead of the course, the more you will get out of the course:
- Linux command line basics
- Basic knowledge of Node.js, Electron or JavaScript is not required, but would help.

DATE: August 12th-13th, 2024

TIME: 8am to 5pm PDT

VENUE: Sahara Las Vegas

TRAINER: Abraham Aranguren

- 16 hours of training with a certificate of completion.
- 2 coffee breaks are provided per day
- Note: Food is not included

Registration terms and conditions:

Trainings are refundable before July 1st, the processing fee is $250.

Trainings are non-refundable after July 10th, 2024.

Training tickets may be transferred. Please email us for specifics.

Failure to attend the Training without prior written notification, will be considered a No-Show. No refund will be given.

By purchasing this ticket you agree to abide by the DCT Code of Conduct and the registration terms and conditions listed above.