Skip to main content

Ruben Gonzalez - Hacking Cryptography: Attacks, Tools and Techniques $2,000 (Early $1,800)

# Hacking Cryptography: Attacks, Tools & Techniques

## **Abstract**

Crypto related bugs are super common. OWASP even ranks "Cryptographic Failure" as the second most common security vulnerability class in software. Yet, very often these vulnerabilities are overlooked by developers, code auditors, blue teamers and penetration testers alike. Because, let's face it: Nobody knows how cryptography works.

During the course you will:

- understand how modern cryptography works.
- find common crypto vulnerabilities in real software.
- write crypto exploits for real software (and an IoT device).

Using case studies from our own pentesting and red teaming engagements, we'll introduce core concepts of applied cryptography and how they fail in practice.

This course turns you into a powerful weapon. You will know how applied cryptography works, how it's commonly misused in the field and how this leads to exploitable bugs. That means, by the end of the course you will be among the very selected group of people that can identify, avoid and exploit vulnerabilities in code using crypto.

No prior knowledge required!

## **Trainers**

- Ruben Gonzalez (Lead Trainer)
- 10 years in offensive security research
- Security Researcher and Trainer at Neodyme
- Auditor of crypto code for multiple large industry projects
- Part-time PhD candidate for applied cryptography at the Max Planck Institute
- Multi-time DEFCON CTF, Hack-A-Sat, HITB ProCTF and Google CTF finalist
- Founder and Chair of the RedRocket Hacking Club
- Linkedin:
- Benjamin Walny (Support Trainer)
- 5 years in offensive security research
- Senior Penetration Tester at Cure53
- Code auditor for countless (web) applications
- Profound interest in real-world attacks on cryptography
- Multi-time DEFCON CTF finalist

## **Key Learning Objectives**

- Learn how modern cryptography operates. Learn what kind of guarantees are given by certain primitives, and which aren't.
- Understand how crypto primitives are combined into protocols.
- Learn how cryptography is often misused in practice and how this misuse can be exploited.
- Write exploits for systems using cryptography in an inappropriate way.
- Evaluate program code that uses cryptography for proper usage.
- Identify cryptographic schemes and potential vulnerabilities in black-box tests.

## **Technical Difficulty**

Beginner to intermediate

## **Prerequisite Knowledge**

This is a beginner to intermediate course. Students should be familiar with at least one scripting language and have a basic understanding of computer networks.

The contents are compressed, but no prior knowledge of cryptography is needed. Every subject is introduced before attacks are presented.

## **Equipment Requirements**

Participants should bring a laptop with a modern browser to join the virtual learning environment.

## **Previous Training**

- Hack in The Box
- Held at Private Corporations

## **Outline**

- Introduction to Cryptography
- Basic Terminology
- Security Guarantees
- Composition of Primitives
- Attack Categorization
- Security Objectives and their Relation to Cryptography
- Attack Categorization
- Working with Crypto Tools
- Introduction to Cyber Chef
- Crypto tools: CryCry Toolkit and OpenSSL
- _Challenge Lab: CryCry, OpenSSL and Cyber Chef_
- Hacking Encryption
- Stream Ciphers
- Introduction to Stream Ciphers
- Real World Examples of Vulnerabilities
- Attacks on Stream Cipher Uses
- _Challenge Lab: (Ab)using Stream Ciphers_
- Block Ciphers
- Introduction to Block Ciphers
- Modes of Operation
- Real World Examples of Vulnerabilities
- Attacks on Block Cipher Uses
- _Challenge Lab: (Ab)using Block Ciphers_
- Hash Functions
- Introduction to Hash Functions
- Real World Examples of Vulnerabilities
- Password Storage & Cracking
- _Challenge Lab: (Ab)using Hash Functions and PW Cracking_
- Message Authentication Codes and Authenticated Encryption
- Introduction to Message Authentication Codes
- Pitfalls on Trivial Constructions
- Real World Examples of Vulnerabilities
- _Challenge Lab: (Ab)using MACs and AuthEnc_
- Attacks on Entropy and Randomness
- Generating Secure Keys with OS Entropy Pools
- Misuse of Pseudo Random Number Generators
- Backdoors and Cleptography
- Real World Examples of Vulnerabilities
- _Challenge Lab: Keys and Randomness_

- Asymmetric Crypto with RSA and ECC
- Introduction to RSA and ECC
- Key Formats
- Key Sizes and Brute Force
- Real World Examples of Vulnerabilities
- _Challenge Lab: RSA and ECC_
- Public Key Infrastructure and Certificates
- Introduction to Certificates
- x509 Certificate Structure and Features
- Common Certificate Pitfalls
- Chain of Trust and PKI services
- TOFU Principle and Man-In-The-Middle Threats
- _Challenge Lab: Certificates and PubKeys_
- TLS and Man in the Middle
- Introduction to TLS and Similar Protocols
- TLS Security parameters
- Exploiting a Man-In-The-Middle position for TLS and VPN
- Intercepting and Decrypting TLS Traffic for Application Testing
- Defeat Public Key Pinning with Dynamic Instrumentation
- _Challenge Lab: Intercepting TLS_
- JWTs and JOSE
- Introduction to JSON Web Tokens and Javascript Object Signing and Encryption
- Real World Examples of Vulnerabilities
- _Challenge Lab: Exploiting JWT_
- Passkeys, WebAuthn, FIDO and 2nd Factor Solutions
- Introduction to Password-Less Authentication
- TOTP Algorithms and Seeds
- Passkeys, FIDO2 and WebAuthn
- Footguns and Examples of Vulnerabilities
- Post-Quantum Cryptography
- Introduction to Post-Quantum Algorithms
- Post-Quantum Signatures and KEMs
- Upcoming Post-Quantum Standards
- _Challenge Lab: Using OpenSSL with Post-Quantum (20 min)_
- Farewell
- Outlook on Future Developments
- Presentation of Take Home Challenges
- Recap - Cryptography


DATE: June 27th-28th 2024
TIME: 8am to 5pm
VENUE: Omni Shoreham Hotel 2500 Calvert St NW, Washington, DC 20008
TRAINER: Ruben Gonzalez

- 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 May 15th, the processing fee is $250.

Trainings are non-refundable after May 22nd, 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.