CTF-视音频篇

优秀的人,不是不合群,而是他们合群的人里面没有你

MP3&音频隐写

解题思路:

  1. 正常丢进Audacity打开查看频谱图,波形图,看看有没有密码提示或者类似于摩斯码的信息
  2. 如果听起来有嘟嘟声,丢随波工具箱用wav拨号功能一键梭哈
  3. 如果有密码提示,可能就是MP3StenoSilentEyeDeepsound加密

如果听起来有摩斯密码,用这个网站一把锁哈解决

https://morsecode.world/international/decoder/audio-decoder-adaptive.html
  1. wav和mp3文件用Audacity打开查看频谱图,或 Shift+M选择频谱图,一般来说,音频中的频谱隐写是将字符串隐藏在频谱中,此类音频通常会有一个较明显的特征,听起来是一段杂音或者比较刺耳。

内容体字典

  1. 另外如果听到有嘟嘟嘟的拨号声,可以尝试转换成wav后,用随波工具箱的wav拨号功能进行解密。
  2. DeepSound可以查看音频隐藏写入的内容
  3. mp3文件,使用MP3Stego,在目录下使用命令

    Decode.exe -X 1.mp3 可以不用密码试一试

    decode -X -P 123456 svega.mp3(密码 123456)

    decode -X -P 123456 svega.mp3 outhidden flag123465.txt

    选择输出的文件名

需要注意的是,mp3stego并不是说输入对密码才会生产文件,哪怕错的也能生存文件,所以爆破的时候不能用条件判断~

区别就是这个样子

补充一个爆破的代码:

import subprocess
code = 'decode -X -P {} mp3.mp3 outhidden flag{}.txt'
# codes = code.format(1260)
# res = subprocess.Popen(codes, shell=True, stdout=subprocess.PIPE)
# result = res.stdout.read().decode()
# print('-----------')
# print(result)

for i in range(999,1301):
    codes = code.format(i,i)
    res = subprocess.Popen(codes, shell=True, stdout=subprocess.PIPE)
    result = res.stdout.read().decode()
    print(result)

还可以这么写

import os
j = 0
for i in range(1000,1301):
    command = "decode.exe -X -P {} mp3.mp3 outhidden flag{}.txt".format(i,j)
    #print(command)
    os.system(command)
    j += 1

#decode.exe -X -P 1000 mp3.mp3 outhidden flag{}.txt

  1. 类似于图片隐写中的 LSB 隐写,音频中也有对应的 LSB 隐写,只针对wav,使用SilentEye,详细步骤如下,点击到如下页面,两个框都要把密码输入,注意不同的音质解密不出来,low和high都尝试换一下,还有aes256和aes128也要换着来试一试

就会自动把隐写的文本提取出来

  1. 音频隐藏莫斯密码,文件用Audacity打开可以明显看到两段音轨不一样

这段 MP3 正常播放一般是听不出来什么的,但是 Shift+M 选择分离立体声到单声道然后独奏播
放第一栏的音轨

视频隐写

使用视频编辑软件对每一帧进行检查,ffmpeng,可能会有盲水印的题目

坚持原创技术分享,您的支持将鼓励我继续创作!

-------------本文结束感谢您的阅读-------------

腾讯云主机优惠打折:最新活动地址


版权声明

LangZi_Blog's by Jy Xie is licensed under a Creative Commons BY-NC-ND 4.0 International License
由浪子LangZi创作并维护的Langzi_Blog's博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Langzi_Blog's 博客( http://langzi.fun ),版权所有,侵权必究。

0%