拆开就能进root:Oker摄像头UART未认证调试口

admin 2026-09-13 04:50:05 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文通过拆解OkerG955v1网络摄像头,演示了IoT设备UART未认证调试口获取rootshell的完整流程:拆机后利用板上丝印标注的4针UART排针,通过Tigard工具和PCBite探针以115200波特率连接串口,读取U-Boot启动日志发现可打断启动流程的提示,按q键即无需认证直接进入rootshell,进而读取文件系统、提取固件并发现squashfs中硬编码的root密码哈希。文章揭示了量产IoT设备遗留开发期调试口的普遍安全隐患,建议厂商关闭调试接口或增加认证。 综合评分: 78 文章分类: IoT安全,渗透测试,逆向分析,红队,实战经验


拆开就能进 root:Oker 摄像头 UART 未认证调试口

赛博安全攻防日记

2026年9月12日 09:55 美国

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

拆开就能进 root:Oker 摄像头 UART 未认证调试口

IoT Pentesting Basics:从 UART 拿到 root shell

做 IoT 渗透,第一步几乎总是拆机。拆开之后,不妨换个角度:当年开发人员调试时靠什么接口?这些接口会不会还留在量产板上,甚至还开着?

这篇按真实设备走一遍:怎么定位 UART,又怎么从它拿到 root shell。

目标设备

Oker G955v1 网络摄像头

目标是国产 Oker G955v1,带 Wi‑Fi 的 IP 摄像头。美国市场基本买不到;作者在东南亚期间入手。

拆机

拆开 Oker G955v1

硬件评估的第一步是碰到 PCB。这台拆起来很直接:

  • 底部拧掉 4 颗螺丝
  • 小心掰开塑料壳两半
  • 找到穹顶内的主板
  • 再拧掉固定 PCB 的 2 颗螺丝
  • 取出主板分析

主板近景

板上有几组未焊接的排针,对硬件黑客来说是好兆头:调试口往往就藏在这类位置。

找到 UART

板上直接丝印了 UART 引脚

很多 IoT 设备要靠测点和反推才能确认 UART;这台省事多了——主板上未焊接的 4 针排针直接标了:

  • 3v3(电源)
  • TXD(发送)
  • RXD(接收)
  • GND(地)

接线用了:

  • Tigard 多协议工具(硬件 hacking 接口)
  • 3 根 PCBite 探针(临时搭在焊盘上)

Tigard 的 UART 接到摄像头对应脚:TXD↔RXD、RXD↔TXD、GND↔GND;3v3 不接,设备自己供电。

硬件连好后,用 picocom 开串口:

picocom -b 115200 /dev/ttyUSB0

115200 是嵌入式 Linux 最常见的默认波特率,所以先猜它。不行再试 9600、38400、57600。

看启动日志

串口开着上电,启动信息立刻刷出来。

U-Boot 识别和打断提示:

U-Boot 2013.01 (Jan 09 2015 - 14:10:09)

I2C:   ready
DRAM:  64 MiB
ROM CODE has enable I cache
SPI mode
SF: Got idcodes
00000000: ef 40 18 00    .@..
SF: Detected W25Q128 with page size 64 KiB, total 16 MiB
flash is 3byte mode
In:    serial
Out:   serial
Err:   serial
...
Hit any key to stop autoboot:  0

内核命令行:

Kernel command line: mem=128M gmmem=90M console=ttyS0,115200 user_debug=31 init=/squashfs_init root=/dev/mtdblock2 rootfstype=squashfs

分区布局:

SPI_FLASH spi0.0: w25q128bv (16384 Kbytes)
Creating 5 MTD partitions on "nor-flash":
0x000000010000-0x000000060000 : "UBOOT"
0x000000060000-0x000000300000 : "LINUX"
0x000000300000-0x000000f00000 : "FS"
0x000000f00000-0x000001000000 : "USER0"
0x000000000000-0x000001000000 : "ALL"

启动日志把固件架构摸了个大概:bootloader 版本、内核参数、文件系统布局。更有意思的是中途这行:

Press q -> ENTER to exit boot procedure?

这说明可以打断正常启动流程。

掉进 root

按提示敲 q 再回车,设备立刻停在启动过程里,直接给了 root shell:

   Press q -> ENTER to exit boot procedure? / #
/ #
/ # whoami
root

没密码,没认证,直接 root。

从这个 shell 可以:

  • 读文件系统上所有文件
  • 抽固件做分析
  • 改系统配置
  • 看进程
  • 看网络配置

顺手发现硬编码的密码哈希:

/ # cat /etc/shadow
root:$6$Iw0BJ8Hu$CtZloGU0BVPpTmiwEZlDzPOvqVKuxTl.EbVjuOUGfAOmUz3kdyZ6J9ilw1FYPfZILvjS617iAJNdsOUontUBm.:16665:0:99999:7:::
bin:*:12963:0:99999:7:::
daemon:*:12963:0:99999:7:::
adm:*:12963:0:99999:7:::
lp:*:12963:0:99999:7:::
sync:*:12963:0:99999:7:::
shutdown:*:12963:0:99999:7:::
halt:*:12963:0:99999:7:::
uucp:*:12963:0:99999:7:::
operator:*:12963:0:99999:7:::
nobody:*:12963:0:99999:7:::

这台设备上 root 密码用户改不了:/etc/shadow 在 squashfs 里,只读。

小结

Oker G955v1 把 IoT 里很常见的一类问题摊开了:UART 调试口好找,而且没有任何认证挡着 root。拆机、接串口、看启动日志——很多量产设备还在把「开发期后门」原样留给攻击者。

更多 IoT / 车联网 / 机器人 / AI 安全资料在星球里,扫码进「车联网攻防日记」。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:赛博安全攻防日记 《拆开就能进 root:Oker 摄像头 UART 未认证调试口》

评论:0   参与:  0