音频隐写

FuLita 32 次阅读 发布于 2025-12-24 530 字


音频隐写

与音频相关的 CTF 题目主要使用了隐写的策略,主要分为 MP3 隐写,LSB 隐写,波形隐写,频谱隐写等等。

常见手段

通过 binwalk 以及 strings 可以发现的信息不再详述。

MP3 隐写

原理

MP3隐写主要是使用 Mp3Stego 工具进行隐写,其基本介绍及使用方法如下

bash

encode -E hidden_text.txt -P pass svega.wav svega_stego.mp3
decode -X -P pass svega_stego.mp3

此外这个工具也有一个gui的版本。

console

链接: https://pan.baidu.com/s/1EKblDmkcRSxaN8lmqCMD0g 提取码: 88qt
--来自百度网盘超级会员v3的分享

例题

ISCC-2016: Music Never Sleep

初步观察后,由 strings 得到密码后使用 Mp3Stego 解密。

20211009160707

20211009160707

需要注意的是,这个GUI工具需要把需要解密的文件放到程序的根目录下面

得到文件 iscc2016.mp3.txt:

none

Flag is SkYzWEk0M1JOWlNHWTJTRktKUkdJTVpXRzVSV0U2REdHTVpHT1pZPQ== ???

Base64 && Base32 后得到 flag。

波形

原理

通常来说,波形方向的题,在观察到异常后,使用相关软件(Audacity, Adobe Audition 等)观察波形规律,将波形进一步转化为 01 字符串等,从而提取转化出最终的 flag。

例题-波形1

使用Audacity打开,观察波形

20211009165548

20211009165548

长短空,猜测是摩斯密码。

none

.... .-.. . .. -.-. .. -.-. - ... - .-- --- --- -.-. ..-. . -- -.-. -. .----

摩斯密码解密,在进行栅栏得到 flag。

例题-波形2

打开波形图,发现最前段有异常

20211009165822

20211009165822

取高点为1,低点为0得

console

110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101

取值以后发现一共105位,为7的倍数,因此猜测需要7位一组补0后转ascii得flag

频谱

原理

音频中的频谱隐写是将字符串隐藏在频谱中,此类音频通常会有一个较明显的特征,听起来是一段杂音或者比较刺耳。

例题

Su-ctf-quals-2014:hear_with_your_eyes

20211009162548

20211009162548

LSB音频隐写

原理

类似于图片隐写中的 LSB 隐写,音频中也有对应的 LSB 隐写。主要可以使用 Silenteye 工具。

例题

2015 广东省强网杯 - Little Apple

直接使用 silenteye 即可。

此作者没有提供个人介绍。
最后更新于 2025-12-24