转载|某智能锁破解

  • A+
所属分类:逆向工程

年初疫情期间撸了把门锁,上交 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固件。

[email protected]:~# 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


本文始发于微信公众号(墨鱼实验室):转载|某智能锁破解

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: