首页
社区
课程
招聘
[转帖]对声音进行漏洞挖掘
发表于: 2025-9-13 16:51 572

[转帖]对声音进行漏洞挖掘

2025-9-13 16:51
572

背景信息

之前有小伙伴沟通,说遇到某些产品。没有蓝牙,摄像头网络接口,无线网,USB接口,光驱软驱。如何进行信息交互?

也有人说,有些产品通过声波来传递信息,如何对这类产品进行fuzz测试?今天用一个小例子演示一下。



。如何对这类产品进行fuzz测试? IFFA 8.7开始增加了一个声波测试模块。可用于声波,无线电波等测试。 具体功能在菜单-工具-声波工具。


注意:本文章只说模糊测试的信息,声波无线电波相关概念知识较多,涉及到波形的各种转换,声音的各种基础信息。篇幅有限不在阐述。

如需测试,在合法合规前提下测试,所导致的一切后果和本文章无关。


本文所有软件:

声音处理软件:audacity

协议分析软件:IFFA(大蒜)

样本生成软件:PeachFuzzer


第一步:读取元数据


我们这个例子从一段音频文件开始,当然这个文件你可以直接获取,也可以通过专业的音频录制设备录制并处理。我们设计的数据如下所示。

我们可以通过工具—采样数据导出,对这类数据进行导出(同理,导入为工具,样本数据导入,后面会用得到)。

(图片1)

如下所示,我们得到了一些采样数据。采样数据为浮点型。

(目前大蒜分析逻辑为0.8至 1.01。 -0.8 至 -1.0为 0)。

第二步:转换二进制数据。

打开IFFA 8.7版本 主界面-工具-声波工具  单文件转换。

导入audacity生成的元数据,点击字节码到文件 按钮。输出二进制文件。

(图片2)

生成的二进制文件为32字节,用16进制编辑器打开如下所示。

(图片3)


下面我们对该样本,用IFFA进行分析。选择GPU加速(破解CRC32校验位置)。

GPU加速需要3个文件,我们本次测试只有一个,所以该文件复制三份。

分析结束,生成PIT脚本。

(图片4)

部分pit脚本如

<DataModel name="IFFA_data">
<!--Create time 2022-9-13 -->
<Number mutable="false"  endian="big"  size="32">
<Fixup class="Crc32Fixup"><Param name="ref"  value="1"/>
</Fixup>
</Number>
<Block name = "1" minOccurs="1"  maxOccurs="1" >
<Blob valueType = "hex" token="true" mutable="false" length = "1" value = "69 " />
<Blob valueType = "hex" length = "1"  />
<Blob valueType = "hex" name= "Separator_6" length = "1"  />
<Blob valueType = "hex" name= "abc_7" length = "5"  />
<Blob valueType = "hex" length = "2"  />
<Blob valueType = "hex" name= "abc_14" length = "8"  />
<Blob valueType = "hex" name= "Separator_22" length = "1"  />
<Blob valueType = "hex" name= "Num_23" length = "9" />
</Block>
<Block name="AddDNA_End" minOccurs="0" maxOccurs="0">
<Blob valueType = "hex"  mutable = "false" value = "69 64 "/>
<Blob valueType = "hex"  mutable = "false" value = "61 64 6d 69 6e "/>
<Blob valueType = "hex"  mutable = "false" value = "70 61 73 73 77 6f 72 64 "/>
</Block></DataModel>


然后启动peach 生成大量样本。我们生成500个智能样本吧。

生成结束后,我们删除大于64KB的样本。声波无线电波一般都很小的数据,没必要留大文件,浪费。此时还有475个样本,共计560KB

(图片5)


面我们再次打开大蒜,基于声波的测试特性,我们把这些样本合并成一个样本(想一想,为什么如此?)。在IFFA的声波测试工具中,多文件转换输入文件夹,点击多文件到字节码。

(图片6)

几十秒钟后,生成了7M多的测试文件。这些都是声波的元数据

(图片7)

再次打开Audacity 工具-样本数据导入,把这个数据导入

(图片8)

然后根据你的音频知识,和对目标的了解,对音频进行一次转换,转换成和接收到的参数一致(略)。文件,导出,就可以输出WAV文件,然后就可以播放了。

附件放出来了声音,为了缩短时长进行了处理。


友情提示:噪音会让耳朵很痛,谨慎听音频。也不知道 如果对唐僧的紧箍咒Fuzz下 发给孙悟空,会是什么样?

音频地址:c8fK9s2c8@1M7s2y4Q4x3@1q4Q4x3V1k6Q4x3V1k6E0M7q4)9J5k6i4N6W2K9i4S2A6L8W2)9J5k6i4q4I4i4K6u0W2j5$3!0E0i4K6u0r3M7#2)9J5c8X3E0g2b7#2)9J5k6p5k6s2i4K6g2X3y4$3q4#2d9U0N6F1i4K6u0V1f1X3k6h3L8W2N6T1K9g2p5`.



传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 3
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回