Welcome back, my aspiring cyber warriors!
In recent years, the ability to receive and send radio signals from your computer has become a reality! This has become to be known as Software Defined Radio (SDR). With this capability has come to the ability to capture, decode, replay and hack these signals with all the power of your PC. These signals range from the mundane such as AM/FM radio and TV broadcast signals to aircraft signals to low orbit satellite signals to police radio to car unlocking and many other RF signals!
In this series, we will attempt to provide you the basics in SDR so that you can use this knowledge in many of these different applications. Once you can receive and send radio signals into your PC, you can use the power of this system to decode, transmit, replay and otherwise "hack" these signals. For an example of how SDR can be used to hack, check out my post on hacking automobile key fobs here.
The basic concept of the Software Defined Radio is that radio can be totally configured or defined in software.
What is SDR
Software-Defined Radio (SDR) refers to the technology wherein software modules running on a generic hardware platform consisting of DSPs and general purpose microprocessors are used to implement radio functions such as generation of transmitted signal (modulation) at transmitter and tuning/detection of received radio signal (demodulation) at receiver
The following diagram displays the basic elements of a SDR transceiver (send and receive).
Step #1: Buy SDR hardware
The first step to SDR hacking to to purchase the necessary hardware. There are a multitude of different SDR hardware packages available but the RTL-SDR package is effective and inexpensive. You can purchase this hardware from Amazon for less than $35 here.
This kit includes most importantly the RTL-SDR USB dongle as well as an antenna and the necessary cabling.
In addition, Nooelec makes a similar system with some additional capabilities for a little more (under $50). It is also available on Amazon here.
We will be using either of these hardware to start this journey into SDR Hacking. As we advance, you may want to invest into more advanced hardware that has more features most important of these is the capability to both send and receive signals. For now, these inexpensive systems will get you started and suffice and when you are ready to advance, you will likely need to invest another $100-300 for this hardware.
Step #2: The Software
There are multiple software package now available for SDR and new Python features in version 3.7 (async and await specifically). These software packages are available in both Windows and Linux platforms. Among the most popular are SDR# and HDSDR. Both are high-quality and free software
To start, we will be using HDSDR for Windows available free here (unfortunately, this software is not available for Mac or Linux but can be run from a wine).
Step #3: Software Installation
To install HDSDR, you will need to follow the following steps.
First, download latest Zadig from http://zadig.akeo.ie/
Start Zadig and press "Install Driver" to install the WinUSB drivers after selecting the right device(s). The device name is often “Bulk-In, Interface (Interface 0)” .
If there only an empty list, the device is not properly connected or a driver is already installed. Click Options and enable "List All Devices", then choose the RTL-device and press "Replace Driver".
Close Zadig.
If you don't already have HDSDR, download and install HDSDR now http://hdsdr.de/download/HDSDR_install.exe, but don’t start it.
Download ExtIO_RTL2832.DLL from http://hdsdr.de/download/ExtIO/ExtIO_RTL2832.dll
Copy ExtIO_RTL2832.DLL into your HDSDR installation directory (default=C:\Program Files (x86)\HDSDR)
(re)start HDSDR (select ExtIO_RTL2832.DLL and preferred output sound card if demanded)
You are ready to run HDSDR!
Summary
Software Defined Radio is the leading edge of information security research. In a modern society with radio signals surrounding us from every direction, SDR can be used to combine the power of our PC and software tools to capture, emulate, decode, replay and otherwise hack these signals!
To learn more about Software Defined Radio for Hackers attend the upcoming class!