音视频取证笔记

音频取证

简述

音频同样也是一个可以隐写其他数据的数据格式,常见的例如 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 对数据进行加密,需要进行密码的填写。

silenteye encrypted

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 文件的隐写。

仓库地址