IoT (屎联网) 设备

四 06 十二月 2018
由 Difan Zhang 创作

自从 Internet of shiT 屎联网设备越来越多,这个世界也越来越不可能好了。

第一次破解掉 IoT 设备还是 2000 年代,在 Linux 还是 kernel 2.4 的年代。某监控厂还算很先进的,硬盘录像机支持 Web 界面回放。出于好奇 (毕竟那个年代有多少奇怪的硬件可以联网),随手 nmap 一下,发现 —— 这货居然 telnet 大门敞开!再定睛一看, root / 123456 便拿到了 root shell. 进去一看,东西果然是一坨屎 —— 更不用说文件乱放, init 脚本乱写这种小事儿了。简单的说,这玩意儿就是搞土法炼钢,居然还炼出来了东西。大概中国传统文化中的 「差不多就行了」再次起到了作用。

又不是不能用

这大概就让我开始注意起来了可以联网的奇怪的盒子 —— 大概率这玩意儿就是一帮野鸡程序员用纸糊出来东西。每次拿到盒子以后,这些野鸡程序员也从来不会让我失望:最多半小时,总能搞出来点什么奇奇怪怪的东西。要不然让它崩溃掉,要不然就拿到 root。反正得折腾点什么东西出来。

后来呢,突然之间就冒出来了 IoT 这么个概念。东西便宜了, Wi-Fi 普及了,什么阿猫阿狗都可以联网了,于是这个世界变得更差了。

先是一大堆某康某华的 NVR IPC 被黑,后来又是电脑城三十年精修网络老师傅强力推荐的路由器 XSS 改 DNS,后来又是各种各样的奇葩设备爆出来奇怪漏洞。

为什么呢?还不是野鸡程序员嘛。举一点近期的例子好了。

有种东西叫考勤机。这玩意儿的固件可以下得到。拿 John the Ripper 一跑,拿到的密码就能 telnet 进去。

有种东西叫电话机。拿到的固件发现有后门,敲一下门就可以 telnet 进去。

有一个厂子以为自己特聪明,固件加了密。可惜这玩意儿有个功能叫 ping。curl 一下,拿到 shell. 进去以后发现升级程序就是个 lua script,第一行是 openssl des. 固件就这么解开了。

有另一个厂子自以为自己更聪明,还更高端,做了个功能叫 「防火墙」。防火墙是啥呢?当然是 iptables. 于是 curl 一下,卒。

没办法,我设置了一个独立的 IoT SSID 和 Vlan,并在防火墙规中禁止任何此 Vlan 的设备访问任何内网资源,并只对 Nest 开放了有限的互联网资源 (好吧, 这玩意儿没网真没法用)。国产监控设备,则仅允许来自工作站的入站连接,禁止任何出站连接。

谁让野鸡程序员统治了这个世界呢?这个世界,迟早是要完蛋的。

算了,又不是不能用

评论