MISC—音频隐写


CTF——MISC——音频隐写

一、常见工具

​ 工具:Audacity、Adobe Audition(简称au)、SilentEye、DeepSound、SSTV、mp3stego。

​ 其实和图片一样,数字音频也可以用于信息隐写,音视频隐写会存在比较明显的特征:

· 音频载体信号存在冗余,为隐蔽信息提供支持;

· 人类听觉系统频谱范围是20Hz18kHz,但对2kHz4kH信息最为敏感;

· 人类听觉系统只对相对相位敏感,而无法感知绝对相位。

​ 这里参考一位师傅写的文章

C语言解析WAV音频文件

https://www.cnblogs.com/guojun-junguo/p/10129548.html

解释了WAVE文件的结构

图片

​ 所以对于音频题,拿到题目当然首先是听一下,然后再根据是否获得信息来进行下一步操作

二、常见题型

​ Wave (wav), 文件头:57415645

Audacity

​ 作为最常用的音频查看软件,当试听题目音频没有明显杂音或者信息时,一般会选择用Audacity打开

图片

并可以选择查看波形、频谱图

图片

​ 可能会获得morse电码或者二进制的信息,当然部分题目信息量过大,会用到脚本来进行提取

图片

​ 此外,波形图的上下峰也可能会暗含信息

图片

​ 出题方式是千变万化,分离左右声道来获得信息,diff反相音频获得信息,通过倒序,反相,慢速,降噪等步骤也视情况尝试(例如:经典的单词模糊听写,需要倒序后慢速听;充斥杂音的音频需要一定程度的降噪才能获得信息;ASCII编码的数字需要注意是否越过127)

SSTV

(慢扫描电视)

​ 把图片隐藏到音频信息中的隐写,手机上可以装Robot36(app),PC可以用MMSSTV。![图片](data:image/svg+xml,%3C%3Fxml version=’1.0’ encoding=’UTF-8’%3F%3E%3Csvg width=’1px’ height=’1px’ viewBox=’0 0 1 1’ version=’1.1’ xmlns=’http://www.w3.org/2000/svg‘ xmlns:xlink=’http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=’none’ stroke-width=’1’ fill=’none’ fill-rule=’evenodd’ fill-opacity=’0’%3E%3Cg transform=’translate(-249.000000, -126.000000)’ fill=’%23FFFFFF’%3E%3Crect x=’249’ y=’126’ width=’1’ height=’1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

图片

Deepsound

​ 作为带有密码的音频隐写

图片

​ Deepsound的密码可通过john爆破

图片

MP3stego

​ MP3格式文件:

cmd打开,将 Decode.exe 拖到命令行里,将要解密的文件放在文件夹中

# 隐藏信息

# —E 读取隐藏信息文件的内容,-P 设置密码

encode.exe -E hidden.txt -P pass CTF.wav svega_stego.mp3

# 解密信息

decode.exe -X svega_stego.mp3 -P pass

拨号隐写(DTMF)

图片

推荐一个GitHub上的脚本工具

https://gitcode.net/mirrors/ribt/dtmf-decoder?utm_source=csdn_github_accelerator

MIDI隐写

MIDI (mid), 文件头:4D546864

图片

​ 乍看没有发现任何信息,但稍微研究一下midi的文件结构,将音乐通道由2改为3

图片

​ 再重新打开文件,即可发现隐藏通道下的二维码

图片

信号分析

​ 包括无线电信号分析,GPS信号分析,一般用Adobe Audition或者Audacity分析;PT2242信号:前面4bit表示同步码,中间的20bit表示地址码,后面的4bit表示功能码,最后一位是停止码。

HackRF区别

图片

原始数据

​ 当见到音频的后缀为一些奇怪的组合时,比如扩展名为s8,要考虑是否为原始数据,所以在导入时选择导入原始数据![图片](data:image/svg+xml,%3C%3Fxml version=’1.0’ encoding=’UTF-8’%3F%3E%3Csvg width=’1px’ height=’1px’ viewBox=’0 0 1 1’ version=’1.1’ xmlns=’http://www.w3.org/2000/svg‘ xmlns:xlink=’http://www.w3.org/1999/xlink'%3E%3Ctitle%3E%3C/title%3E%3Cg stroke=’none’ stroke-width=’1’ fill=’none’ fill-rule=’evenodd’ fill-opacity=’0’%3E%3Cg transform=’translate(-249.000000, -126.000000)’ fill=’%23FFFFFF’%3E%3Crect x=’249’ y=’126’ width=’1’ height=’1’%3E%3C/rect%3E%3C/g%3E%3C/g%3E%3C/svg%3E)

图片

​ 默认采样率、尾端和编码获取不到信息时,也要根据需要调试(频谱图可以容易的识别出信号的中心频率)

三、例题

1,你真的很不错

(flag.wav; 音频波形转摩斯密码)

img

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

Python摩斯电码解密

摩斯电码解密可以使用诸多在线网站,当然也可以用Python进行解密:

Python

# -*- coding:utf-8 -*-
s = input("input the cipher_text Enclose with quotes:")
codebook = {
    'A':".-",
    'B':"-...",
    'C':"-.-.",
    'D':"-..",
    'E':".",
    'F':"..-.",
    'G':"--.",
    'H':"....",
    'I':"..",
    'J':".---",
    'K':"-.-",
    'L':".-..",
    'M':"--",
    'N':"-.",
    'O':"---",
    'P':".--.",
    'Q':"--.-",
    'R':".-.",
    'S':"...",
    'T':"-",
    'U':"..-",
    'V':".--",
    'W':".--",
    'X':"-..-",
    'Y':"-.--",
    'Z':"--..",
    '1':".----",
    '2':"..---",
    '3':"...---",
    '4':"....-",
    '5':".....",
    '6':"-....",
    '7':"--...",
    '8':"---..",
    '9':"----.",
    '0':"-----",
    '.':".━.━.━",
    '?':"..--..",
    '!':"-.-.--",
    '(':"-.--.",
    '@':".--.-.",
    ':':"---...",
    '=':"-...-",
    '-':"-....-",
    ')':"-.--.-",
    '+':".-.-.",
    ',':"--..--",
    '\'':".----.",
    '_':"..--.-",
    '$':"...-..-",
    ';':"-.-.-.",
    '/':"-..-.",
    '\"':".-..-.",
}
clear = ""
cipher = ""
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758591234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

while 1:
ss = s.split(“ “);
for c in ss:
for k in codebook.keys():
if codebook[k] == c:
cipher+=k
print(cipher)
break;

1.2,lookme(flag.wav; 高低波形转换)

img

110011011011001100001110011111110111010111011000010101110101010110011011101011101110110111011110011111101

2,我爱我的祖国(flag.mp4 ; NTFS交换数据流,以音频为主数据流)

把文件直接在 NtfsStreamsEditor 中打开搜索,就能看到一些非主数据流文件

img

得到一张图片,打开图片得到flag

3,用眼睛去倾听(flag.wav; 音频频谱隐藏)

在Audacity中打开,调到查看音频频谱:

img

4,音乐永不停止(flag.mp3; MP3音频文件隐写)

需要用到 Mp3Stego 中解密隐藏的信息

指令:

Decode.exe -P pass -X flag.wav
Flag is SkYzWEk0M1JOWlNHWTJTRktKUkdJTVpXRzVSV0U2REdHTVpHT1pZPQ== ???

5,Silenteye(flag.wav ; 音频中的LSB(最低有效位)隐写)

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

img


文章作者: Daniel
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Daniel !
  目录