← Back to Writeups
CUSTOMEasySteganography

Спектр звука (Sound Spectrum)

XESXOR9/2/20262 min read
#steganography#custom#easy#spectrogram_analysis#audio_stego

Спектр звука (Sound Spectrum)

Platform: duckerz | Category: Steganography | Type: Challenge | Difficulty: Easy | OS: NA | Author: XESXOR | Date: 2026-01-09 | Status: Solved Techniques: spectrogram_analysis, audio_stego

Summary

Files: sound.wav (WAV audio, 16 bit, mono 44100 Hz, ~5 seconds)

Спектр звука (Sound Spectrum) — duckerz CTF

Description

Пока я серфил на просторах интернета, нашел какой-то странный сайт, на котором говорилось про всякие спектрогримы или криптограммы, или что-то типо такого, помогите решить пожалуйста

Files: sound.wav (WAV audio, 16 bit, mono 44100 Hz, ~5 seconds)

Analysis

The task description clearly hints at spectrograms — a classic audio steganography technique. A spectrogram is a visual representation of the frequency spectrum of a sound signal over time. ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

File characteristics:

  • Format: WAV (uncompressed)
  • Bit depth: 16 bit
  • Channels: mono
  • Sample rate: 44100 Hz
  • Duration: ~5 seconds

Solution

Method 1: Python (scipy + matplotlib)

python
#!/usr/bin/env python3
"""
Spectrogram analysis for audio steganography
"""

import matplotlib.pyplot as plt
from scipy.io import wavfile

# Read WAV file
sample_rate, data = wavfile.read('sound.wav')

# Create spectrogram
plt.figure(figsize=(16, 8))
plt.specgram(data, Fs=sample_rate, NFFT=1024, noverlap=512, cmap='plasma')
plt.xlabel('Time (s)')
plt.ylabel('Frequency (Hz)')
plt.title('Spectrogram')
plt.colorbar(label='Intensity (dB)')
plt.savefig('spectrogram.png', dpi=150, bbox_inches='tight')
plt.show()

‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

Method 2: Audacity (GUI)

  1. Open sound.wav in Audacity
  2. Menu: Analyze → Plot Spectrum or switch track view to Spectrogram
  3. Spectrogram settings: increase resolution for better readability

Method 3: Sonic Visualiser

  1. Open file in Sonic Visualiser
  2. Layer → Add Spectrogram
  3. Adjust color scheme for contrast

Result

The spectrogram clearly shows two text layers:

  1. Lower frequency band (7500-10000 Hz):

    DUCKERZ{REDACTED
    
  2. Upper frequency band (~15000 Hz):

    _t00}
    

    (text partially inverted/mirrored) ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

Alternative Tools

ToolPlatformNotes
AudacityCross-platformFree, GUI
Sonic VisualiserCross-platformAdvanced analysis
sox + spectrogramCLIsox input.wav -n spectrogram
SpekCross-platformQuick spectrum viewer

Theory

Audio steganography in spectrograms works by modulating the amplitude of specific frequencies. The human ear does not perceive these changes as significant, but when visualizing the frequency spectrum, the hidden image/text becomes visible. ‍​‌‌​​‌​​​‌‌​​‌​​​​‌‌​‌​​​​‌‌‌​​‌​​‌‌​​​‌​​‌‌‌​​​​​‌‌​‌‌​​​‌‌​​​​‍

Typical frequency ranges for hiding data:

  • 15000-20000 Hz — above the hearing threshold for most people
  • 7000-12000 Hz — masked as background noise

References