RF Hacking with Software-Defined Radio (SDR)
Learn how to analyze and attack real-world radio devices and compromise their communications.
In this 4-day training, students will learn about software-defined radio applied to security, and will get survival reflexes and methods to test real-world radio devices (intercoms, car and industrial modules, mobile phones, various remotes and other IoT systems).
Comparing to other courses that teach how to use public tools, this class is more about understanding how these tools work and also how to build proper tools to analyze and attack targeted systems.
All techniques here will demonstrate real uses-cases encountered in pentests and Red Teams, but also techniques that aim to be applied on future systems, by teaching important steps when dealing with unknown targets.
What the class will teach
With this class students will learn how to find interesting radio-communications and ways to attack targeted systems:
- Learn how radio works and about actual technologies using this interface
- Find and analyze a signal
- Modulate and demodulate a signal
- Encode and decode data meant to be transported over-the-air
- Capture, generate, replay and analyze a signal
- Interface with a signal using SDR devices and software
- Get primary reflexes to attack embedded and IoT systems
- Create your own tools with the GnuRadio framework and its alternatives
- Learn how to use SDR and classical attacks on mobile 2G/3G/4G, RFID/NFC, LoRa, wireless mousses/keyboards/presenters, sub-GHz remotes/alarms, and other similar or custom technologies
Day 1 - RF preliminaries
Day 1 is an introduction to radio that will help students to learn it's concepts and the techniques used today to receive and transmit signal, but also the constraints that we have to deal with in heterogeneous environments:
-
Introduction to radio
- History, evolution, and EU regulations
- Radio waves
- Digital Signal Processing
- Software-Defined Radio
- Antennas
- Amplifiers and connectors
-
Software-Defined Radio devices
- Specifications
- How to choose them
- Few tips and hacks
-
Observations
- Waterfall and spectrum analyzers
- Signal identification
- Modulation/Demodulation
- Encoding/Decoding
- Faraday cages and how to design a very cheap one
- Use of attenuators and software gain parameters
Day 2 - Hands on radio
Day 2 will put the student in the playground of the Software-Defined Radio, where every idea can be written on a software to be simulated, and then concretized to realize receivers and transmitters depending on the chosen hardware limitations:
- Introduction du GnuRadio
- Software-Defined Radio processing in the chain
-
Practice with GnuRadio Companion
- Block schemas
- Parameters
- Generators
- Sinks and sources
- Operators
- Simulations
- Modules
- Executing a block in a real SDR device
- Listening to simple AM and FM signals
- Transferring a simple signal
- Optimizing samples processing
- Features to process samples
- Creating your own block
- Investigation and handy tools
- Alternatives to GnuRadio (SDRSharp, RedhawkSDR, etc.)
Day 3 - Attacking physical intrusion systems
Day 3 resumes and applies previous chapters to study physical intrusion systems and brings useful tricks for Red Team tests as well as pentests:
-
Common sub-GHz Remotes
- Introduction
- Capturing data
- Replaying saved samples
- Analyzing samples (manually and with powerful tools)
- Rolling codes security
-
Devices using the mobile network (2G/3G/4G)
- Introduction
- Monitoring
- Mobile security
- Existing tools
- Interception techniques
- Our feedback in missions
- Tooling with GnuRadio
- Fuzzing and triggering bugs with 2G, 3G and 4G protocol stacks over-the-air
-
RFID
- Analyzing radio communications
- Identifying technologies
- Tools and techniques to defeat common physical access systems and methods to study custom systems
- Some feedbacks on connected locks
- Red Team tips
Day 4 - Unexpected implants, industrial systems and arsenals
Last day will focuses on unexpected implants vendors introduced in some technologies, custom and industrial systems, and the development of handy radio prototypes to use during a mission:
-
Attacking Custom devices
- Introduction
- Identification (looking at device's references, components, etc.)
- Sniffing signals
- Decoding signals
-
nRF devices
- Introduction
- Analyzing nRF bases devices GnuRadio like mousses, keyboards and presenters
- Capturing strokes
- Hijacking vulnerable devices
-
LoRa
- Introduction
- Detect used bands
- Capture signal
- Optimize the interception process
- Decode data and payloads
- Security of LoRa
- Transmit packets
-
Power-Line Communication systems
- Introduction: data superposed on your electric line
- Monitor PLC devices
- Exploit old and new vulnerabilities on the HomePug standards
- Talk to cars and charging stations
- Take advantages of your electric lines that behaves like an antenna
-
Hardware Hacking
- Introduction and how it could be complementary
- Survival and practical reflexes
- Cheap tools and tricks
- Radio prototyping arsenal for red team tests
Class requirement
- Knowledge of Linux and a programming language such as C, C++, C# or Python is necessary.
- Understanding of pentesting (network and applications) or red-teaming
- All attendees will need to bring a laptop capable of running VMware virtual machine (8GB of RAM is a minimum)
- Basic knowledge of radio is not mandatory but is a plus