音视频取证笔记
音频取证
简述
音频同样也是一个可以隐写其他数据的数据格式,常见的例如 lsb 隐写。
Audacity
Audacity 是一款优秀的音频分析软件,可以进行录制、编辑、可视化音轨等操作。
在 Audacity 中可以查看频谱图,以便于寻找是否存在频谱图隐写的操作(同时可以尝试修改采样率,以便获取更多的信息)。
如果想要导入 mp4 等多媒体流的音频流,需要为 Audacity 下载额外的 FFmpeg 库,注意需要根据不同的版本号选择对应的库:https://lame.buanzo.org/ffmpeg.php。
优先选择 exe 安装文件,并默认安装路径,否则 Audacity 可能无法正常识别。
deepsound
DeepSound 支持 wave、flac、wma、ape 和音频 CD 数据类型的隐写,并且可以保留文件名。
可以使用 John 对其进行密码爆破。
将音频拖入,再输入密码,即可提取出隐写的数据。
DTMF
DTMF (dual-tone multifrequency),即双音多频,由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF 信号有16个编码,常用于老式电话,拨号音用的就是 DTMF 信号。
可以使用在线网站将音频进行转换:http://dialabc.com/sound/detect/index.html
也可以使用 Linux 软件 dtmf2num
,使用 apt
包管理工具即可安装。
使用方式:
1 | dtmf2num audio.wav |
FFmpeg
FFmpeg 是万能的格式转换软件,它可以提取出各种格式中的音频流。
使用命令 ffmpeg -i input.mp4
可以扫描出文件中所携带的各种流,扫描结果可能展示为
Stream #0:0[0x1](und): Video
,其中 0:0
是内置编号,Video
代表这个流是音频流。
使用命令 -map
可以指定编号导出流,导出时最好加上
-c copy
,否则它将使用全新方式导出(速度会慢),例如
ffmpeg -i input.mp4 -map 0:2 output.mp3
。
如果只是导出音频,更推荐使用 Audacity。
lsb 隐写
mid 文件
mid 文件是谱面文件,记录了各种音谱的内容,各类音乐制作软件都支持导出 mid 文件。
可以使用 MidiEditor 进行查看,内部谱面、音乐可能记录有关键信息。
Morse-Code
摩尔斯电码是只使用 0 和 1 两种状态的二进制代码,电报、短期通讯都是使用该种编码,主要由短促的点信号(代表 0)、保持一定时间的长信号(代表 1)和停顿组成。
Morse Code 的音频分析可以使用在线网站自动分析:https://morsecode.world/international/decoder/audio-decoder-expert.html
也可以使用 Linux 软件 morse2ascii
,使用 apt
包管理工具即可安装。
使用方式:
1 | morse2ascii audio.wav |
SSTV
慢扫描电视(Slow-scan television),是一种图像传输方式,将图像信息转化为高频率(也可能是低频率)的音频信息(也可以是其他波信息,例如电磁波),以波为载体传输信息。
比较多使用 MMSSTV 作为制作和转换(接收)SSTV 信息的工具,但需要安装虚拟声卡,使得输入输出都为虚拟声卡线路(默认为 Line1)。
MMSSTV 默认设置可能需要设置为 24000(正好是声卡设置的一半),然后你应该得到清晰的图像。
参考链接:https://amsat-uk.org/beginners/iss-sstv/
频谱图隐写
有时候会将关键信息隐藏在频谱图部分,可以使用 Audacity 软件查看频谱图部分得到隐藏信息。
需要注意的是,该种隐写会造成音乐听起来很奇怪。
WAV 取证
silenteye
silenteye 支持对 wav 格式的隐写。
直接拖拽目标文件,点击 Decode
可以解密其中的隐藏数据。
同时可能它会使用 AES 对数据进行加密,需要进行密码的填写。
steghide
可以对 wave 文件进行隐写和提取。
常常使用 steghide info filename.wav
对目标文件进行检测。
如果想要明文使用密码提取文件隐写数据,可以使用以下命令:
1 | steghide extract -sf filename -p password |
它会将隐写数据输出到文件当中。
可以使用 Stegseek 软件进行快速且精确的爆破。
WavSteg
一个开源项目,使用 LSB 技术进行隐写数据的 Python3 脚本。(Github 主页)
使用以下指令可以提取隐写数据,但缺点是要求大小精确。
1 | python3 WavSteg.py -r -s soundfile -o outputfile |
MP3 取证
Mp3stego
Mp3stego 是一款较老的支持 mp3 数据格式隐写的软件,可以在此站点下载并了解更多。
它将需要隐写的数据加密后隐写进 mp3 文件中,故隐蔽性良好。
使用以下命令可以提取隐写数据:
1 | decode -X -P password svega_stego.mp3 |
它将 svega_stego.mp3
解压为
svega_stego.mp3.pcm
并尝试提取隐藏信息,如果被解密则将保存在
svega_stego.mp3.txt
中。
加密命令:
1 | encode -E hidden_text.txt -P password svega.wav svega_stego.mp3 |
视频取证
VideoEncode
加密视频。
GitHub 仓库。
VideoShuff
将视频帧置乱,但特征较为明显。
仓库地址。
VideoStego
支持 MP4 文件的隐写。
仓库地址。