Радио-пират
Радио-пират
Platform: duckerz | Category: Steganography | Type: Challenge | Difficulty: Medium | OS: Windows | Author: XESXOR | Date: 2026-01-22 | Status: Solved Techniques: sstv_decode, audio_extraction, robot36
Summary
Files: radio_pirate.mp4 (MP4 video, 235 seconds)
Радио-пират — duckerz CTF
Description
В начале 2000х те, у кого было продвинутое радио-оборудование, изредка пытались создать свое кустарное радио. У нашего сегодняшнего героя получилось не только выйти в эфир, но и побеседовать. Жаль что диалог не задался... Полученную строку необходимо подставить в DUCKERZ{your_string}
Files: radio_pirate.mp4 (MP4 video, 235 seconds)
Analysis
The video shows a WebSDR interface with a waterfall diagram — this is a recording of a radio broadcast. WebSDR is software-defined radio accessible via a web interface. The waterfall diagram shows the frequency spectrum of the signal over time.
The characteristic sound in the audio indicates SSTV (Slow Scan Television) — a method of transmitting images over radio, popular among amateur radio operators. SSTV encodes an image into an audio signal that can be transmitted over a radio channel.
Solution
Step 1: Extracting audio from video
bash read-only • copy allowedffmpeg -i radio_pirate.mp4 -vn -acodec pcm_s16le audio.wav
Step 2: Decoding SSTV
Used the Python library sstv (colaclanth/sstv):
python read-only • copy allowed#!/usr/bin/env python3 from sstv.decode import SSTVDecoder # First image decoder = SSTVDecoder('audio.wav') img = decoder.decode() img.save('sstv_image_0.png')
The first image contained "HI" — a classic amateur radio greeting.
Step 3: Finding additional images
There were multiple SSTV images in the audio. Used the skip parameter to find them:
python read-only • copy allowed#!/usr/bin/env python3 from sstv.decode import SSTVDecoder # Skip 140 seconds to find the second image decoder = SSTVDecoder('audio.wav', skip=140) img = decoder.decode() img.save('sstv_image_140.png')
Step 4: Result
At skip=140 seconds found the "Always has been" meme with two astronauts:
- "Wait, is it SSTV?"
- "Always has been"
- At the bottom the flag:
REDACTED
Notes
- SSTV uses Robot 36 mode (one of the most popular)
- A single audio file can contain multiple images
- The
skipparameter allows skipping the beginning of the file - The
sstvlibrary (pip install sstv) — simple way to decode - Alternatives: QSSTV (GUI), MMSSTV (Windows)