年初疫情期间撸了把门锁,上交 CNVD 了。近日漏洞信息公开了,我自闭了。
下图是 CNVD 上其中的一个漏洞信息,漏洞描述请忽略(经后台修改过)。
反馈邮件也没人回!呜呜~~
技术细节(部分)
网关预留了不少的调试口,MCU也没有开启CRP(Code Read Protection)。
-
透传网关: MTK MT7688KN
-
FLASH: 兆易创新 SPI FLASH GD25Q16CSIG datasheet
-
MCU: STM32F030
-
射频芯片: Silicon si4338
固件提取
MCU 固件通过 SWD 提取,MTK MT7688KN 固件可以从 telnet 或者从Flash拿到。以下是使用 OpenOCD 提取MCU固件。
root@kali:~# telnet 127.0.0.1 4444> halt
target halted due to debug-request, current mode: Thread
xPSR: 0x21000000 pc: 0x0801a8de msp: 0x20007990
> flash list
{name stm32f1x base 134217728 size 0 bus_width 0 chip_width 0}
> dump_image lock.bin 0x0 0x4000
dumped 16384 bytes in 0.246591s (64.885 KiB/s)
> dump_image lock_code.bin 0x0 0x2000000
SWD DPIDR 0x0bb11477
Failed to read memory at 0x00008000
mem_helper.tcl:6: Error:
in procedure 'stm32f0x_default_examine_end' in procedure 'mmw' called at file "target/stm32f0x.cfg", line 65in procedure 'mrw' called at file "mem_helper.tcl", line 25at file "mem_helper.tcl", line 6> dump_image lock_code.bin 0x0 0x8000
dumped 32768 bytes in 0.475478s (67.301 KiB/s)
> dump_image lock_flash.bin 0x8000000 0x40000
dumped 262144 bytes in 3.812859s (67.141 KiB/s)
> dump_image lock_flash_systemMemory_sraw.bin 0x1fffd800 0x2000
dumped 8192 bytes in 0.118082s (67.750 KiB/s)
Ghidra 分析定位到主函数。
Si 4438 中心频率计算
由于 LaTex 乱码,就只贴最终的分析结果。分析过程以后在放出来,也比较有意思,也是花了好几天才看懂 datasheet。
POC
WiFi 模块存在硬编码
WIFI 模块支持快速联网,使用了默认密码。
劫持网关开锁 DEMO
本文始发于微信公众号(墨鱼实验室):转载|某智能锁破解
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论