物联网设备植入攻击工具包
IoT-Implant-Toolkit 是一个用于物联网设备恶意软件植入研究的有用工具框架。它包含了固件修改、串口调试、软件分析和稳定间谍客户端等基本软件工具。借助易于使用且可扩展的类似 shell 的环境,IoT-Implant-Toolkit 是一个一站式工具包,简化了物联网恶意软件植入的复杂流程。
在我们的研究中,我们使用 IoT-Implant-Toolkit 成功地在八个设备中植入了木马,包括智能音箱、摄像头、行车记录仪和移动翻译器。
以下为演示视频:

确保已安装 git、python3 和 setuptools。 对于音频处理和播放,您需要安装 alsa(Linux 内置)、sox 和 ffplay。在 Ubuntu18.04 上:
$ sudo apt install sox ffmpeg
从我们的 Github 下载源代码:
$ git clone https://github.com/arthastang/IoT-Implant-Toolkit.git
设置环境并安装依赖:
$ cd IoT-Implant-Toolkit/
$ python3 setup.py install
运行工具包:
$ python3 -B IoT-Implant-Toolkit.py
_____ _______ _____ _ _ _______ _ _ _ _
|_ _| |__ __| |_ _| | | | | |__ __| | | | (_) |
| | ___ | |______| | _ __ ___ _ __ | | __ _ _ __ | |_ ______| | ___ ___ | | | ___| |_
| | / _ \| |______| | | '_ ` _ \| '_ \| |/ _` | '_ \| __|______| |/ _ \ / _ \| | |/ / | __|
_| || (_) | | _| |_| | | | | | |_) | | (_| | | | | |_ | | (_) | (_) | | <| | |_
|_____\___/|_| |_____|_| |_| |_| .__/|_|\__,_|_| |_|\__| |_|\___/ \___/|_|_|\_\_|\__|
| |
|_|
IoT-Implant-Toolkit
-------------------------------------------------------------
A Framework for IoT implantation research.
by Marvel Team
Command:
list - List all tools
run - Run a specific tool
exit - Exit
[Implant-Toolkit]>
支持三个命令: list: 列出所有插件 run: 运行特定插件,格式为 "run [插件] [参数]" exit: 退出
每个软件工具作为一个插件,可以轻松添加到框架中。
共有四个类别的十多个插件,涵盖串口调试、固件打包与解包、软件分析和植入间谍程序等主题。
我们框架中现有的插件:
代码结构:
--IoT-Implant_toolkit.py #启动脚本
--outputs/ #默认输出文件夹
--toolkit/
|---core/
|---basic/ #基本插件类定义
|---cli/ #类似 Shell 的 CLI 定义
|---toollist/ #自动更新的插件工具列表
|---plugins/
|---firmware/ #固件修改插件
|---implant/ #生成间谍程序的插件
|---serialport/ #串口调试插件
|---software/ #软件分析插件(特别针对 Android)
|---tools/ #其他工具
在相应文件夹(类别)中创建 [newplugin].py,并定义 init 属性以将新插件添加到 IoT-Implant-Toolkit。框架将在启动时自动检测新插件。
恶意软件植入研究必备的硬件工具。请查看 HardwareTools/ 中的图片。
由于时间限制,我们尚未添加更多插件。
下表列出了不适合我们框架但仍可能有用的工具。
我们希望 IoT-Implant-Toolkit 能成为恶意软件植入中必不可少的工具包。
| 类别 | 工具 | 描述 | 参考 |
|---|
| 串口调试 | pyserial | 调制解调器控制和终端仿真程序 | https://github.com/pyserial/pyserial |
| 串口调试 | baudrate.py | 查找正确的波特率 | https://github.com/devttys0/baudrate |
| 固件打包与解包 | mksquashfs | 创建和提取 Squashfs 文件系统 | https://github.com/plougher/squashfs-tools |
| 固件打包与解包 | mkbootimg_tools | 解包&重新打包 Android 的 boot.img | https://github.com/xiaolu/mkbootimg_tools |
| 固件打包与解包 | cramfs | 制作 cramfs 文件系统 | https://sourceforge.net/projects/cramfs/files/cramfs/1.1/ |
| 固件打包与解包 | mountimg | 挂载&卸载 Android 系统镜像 system.img 和 data.img 的 ext4 文件系统 | 我们的 Github 上 |
| 软件分析 | setools-android | 包含 sepolicy-inject 的 Android 版 setools | https://github.com/xmikos/setools-android |
| 软件分析 | crosscomplie | ARM 交叉编译工具链 | 稍后提供于我们的 Github |
| 软件分析 | odex unpack | Android 的 odex 转 smali | 我们的 Github 上 |
| 二进制植入 | spy client&server | 稳定的间谍客户端和服务器,包含源码和预编译二进制文件 | 我们的 Github 上 |
| 二进制植入 | denoise tool | 音频处理的降噪工具 | 我们的 Github 上 |
| 名称 | 描述 |
|---|
| 烙铁 | 焊接工具 |
| 焊锡丝 | 焊接工具 |
| 焊锡膏 | 焊接工具 |
| 焊锡吸带 | 焊接工具 |
| 热风枪 | 焊接工具 |
| 植锡工具 | 植锡工具 |
| USB 转 TTL | 调试/控制台线 |
| 杜邦线 | 电线 |
| EPROM 烧录器 | 烧录编程器 |
| 类别 | 工具 | 描述 | 参考 |
|---|
| 固件分析 | binwalk | 快速、易用的固件镜像分析、逆向工程和提取工具 | https://github.com/ReFirmLabs/binwalk |
| 固件修改 | firmware mod kit | 用于提取和重建基于 Linux 的固件镜像的脚本和工具集合 | https://github.com/rampageX/firmware-mod-kit |
| 交叉编译器 | buildroot | ARM、MIPS、PowerPC 交叉编译工具链 | https://buildroot.org/ |