zinja-coder/iotwizz

GitHub: zinja-coder/iotwizz

一款受 Metasploit 启发的物联网渗透测试框架,整合硬件接口攻击、固件分析与 AI 辅助能力,为嵌入式设备安全评估提供统一控制台。

Stars: 0 | Forks: 0

# 🔧 IoTwizz — 硬件黑客的实战手册

一款受 Metasploit 启发的模块化 IoT 安全测试框架。
专为硬件黑客、固件分析师和 IoT 安全研究人员打造。

## 📖 关于 IoTwizz **IoTwizz** 是一个专门为物联网 (IoT) 领域构建的全面、开源的渗透测试框架。受 Metasploit 模块化和可扩展架构的启发,IoTwizz 旨在成为安全研究人员、硬件黑客和渗透测试人员的“瑞士军刀”,为他们提供一个统一的工具包,用于审计嵌入式设备、分析固件以及测试硬件级协议。 随着 IoT 生态系统的扩展,攻击面呈指数级增长——从电路板上暴露的 UART 和 JTAG 调试接口,到硬编码凭据和易受攻击的 bootloader。IoTwizz 通过提供一个交互式、集中化的控制台(由 `prompt-toolkit` 和 `rich` 驱动)来管理复杂的安全评估,从而弥合了硬件和软件漏洞利用之间的鸿沟。开箱即用,该框架包含一套强大的核心模块:一个**波特率探测器**,用于无缝自动检测 UART 串行通信速度;一个**U-Boot Breaker**,旨在中断 bootloader 序列并获取低级硬件 root shell;一个通用的**默认凭据检查器**,加载了数百个已知的 IoT 默认登录信息,用于针对 SSH、Telnet、HTTP 和 FTP 进行测试;以及一个**固件分析器**,利用 Binwalk 进行签名扫描和熵分析。 此外,IoTwizz 引入了 **AiWizz** —— 一款由大语言模型(支持 Gemini、OpenAI、Claude 和 Ollama)驱动的尖端交互式黑客助手。该 AI 代理充当您的副驾驶,直接集成到控制台中以接受自然语言命令。AiWizz 可以代表您自主选择、配置和执行内部的 IoTwizz 模块,随后解析工具输出,提供可操作的情报、漏洞解释和逐步修复建议。 IoTwizz 采用高度健壮和动态的插件架构设计,开发人员和研究人员可以轻松编写新的 Python 模块并将其放入框架中,以支持专门的攻击向量,如 JTAG/SWD 扫描、SPI flash 转储、蓝牙低功耗 (BLE) 嗅探以及 MQTT/CoAP 协议模糊测试。无论您是在逆向工程恶意的智能摄像头、评估企业级路由器集群,还是保护工业控制系统,IoTwizz 都能提供边缘端发现关键漏洞所需的自动化、灵活性和 AI 驱动的智能。 ## ⚡ 功能特性 | 类别 | 模块 | 状态 | 描述 | |----------|--------|--------|-------------| | **UART** | `uart/baud_rate_finder` | ✅ 就绪 | 自动检测 UART 波特率 | | **Exploit** | `exploit/uboot_breaker` | ✅ 就绪 | 拦截 U-Boot 并获取 shell | | **Recon** | `recon/default_creds` | ✅ 就绪 | 测试 IoT 默认凭据 (SSH/Telnet/HTTP/FTP) | | **Firmware** | `firmware/binwalk_analyzer` | ✅ 就绪 | 固件分析、提取与字符串搜索 | | **AI** | `ai/aiwizz` | ✅ 就绪 | 交互式 AI 黑客助手 (Gemini/OpenAI/Claude/Ollama) | | **Hardware** | `hardware/jtag_swd_scanner` | ✅ 就绪 | JTAG/SWD 调试接口扫描器 | | **Hardware** | `hardware/spi_flash_dumper` | ✅ 就绪 | SPI flash 固件转储器 | | **Protocol** | `protocol/mqtt_fuzzer` | ✅ 就绪 | MQTT 协议模糊测试工具 | | **Protocol** | `protocol/coap_fuzzer` | ✅ 就绪 | CoAP 协议模糊测试工具 | | **Wireless** | `wireless/ble_scanner` | ✅ 就绪 | 蓝牙低功耗 (BLE) 扫描器 | | **Wireless** | `wireless/zigbee_sniffer` | ✅ 就绪 | Zigbee/Z-Wave 嗅探器 | ## 🚀 快速开始 ### 安装 ``` # Clone the repository git clone https://github.com/khushalmistry/iotwizz.git cd iotwizz # 安装依赖项(如果使用 standalone binary 则为可选) pip install -r requirements.txt # 安装 IoTwizz pip install -e . # 使用 Python 启动! iotwizz ``` ### 独立二进制文件(无需 Python) 对于 macOS 用户,`dist` 目录中提供了一个完全独立的二进制文件。您不需要安装 Python 或任何依赖项即可使用它。 ``` # 直接运行 standalone executable ./dist/iotwizz ``` ### 使用方法 ``` iotwizz > show modules # List all modules iotwizz > use uart/baud_rate_finder # Select a module iotwizz(uart/baud_rate_finder) > info # View module info iotwizz(uart/baud_rate_finder) > set PORT /dev/ttyUSB0 # Set options iotwizz(uart/baud_rate_finder) > run # Execute! ``` ## 📖 模块快速参考 ### 🔌 UART 波特率探测器 通过测试常见速率,自动检测 UART 串行连接的波特率。 ``` iotwizz > use uart/baud_rate_finder iotwizz(uart/baud_rate_finder) > set PORT /dev/ttyUSB0 iotwizz(uart/baud_rate_finder) > set LIST_PORTS true iotwizz(uart/baud_rate_finder) > run ``` ### 🔓 U-Boot Breaker 拦截 U-Boot 启动序列以获取 bootloader shell 访问权限。 ``` iotwizz > use exploit/uboot_breaker iotwizz(exploit/uboot_breaker) > set PORT /dev/ttyUSB0 iotwizz(exploit/uboot_breaker) > set BAUD_RATE 115200 iotwizz(exploit/uboot_breaker) > run # 提示时请对设备进行 Power cycle! ``` ### 🔑 默认凭据检查器 通过 SSH、Telnet、HTTP 或 FTP 测试 IoT 设备的默认/已知凭据。 ``` iotwizz > use recon/default_creds iotwizz(recon/default_creds) > set TARGET 192.168.1.1 iotwizz(recon/default_creds) > set SERVICE ssh iotwizz(recon/default_creds) > run ``` ### 📦 固件分析器 使用 binwalk 分析固件镜像——签名扫描、熵分析、提取和字符串搜索。 ``` iotwizz > use firmware/binwalk_analyzer iotwizz(firmware/binwalk_analyzer) > set FIRMWARE_FILE ./router_firmware.bin iotwizz(firmware/binwalk_analyzer) > set EXTRACT true iotwizz(firmware/binwalk_analyzer) > run ``` ### 🤖 AiWizz(交互式黑客助手) 与一位 AI 专家对话,它可以自主控制 IoTwizz 框架,为您运行模块并分析输出。 ``` iotwizz > use ai/aiwizz iotwizz(ai/aiwizz) > set PROVIDER gemini iotwizz(ai/aiwizz) > set API_KEY your_api_key_here iotwizz(ai/aiwizz) > run AiWizz > "I want you to scan 192.168.1.1 for default SSH credentials" ``` ## 🏗️ 创建自定义模块 IoTwizz 拥有插件架构。添加新模块的方法如下: 1. 在相应的 `iotwizz/modules//` 目录中创建一个新的 `.py` 文件 2. 继承 `BaseModule`(或占位符用的 `StubModule`) 3. 定义 `name`、`description`、`author`、`category`、`options` 4. 实现 `run()` 方法 5. IoTwizz 将自动发现您的模块! ``` from iotwizz.base_module import BaseModule from iotwizz.utils.colors import success, error, info class MyCustomModule(BaseModule): def __init__(self): super().__init__() self.name = "My Custom Tool" self.description = "Does something awesome" self.author = "Your Name" self.category = "recon" self.options = { "TARGET": { "value": "", "required": True, "description": "Target to scan", }, } def run(self): target = self.get_option("TARGET") info(f"Scanning {target}...") # Your exploit/scan logic here success("Done!") ``` ## 📋 系统要求 - Python 3.8+ - `pyserial` — 串口/UART 通信 - `rich` — 优美的终端输出 - `prompt-toolkit` — 交互式控制台 - `paramiko` — SSH 连接 - `requests` — HTTP 请求 - `scapy` — 网络数据包构建 - `paho-mqtt` — MQTT 协议 - `google-generativeai`, `openai`, `anthropic` — 用于 AiWizz 模式 可选: - `binwalk` — 固件分析(系统包) ## ⚠️ 法律免责声明 **IoTwizz 仅供授权安全测试使用。** 仅在您拥有或获得明确书面许可进行测试的设备和网络上使用此工具。未经授权访问计算机系统是非法的。作者不对任何滥用行为负责。 ## 📄 许可证 MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。

⚡ 由 Khushal Mistry 构建 ⚡
黑客愉快! 💀

标签:AI 安全, AI风险缓解, Binwalk, CISA项目, IoT, JTAG, LLM, LLM评估, Metasploit 替代品, Ollama, Petitpotam, Prompt-Toolkit, Python, TGT, UART 调试, U-Boot, Unmanaged PE, 串口通信, 二进制发布, 固件分析, 固件提取, 嵌入式设备, 开源工具, 攻防演练, 无后门, 波特率检测, 渗透测试框架, 物联网安全, 硬件黑客, 网络安全, 自动化攻击, 逆向工具, 防御, 隐私保护, 默认凭证