PwnPad挑战Invisible Wires:当I2C从设备消失时,如何继续攻破通信总线
发布时间:2026/10/14 15:29:13 锦皓数字建站

【免费下载链接】PwnPadPwnPad is an affordable, hands-on hardware hacking platform built for practical learning. It features a range of challenges that walk users through key hardware security concepts, from PCB design to side-channel attacks.项目地址https://gitcode.com/gh_mirrors/pwn/PwnPad点击查看免费下载PwnPad 是一款低成本、可动手的硬件安全Hardware Hacking学习平台用约 20 美元即可搭建。本文以它的第 4 个挑战Invisible Wires隐形的线为例讲解一个经典场景I2C 总线上从设备消失了主设备还在不停往总线发数据——如何定位 I2C 信号线、逆向通信协议并用从设备模拟I2C Slave Emulation或嗅探手法把 Flag 挖出来 PwnPad 是什么一个百元内搞定的硬件安全学习平台PwnPad 由 TwelveSec 开源目标是让零基础的人也能通过造 拆 攻三步走上硬件安全之路。一块板子覆盖串口协议UART / SPI /I2C固件提取ISP、EEPROM Dump电压毛刺注入Voltage Fault Injection时序侧信道攻击Timing Side-Channel板子通过5 个跳线引脚做二进制挑战选择切换挑战无需重新烧录固件。完整组装与刷机流程见 docs/PwnPad_building_instruction.pdf。挑战背景从设备消失主设备还在自言自语打开 challenges/4. Invisible Wires.md 可以看到剧情设定你从安保设施里偷走了一块主电路板但它的双胞胎从设备被留在了现场。主设备并不知道同伴消失仍在 I2C 总线上周期性地发送数据等待回应。你的任务有三步找到板间通信用的 I2C 信号线SCL / SDA逆向协议搞清楚主设备在发什么、期望什么应答模拟或欺骗缺失的从设备触发并提取 Flag 前置建议先完成 Challenge 3 Bus Whisperer嗅探 I2C 流量掌握逻辑分析仪的使用后再来打这一关。挑战设置跳线引脚如何拨到 Invisible WiresPwnPad 的挑战选择逻辑在 PwnPad.ino 中5 个跳线位按二进制拼接成挑战编号引脚 1 为最高位。Challenge 4 二进制 00100即只有3 号跳线短接其余断开跳线位12345状态00100拨好跳线后按下 RESET 键即可加载挑战。下图是板子上 Challenge Select 跳线区的位置示意示例中短接的是第 1 位本关请短接第 3 位第一步定位 I2C 总线——找到 SCL 和 SDAI2C 只需要两根信号线SCL时钟线由主设备驱动SDA数据线双向、开漏上拉PwnPad 板载了专门的 I2C 接口排针引脚已标注GND / SCL / SDA / 5V直接对照板丝印找到即可如下图所示左上角 Serial Interface 区域的 I2C 排针如果拿到的是一块黑盒板子通用的定位方法打开原理图参考 Schematic_PwnPad-v1.0.pdf 了解本板设计确认主控的 I2C 引脚万用表量上拉电阻I2C 的 SCL/SDA 通常对电源有 4.7kΩ 左右的上拉是很好的特征逻辑分析仪配合示波器看波形SCL 是规整的方波SDA 只在 SCL 低电平时跳变第二步看懂主设备的行为——它还在呼叫消失的从设备本关固件在 PwnPad.ino 的handheld_challenge_i2c_v2()中代码很短这里不贴全只讲逻辑主设备初始化 I2C 后进入死循环每 500ms 向固定从设备地址 0x12发起一次写事务载荷是一段固定字符串也就是 Flag 本体关键点在于I2C 是开漏总线数据是按位时钟出的。哪怕从设备缺席、没有 ACK主设备已经把字节一个比特一个比特地打到了 SDA 上。换句话说线是隐形的但流量是明文的——这正是本关的核心思路。第三步两条攻击路线路线 A最简逻辑分析仪直接嗅探用逻辑分析仪的 2 通道分别接 SCL 和 SDA选 I2C 解码协议就能直接看到写地址0x12连续的数据字节——解码后就是 Flag由于从设备不存在主设备会收到 NACK 并报错退出本次事务但数据字节在总线上已经完整出现嗅探者不需要任何应答就能读全。路线 B进阶模拟缺失的从设备Slave Emulation这才是挑战文档要求的正解让自己变成那块消失的从设备。用 Arduino / Raspberry Pi Pico 等 MCU 接管总线的 SCL、SDA配置为I2C 从机模式从机地址设为0x12对主设备的写事务逐字节回 ACK并把收到的字节存进缓冲读缓冲区得到完整载荷 模拟从设备相比单纯嗅探的优势主设备会认为通信成功事务完整、可重复、时序稳定而且这套技能可以直接迁移到真实渗透场景——用软件定义的从设备接管物理总线是硬件攻防里非常实用的原语。PwnPad 的扩展模块如 modules/I2C EEPROM/schematic/I2C-EEPROM-Module.pdf也能帮你理解真实从设备的电气结构。⚠️ 注意I2C 是开漏总线模拟从机时同样要用上拉电阻一般 2.2k–4.7kΩ 接到 3.3V/5V否则 SDA 拉不回去。拿到 Flag 并提交得到形如TS{...}的 Flag 后可以启动本地进度追踪网页验证bash ./tools/webapp/start.sh然后浏览器打开http://127.0.0.1:12530在提交页提交 Flag 并记录你的通关进度。常见坑与排查现象可能原因排查建议逻辑分析仪无 I2C 解码结果时钟频率设错 / SCL、SDA 接反先按 GPIO 模式看原始波形确认哪路是方波时钟主设备不发起事务跳线没拨对模式编号错误核对 Challenge Select 二进制本关 00100从机模拟收不到数据缺上拉电阻地址字节就不成立SCL/SDA 各加上拉电阻后重试解码出乱码供电地未与逻辑分析仪共地用同一条 GND 参考线延伸学习路径打穿 Invisible Wires 后推荐按此路线继续challenges/5. Code Heist.mdSPI 读 Flash把固件完整搬回家challenges/6. Hard Leak.md内部 EEPROM 数据提取challenges/9. Clock Spy.md从时序差异里侧信道挖秘密固件总入口firmware/src/main/PwnPad/PwnPad.ino硬件资料hardware/原理图、PCB、BOM、Gerber总结I2C 从设备消失并不可怕——只要主设备还在说话总线就是透明的。PwnPad 用极低的成本把找线 → 嗅探 → 模拟从机这条硬件攻击链路做成了可复练的实战关卡这也是它作为入门硬件安全平台的核心价值所在 ️赞分享【免费下载链接】PwnPadPwnPad is an affordable, hands-on hardware hacking platform built for practical learning. It features a range of challenges that walk users through key hardware security concepts, from PCB design to side-channel attacks.项目地址https://gitcode.com/gh_mirrors/pwn/PwnPad点击查看免费下载相关推荐7个核心功能解析passage-of-time-mcp如何赋予AI时间智能7个核心功能解析passage of time mcp如何赋予AI时间智能 passage of time mcp是一个为语言模型提供时间感知和时间计算能力的如何使用TinyGo实现高效I2C通信总线设备与传感器集成指南如何使用TinyGo实现高效I2C通信总线设备与传感器集成指南 TinyGo是一款专为微控制器、WebAssembly和命令行工具设计的Go编译器基于LLV编译器嵌入式语言运行时WebAssemblyElectronBot终极I2C总线扩展方案如何使用I2C中继器大幅增加通信距离ElectronBot终极I2C总线扩展方案如何使用I2C中继器大幅增加通信距离 想要让ElectronBot桌面机器人的I2C通信距离更远吗 作为一款智能硬件机器人嵌入式硬件开发创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。