ToothPicker 开源项目教程
toothpicker 项目地址: https://gitcode.com/gh_mirrors/to/toothpicker
1、项目介绍
ToothPicker 是一个针对 iOS 的进程内覆盖引导模糊测试工具。它专门设计用于针对 iOS 的蓝牙守护进程 bluetoothd
,并分析 iOS 上的各种蓝牙协议。由于 ToothPicker 是基于 FRIDA 构建的,因此它可以适应任何运行 FRIDA 的平台。
该项目还包含一个空中模糊测试器,并提供了一个示例实现,用于使用 InternalBlue 模糊测试 Apple 的 MagicPairing 协议。
2、项目快速启动
环境准备
在开始之前,请确保您的环境满足以下要求:
- iPhone: 需要安装 FRIDA,具体步骤请参考 FRIDA iOS 文档。
- Linux: 需要安装
usbmuxd
和libimobiledevice
。 - 可选但推荐: 安装
virtualenv
和radamsa
。
安装步骤
-
克隆项目:
git clone https://github.com/seemoo-lab/toothpicker.git cd toothpicker
-
设置虚拟环境(推荐):
virtualenv venv source venv/bin/activate
-
安装依赖:
pip3 install -r requirements.txt
-
编译 harness:
cd harness npm install frida-compile
-
运行模糊测试:
python MagicPairingFuzzer.py TARGET_BD_ADDR
3、应用案例和最佳实践
应用案例
ToothPicker 主要用于以下场景:
- 蓝牙协议分析: 通过模糊测试发现蓝牙协议中的漏洞。
- iOS 安全研究: 帮助安全研究人员分析 iOS 系统的安全性。
最佳实践
- 定期更新 FRIDA: 确保使用最新版本的 FRIDA,以获得最佳的兼容性和性能。
- 使用虚拟环境: 建议在虚拟环境中运行 ToothPicker,以避免依赖冲突。
- 记录和分析崩溃: 使用
ReplayCrashFile.py
脚本记录和分析模糊测试过程中发现的崩溃。
4、典型生态项目
ToothPicker 的生态系统中包含以下典型项目:
- FRIDA: 一个动态插桩工具,用于在运行时分析和修改应用程序。
- InternalBlue: 一个蓝牙协议分析工具,与 ToothPicker 结合使用可以进行更深入的蓝牙协议分析。
- radamsa: 一个模糊测试工具,用于生成测试用例。
通过这些工具的结合使用,可以更全面地进行 iOS 蓝牙协议的安全性分析。
toothpicker 项目地址: https://gitcode.com/gh_mirrors/to/toothpicker