IoT (屎联网) 设备

Thu 06 December 2018

自从 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 开放了有限的互联网资源 (好吧, 这玩意儿没网真没法用)。国产监控设备,则仅允许来自工作站的入站连接,禁止任何出站连接。

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

算了,又不是不能用

Comments