今天看到有一条新闻,说是有专门的QQ群从事网络摄像头IP地址和账号的售卖,其中不乏敏感画面被群友截图转发。其中一部分网友表示,自从入了群,身体营养一天不如一天。
纯洁的我准备去拜师了。。。。
其实对于网络摄像头,大部分人是用于商铺、仓库、幼儿园等公共场所的监控,这些倒不怎么敏感,但是也有人将其用于家中的隐私场所,这就给一些人带来了窥探的动机,也给一些人带来了商机。
值得注意的是,网络摄像头的协议几乎是相同的,就像HTTP协议一样,无论是国内网站和国外网站都是可以使用浏览器浏览一样,网络摄像头在生产标准上也是比较一致的,就算协议不一致,大牌市场占用率很高,客户端也就那么几个,协议也就那么几个,只有少数的厂商是私有协议,客户端不兼容。
所以,网络摄像头带来的隐私泄露不只是中国,是全球范围!!!
上图是某款网络摄像头的全球分布情况,这些只是被探测出来的,还有一部分是未被探测出来的,因为动态IP的原因,有一部分网络摄像头的IP在变,因此探测数据有效性有延迟。
这类网络摄像头在技术实现上有如下特点:
- 内置Web服务
- 可以通过外网访问
- 有账号体系
- 基于常见的通信协议实现
- 固件几乎购买后就不升级
基于以上特点,我们可以大致知道攻击者是如何访问到我们的摄像头的:
- 账号体系有缺陷,被渗透,一旦渗透一个,相同品牌的摄像头几乎沦陷,而厂商良莠不齐,几乎不出补丁,就算出补丁了,很多小白用户也不会升级,因为不是自动更新。
- 使用了默认的出厂密码,如111111,admin等,开箱即用,什么都不管了。
- 使用了常用密码字典表里的密码
同时,视频输出是基于通用通信协议的,那么大部分IPCam或WebCam的客户端都可以访问到你的摄像头,而无需特定的摄像头客户端,尤其是现在的网络摄像头为了操作方便,大部分可以使用浏览器进行浏览,攻击者只要拿到账号,浏览视频的客户端切换成本很低。
那么攻击者是如何拿到那么多网络摄像头的IP地址的呢?
为了满足普通读者的猎奇心理,我们先用一个简单的流程,让大家达成偷窥的欲望。。。。
打开网页 https://www.shodan.io/search?query=JAWS%2F1.0
然后点那个IP地址,对,就是左上角的那个数字,不要害怕。
大家应该会看到这个页面:
然后直接点 login
大部分人没有设置密码。。。。所以密码为空。
然而更可怕的是,这个厂商的摄像头的密码验证是在客户端做的,只需要为这个地址设置对应的 COOKIES
标识符, 就能绕过验证。。。。具体的细节我就不在这里透露了,其实网上已经泛滥了。。
其实说到这里,网上有很多APP是可以看到全球范围内的摄像头的,大家自行到APPStore
搜索 摄像头
,画风是这样的。。。
对于普通的用户来讲:
- 能不将摄像头放到外网,就不要放到外网
- 密码要定期修改,要数字+字母+特殊符号组合
- 不要把摄像头对准隐私场所
- 尽量不要开启麦克风,因为别人同样可以监听到
下面为对技术感兴趣的同学祭出几个大杀器
NMAP
如果你是想自己做特定IP段的扫描,那么只需要使用nmap
指令,指定IP地址范围,端口范围即可进行主机的探测
比如这样:
nmap -v -sn 192.168.0.0/16 10.0.0.0/8
但是namp
可不只是简单的端口扫描工具,他的强大可以让你窒息,他支持lua script, 可以自己写脚本,当扫描这些地址的时候,可以调用你指定的脚本,进行漏洞探测,甚至直接在扫描时进行渗透。
我们来看两个指令
对 mysql 进行空密码的扫描
> nmap -p3306 --script=mysql-empty-password.nse 192.168.100.1/24
对 mysql 弱口令暴力破解
> nmap -p3306 --script=mysql-brute --script-args=userdb=user.txt,passdb=password.txt 127.0.0.1
Starting Nmap 7.40 ( https://nmap.org ) at 2017-06-21 10:43 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00028s latency).
PORT STATE SERVICE
3306/tcp open mysql
| mysql-brute:
| Accounts:
| root:123456 - Valid credentials
|_ Statistics: Performed 3 guesses in 1 seconds, average tps: 3.0
Nmap done: 1 IP address (1 host up) scanned in 0.42 seconds
上面的执行结果是在我本机进行测试的,是不是感觉很Easy?
还记得前段时间的勒索病毒WannaCry
了吗?实际上直接写一个nmap
的脚本,就可以完成入侵操作。
攻击者入侵的基本流程是这样的:
- 扫描带有 CVE-2017-(0143~0148)这几个漏洞,大致为扫描如下端口:
- 135
- 137
- 139
- 445
- 3389
- 使用
NSA美国情报部门
泄露的永恒之蓝
工具进行提权工作 - 执行病毒感染
有了 NMAP
,自己写个lua
脚本把以上流程贯穿起来不是梦。。。
shodan.io 和 zoomeye.org
单兵作战在于我们需要自己搭建大量基础设施,在现在这种高速发展的互联网背景之下,攻击者也是需要借助大量工具来提升自己的效率的,因此就出现了第三方平台:
shodan
, zoomeye
这两个平台我们可以看做是底层服务爬虫,是将nmap
扫描的结果搜索引擎化,这样说大家应该就比较容易明白了。
举个列子:
我们去google
搜索的时候,是输入关键词,然后返回对应的搜索结果,这个搜索是基于我们人类需求,人类逻辑设计的。
而 zoomeye
和 shodan
是基于设备之间的交互协议来设计的,举个例子,我们向web服务器发送请求使用的协议是HTTP
协议,我们希望搜索包含某个Request Header
的服务:
例如搜索:https://www.shodan.io/search?query=JAWS%2F1.0
我们会看到下面的结果,说明这两台服务器在返回数据结果里,包含了 JAWS/1.0
那么,我们搜索这个有什么用??
对于普通用户,没什么卵用,但是对于攻击者来讲,他可以通过关键词,迅速找到相关的服务器,而不是自己使用nmap
进行搜索, 因为扫描全球IP是需要花费大量时间和流量的,因此借助这种第三方大型平台,就可以快速完成关键服务IP的搜索了,然后把时间专注于渗透。
好了,说到这里,故事就结束了,希望大家能把持住,做一个遵纪守法的好公民。