凌晨两点,摄像我对着屏幕上一段雪花噪点视频,头漏手心全是洞复汗。那是摄像一台家用IP摄像头的实时画面——画面里空无一人,只有客厅沙发和茶几上没喝完的头漏半杯水。但我知道,洞复镜头背后有双眼睛正在和我一起看。摄像
漏洞不在摄像头本身,头漏而在它背后的洞复云平台。设备厂商为了降低开发成本,摄像直接套用了某开源RTSP流媒体服务器的头漏默认配置。默认管理员密码admin/admin,洞复默认端口554,摄像默认开启UPnP映射——三个“默认”叠加,头漏等于给互联网上的洞复任何人留了一把万能钥匙。
我用的工具是Shodan,一个搜索引擎,专门扫描暴露在公网上的设备。输入“country:CN + server: RTSP”,不到十秒,返回了三千多条结果。随便挑一个IP,用VLC播放器输入rtsp://admin:admin@IP:554/stream1,画面就出来了。
整个过程不到三分钟。不需要任何高深技巧,没有缓冲区溢出,没有0day漏洞利用。就像试一把没上锁的门,推一下就开了。
更让人后背发凉的是设备固件。拆机后我发现主控芯片用的是某国产厂商的SoC,官方SDK里直接内置了调试后门——通过UART串口获取root shell,不需要任何认证。焊上四根杜邦线,接上USB转TTL模块,在终端里敲下cat /etc/passwd,root权限就到手了。
固件里还藏着一个硬编码的Telnet账号,用户名是root,密码是八位数字,看起来像时间戳。查了厂商的发布记录,这个密码从2021年至今没变过。也就是说,所有使用该SoC方案的摄像头,只要没改默认配置,都能用同一组账号登录。
我试着在本地局域网复现全过程。用Nmap扫描发现开放端口除了554,还有8000和8443。8000端口是厂商自定义的私有协议,用Burp Suite抓包,发现传输的数据没有加密,直接明文传输。修改请求中的用户ID字段,就能越权访问其他用户的视频流——连密码都不用猜。
整个过程像拆一个劣质玩具。螺丝拧开后,里面全是廉价塑料和裸露的电路板,没有任何屏蔽罩,没有安全芯片,甚至没有基本的固件签名校验。攻击者可以篡改固件,植入后门,让摄像头变成僵尸网络的一部分。Mirai病毒当年就是这么干的。
最后我把设备恢复出厂设置,改了所有默认密码,关闭了UPnP和远程访问。但我知道,这只是治标不治本。市面上还有成千上万的设备暴露在公网上,它们的固件里藏着同样的后门。
摄像头漏洞从来不是技术难题,而是商业选择题。厂商选择低成本方案,用户选择便利性,最后买单的却是隐私安全。屏幕上的雪花点还在跳动,我关掉了VLC播放器,但那种被注视的感觉,一时半会儿消散不了。