Category: HackRF

SPECTER: Leaking Data from Air-Gapped Computers by Toggling USB Power States

This October, researchers Hyeongjun Choi, Ji Hyuk Jung and Ji Won Yoon from Korea University and 78ResearchLab in Seoul have published a paper describing "SPECTER", a covert channel that leaks data from air-gapped computers by repeatedly switching the power state of attached USB devices. This first requires installing malware with root or administrator privileges, which then controls power via the operating system's suspend or disable/enable controls. No modification to the peripheral's hardware or firmware is needed.

Three receiving methods were demonstrated, with one being RF based. The first method uses a phone plugged into the port, which then simply logs its charging state as on/off binary data. The second method uses a connected mouse, webcam or USB hub whose status LEDs can be watched by a person or camera. The final method uses a HackRF One with a near-field loop probe to pick up the switching emissions at around 5 MHz. Data rates are only 0.2 to 1 bit per second, so the channel is only useful for short secrets like passwords or keys.

We note that so far, the RF method was only tested with the probe touching the USB cable. This project is similar to USBee, which we posted about in 2016, where an unmodified USB device was also turned into a transmitter via malware. The difference is that USBee requires a data transfer USB device like a thumb drive to be connected, whereas SPECTER can use any connected USB device, even those that are charge-only.

SPECTER RF Receiver Setup with a HackRF One and Loop Probe
SPECTER RF Receiver Setup with a HackRF One and Loop Probe

sdrtop Update: Wi-Fi Airtime Tools, POCSAG Pager Decoder and Native Airspy R2 Support

Earlier this month we posted about sdrtop, a Rust-based SDR bench instrument that runs in a terminal and is aimed at measurement rather than listening. Viktor László (MusiThang on GitHub) has now written in again to share several updates. Viktor notes that the goal is still to "make radio signals and the measurements behind them inspectable, rather than hiding everything behind a decoded result."

The biggest additions are new Wi-Fi tools. sdrtop can now survey 2.4 GHz channels 1 to 13 and name the least busy one, inspect a single channel frame by frame at three time scales, and show a channel's airtime use second by second. These tools need 20 Msps, so you need an SDR like the HackRF. There is also a new POCSAG pager decoder written from the ITU standard without external libraries. Viktor tested it over the air by transmitting with a HackRF and PortaPack Mayhem and receiving with an Airspy R2.

The Airspy R2 is now natively supported too. Its gain staging follows the R2's Linearity and Sensitivity gain curves, and sdrtop warns you before the tuner clips. RTL-SDRs are still fully supported, and native support for the SDRplay RSP1B and Airspy HF+ Discovery is in progress. The code is open source under the GPLv3 and available on GitHub.

Some screens from sdrtop
Some screens from sdrtop

AI Disclaimer: The project's CREDITS.md file notes that Claude Code was used for implementation, architecture discussion and problem-solving.

DecSAT: A DVB-S/S2/S2X Satellite Receiver with Blind Scanning for the HackRF One

Thank you to RTL-SDR.COM reader Vitor for writing in and sharing DecSAT, an open-source Rust program by CasualArclamp that turns a HackRF One into a DVB-S/S2/S2X satellite receiver. It's laid out like SDR++, with a large waterfall and VFOs that you drop onto carriers, each running its own decoder.

DecSAT decodes DVB-S2 and S2X carriers, including ACM, and outputs MPEG-TS to VLC or its built-in TV player, and IP data to PCAP files for Wireshark. A blind 'Identify' mode works out an unknown carrier's symbol rate and modulation, and a 'Survey' tool acts like a blind scan, identifying and decoding every carrier in the span. It also supports various SCPC modem, voice, radar, and satellite beacon formats.

Portable Windows binaries are available on the original repo's releases page, and Vitor notes that he has created a fork that adds a Visual Studio 2022 build.

Update: Vitor notes that his fork as added several new features, including analogue modes such as WFM with RDS, analogue TV (PAL/NTSC) and integration to CrazyCat's streamreader.dll allowing use of compatible satellite tuners (mostly made by TBS) to setup the LNB (polarity, band and power), launch DiSEqC commands and blindscan and stream the actual TS back to DecSAT. He notes that these updates should eventually work their way back into the upstream code.

DecSAT Identifying Carriers in a Synthetic 8 MS/s Test Scene
DecSAT Identifying Carriers in a Synthetic 8 MS/s Test Scene

AI Disclaimer: Claude is listed as a contributor to the DecSAT repo.

Mayhem Mobile: Run PortaPack Mayhem Apps on a Browser or Android with an RTL-SDR or HackRF

Thank you to RocketGod, one of the developers of the Mayhem firmware for the HackRF PortaPack, for writing in and sharing the news that he has released Mayhem Mobile. It lets you plug an RTL-SDR (including the RTL-SDR Blog V4), a HackRF, or a PortaPack in HackRF mode directly into an Android phone or tablet, with no PC, Zadig, or driver installation needed. It comes as a native Android APK (direct APK download) or as a WebUSB web app that also works plug-and-play on a desktop.

Along with ports of the Mayhem receiver apps, it adds a ham radio mode with SSB, CW, AM and FM, live FT8, PSK31, RTTY and CW decoding with auto mode detection, an ADIF logbook, and DMR and P25 decoding. It also includes a full rtl_433 port with over 370 protocols, plus ADS-B, AIS, APRS, pager, ACARS, BLE, RDS and satellite decoders, a wideband sweep waterfall and raw IQ capture.

With a HackRF, it can also transmit FM voice through the phone’s microphone with CTCSS and repeater offsets, as well as RTTY, Morse, APRS, POCSAG, OOK and Flipper .sub replay, all behind a safety prompt. As always, make sure you’re licensed before transmitting.

Mayhem Mobile Screenshot
Mayhem Mobile Screenshot

BrowSDR Update: Multi-SDR Support, LimeSDR, and Decoders for ADS-B, AIS, ACARS, RS41, rtl_433, BLE and DMR

Back in April, we posted about BrowSDR, an open-source browser-based SDR receiver by Joel (jLynx) that talks directly to SDR hardware via WebUSB, with no software install required. Joel has written in to let us know it has received many updates since then. The biggest is support for multiple SDRs at once, each with its own receiver tab, tuning, waterfall, and VFOs, and a single WebRTC sharing link that gives remote listeners access to all of them. LimeSDR-USB is now supported at up to 61.44 MSPS, and Airspy R2 support has been fixed.

Many new in-browser decoders have also been added, including ADS-B and AIS tracking with live maps, VHF ACARS with readable message explanations, RS41 weather balloon tracking, and rtl_433 for weather sensors, TPMS, and other ISM devices. There is also passive Bluetooth Low Energy scanning for receivers covering 2.4 GHz, and DMR voice decoding, with P25, NXDN, and D-STAR still experimental. Reception improvements include stereo FM with RDS, automatic squelch, upconverter offsets, automatic gain for HackRF and LimeSDR, a Signal Discovery panel, and a reworked POCSAG decoder.

Joel notes that all new features have been tested on real hardware, including our RTL-SDR Blog V4, the LimeSDR, and the HackRF Pro. The open-source code is available on it's Github repo.

BrowSDR Interface with POCSAG Decoding
BrowSDR Interface with POCSAG Decoding

OnAir Adds Decoder Support for Almost Every Signal

Just last week we posted about OnAir, a new open-source program that started out as an easy-to-use digital and analog TV decoder for software-defined radios. It also had support for a few digital modes like ADS-B, GNSS and DMR.

In the last week, with the obvious help of Claude AI, OnAir has added experimental support for almost every single analog and digital signal and application out there. Support ranges from digital voice modes like P25 and NXDN, to HF digital modes like HFDL, to aircraft signals like ACARS and VOR/ILS, to ocean radar, to a radio astronomy integrator, to satellite decoders like Iridium and Inmarsat, to cell tower metadata decoders to Wi-Fi and many many more.

Obviously, with these decoders all being vibecoded so quickly, there is no guarantee yet that they will all work as expected. However, we did give some decoders in the program a test with an RTL-SDR. A DMR control channel was successfully decoded, and it read the calls; ADS-B showed aircraft; LTE PCI values were detected with the LTE decoder; and POCSAG messages came in cleanly.

From our own experience with Claude, Opus 5.5 is very capable of vibe-coding decoders, so there is a high chance that most, if not all, of the decoders implemented in this software will work. 

OnAir Updated to Add Almost Every Decoder Possible
OnAir Updated to Add Almost Every Decoder Possible

AI Disclaimer: This software was coded with Claude AI.

SDR Signal Analyzer: A Windows Spectrum Analyzer for HackRF, RTL-SDR and tinySA

Thank you to RTL-SDR.COM reader Sunny for writing in and submitting a program he's found called 'SDR Signal Analyzer'. This spectrum analysis program lets you use a HackRF, RTL-SDR, or tinySA to scan the entire spectrum between 1 MHz and 6 GHz. Like other spectrum analysis software that offes wideband sweeps, it does this by rapidly returning across the live spectrum, stitching together a wideband picture of the spectrum.

The software also offers IQ demodulation of the common modulation schemes, as well as CTCSS decoding and video decoding from FPV and PAL analog video systems. 

The software is free; however, a pro version exists that supports the BladeRF, PlutoSDR, and FobosSDR, and adds markers, OBW, ACPR, calibration in dBm, a scanner mode, a table, neural network signal classification, and other features. The pricing of the Pro version is only available on request.

The program appears to be open source under LGPL-3.0; however, the website notes that you will need to contact them for the source code.

SDR-SA Screenshot
SDR-SA Screenshot

AI Disclaimer: While the authors do not disclose it, it is our opinion that this software may be coded entirely or with the help of AI.

OnAir: A Digital TV and DAB Decoder for SDRs

Thank you to Kristijonas for writing in and sharing with us his project, OnAir. OnAir is an easy-to-use digital TV decoder for DVB-T2, DVB-T, ATSC 1.0, ATSC 3.0, ISDB-T, and a digital audio decoder for DAB / DAB+ and FM Radio. It also supports Analog TV modes such as PAL, SECAM, and NTSC, and data modes like ADS-B, GNSS (GPS, GLONASS, BeiDou), and DMR.

It supports various wideband SDRs, including HackRF, PlutoSDR, BladeRF, LimeSDR, USRP, Airspy R2, and SDRplay. RTL-SDRs unfortunately do not have enough bandwidth to decode digital TV channels in SDR mode, but the software still supports RTL-SDRs for narrowband signals.

The software is easy to install, with an installer .exe being available for Windows, a .deb file for Debian Linux, and a .dmg file for macOS. 

OnAir Screenshot
OnAir Screenshot

AI Disclaimer: This software lists Claude as a contributor.