首页
社区
课程
招聘
从智能插座看智能生活的安全隐患
发表于: 2016-9-7 17:27 1825

从智能插座看智能生活的安全隐患

2016-9-7 17:27
1825
新闻链接:c9dK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4y4W2j5#2)9J5k6h3y4Z5K9h3&6S2j5Y4W2@1k6g2)9J5k6h3y4G2L8g2)9J5c8U0t1#2i4K6u0r3x3e0x3$3x3K6f1#2x3U0g2Q4x3X3g2K6K9s2c8E0L8l9`.`.
新闻时间:2015-12-03 16:39:00
新闻正文:
近年来智能家居日益普及,涌现了各式各样的产品,如智能电视、智能插座、智能灯泡、智能门锁、智能摄像头。智能家居为我们的生活提供了便利,带来了对未来的无限想象空间。然而,大多数智能家居产品在安全性方面的表现堪忧,可以这么说吧,就像飞机上的一颗隐形炸弹随时可能被引爆。

  对于智能设备的安全性,也有很多安全研究者开始关注,比如近期神话鬼斧实验室最近在汽车防盗系统方面的研究。当然,我们也在关注和研究,部分成果可以参考这篇物联网安全研究联合团队的文章《潜伏在身边的危机——智能设备安全》。

  笔者前段时间跟团队一起参加了今年的GeekPwn(很棒的一个关注智能生活安全的比赛),对某款智能插座进行了分析并发现了一些问题,可惜在比赛过程中出了点意外导致演示失败。不过没有关系,本文就通过这个智能插座的问题管中窥豹一探智能生活安全。文中涉及的漏洞已经由GeekPwn官方通知厂商修复。

  【发现】

  该插座的控制示意图如下:

a5aK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3e0p5^5#2c8U0p5@1y4e0y4z5c8K6M7$3i4K6u0W2K9Y4m8Y4

  过程:

  1)手机APP通过智能插座自带WIFI完成配置,告知智能插座路由器密码;

  2)智能插座通过路由器连接服务器;

  3)手机APP与智能插座同时连接服务器,利用xmpp协议通信,完成手机APP对智能插座的控制、升级等操作

  另外,插座固件升级过程:手机向服务器发送升级请求,服务器向智能插座发送升级的固件地址,智能插座自行下载固件并完成升级。

097K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3x3e0W2c8f1K6c8f1z5p5W2a6y4K6m8d9i4K6u0W2K9Y4m8Y4

  对固件升级过程抓包,可以发现,智能插座会通过HTTP从固定的URL下载更新固件y2.bin以及校验码y2.bin.md5。很明显,这里存在中间人攻击的可能性。

  【进一步分析】

  Binwalk解压升级固件y2.bin,可知该插座使用的是openwrt系统。

633K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3h3f1A6b7g2q4l9#2z5q4p5K6x3@1S2r3i4K6u0W2K9Y4m8Y4

  查看shadow文件,发现root用户默认密码p9zxxx。

310K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3z5q4W2o6x3g2p5J5g2@1g2r3x3q4N6s2i4K6u0W2K9Y4m8Y4

  nmap扫描,该插座开放了tcp 22(SSH)端口。

7ffK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3y4f1D9@1y4K6q4K9y4V1t1&6z5g2S2y4i4K6u0W2K9Y4m8Y4

  于是乎果断尝试,SSH直接登录上去了。使用系统自带的sysupgrade便可以直接更新固件。该过程未校验待刷固件是否比当前固件版本高,还存在固件降级的漏洞。

1b0K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3c8g2g2s2x3V1H3@1x3e0c8z5y4e0f1J5i4K6u0W2K9Y4m8Y4

  在解压出来的固件中植入反弹shell的代码,并打包固件。Openwrt自带的nc是不带-e选项的,使用一个小技巧便可绑定指定端口,如下图所示。Openwrt squashfs ROM的重打包方法参考这篇文章(注:重打包的过程如果稍有差错,将会直接把智能硬件刷成砖。笔者成功刷坏了两个插座)。

189K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3b7K6q4f1h3f1H3K6c8K6g2t1h3f1x3$3i4K6u0W2K9Y4m8Y4

  【一次实际的渗透测试】

  尝试搭建中间人攻击的环境。由于在路由器上不方便对HTTP包做修改,故采用局域网内DNS欺骗的攻击方式,网络环境如图所示。

b19K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3x3e0j5H3x3e0x3K6h3U0p5K6y4f1x3K6i4K6u0W2K9Y4m8Y4

  位于同一局域网的攻击者使用ettercap的dns_spoof模块进行攻击。

bacK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3f1W2q4m8f1#2k6t1g2@1x3#2z5q4l9H3i4K6u0W2K9Y4m8Y4

  此时用户使用手机APP向插座发送固件升级指令。可以看到,已成功实施两次DNS欺骗。一次是y2.bin,一次是y2.bin.md5。

933K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3d9V1j5$3g2U0q4f1g2U0t1K6g2K6W2s2i4K6u0W2K9Y4m8Y4

  更新固件后,重新启动插座。公网主机成功获得反弹shell,如下图所示。

864K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3y4A6L8h3q4Y4k6g2)9J5k6i4c8A6j5h3&6B7K9h3#2W2k6r3W2S2i4K6u0W2j5$3!0E0i4K6u0r3N6i4m8D9L8$3q4V1d9h3#2S2k6$3g2K6i4K6u0r3N6r3S2A6M7X3c8u0L8h3q4Y4k6i4y4Q4x3V1j5J5x3o6p5#2i4K6u0r3x3K6x3$3i4K6u0r3y4K6N6c8x3p5A6z5x3g2y4b7x3e0l9^5i4K6u0W2K9Y4m8Y4

  由于条件有限,只演示了DNS欺骗这种攻击场景。其它可行的中间人攻击方式还有在路由器或主干网修改请求包的URL,以及利用ARP攻击修改HTTP请求返回的数据。由此可见,智能插座使用HTTP传输同时又没有实施有效的文件校验(比如用非对称加密算法),实非明智之举。

  【结语】

  智能硬件存在诸多的安全隐患,其中不仅仅是用户隐私,还可能涉及人身安全。正如《网络犯罪调查》中的情节,罪犯远程控制婴儿摄像头,发现父母的作息规律,趁父母睡觉时偷走婴儿。

  最后还是希望智能硬件厂商能够更加注重安全,提供安全的智能生活。我们也会对行业尽自己的一份力,建设更安全的物联网。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回