国外黑客发现的海康威视远程系统XXE漏洞分析

国外黑客发现的海康威视远程系统XXE漏洞分析_第1张图片

物联网发展和安全威胁总是如影随形。两个月前,我想研究一下网络摄像机,然后就在亚马逊上购买了一个比较便宜的,由海康威视代工生产的Elisa Live 720p HD IP Camera。当我在破解Elisa摄像机尝试获取密码信息的过程中,却偶然发现了海康威视远程系统的一个XML外部实体注入漏洞(XXE)。

XXE InjectionXMLExternal Entity Injection,也就是XML外部实体注入攻击,漏洞是在对非安全的外部实体数据进行处理时引发的安全问题。在XML1.0标准里,XML文档结构定义了实体(entity)这个概念。实体可以通过预定义在文档中调用,实体的标识符可访问本地或远程内容。如果在这个过程中引入了恶意,在对XML文档处理后则可能导致信息泄漏等安全问题。具体可参考TSRC-XXE漏洞攻防。

1 研究开始

通常来说,大多网络摄像机数据要被上传到其后台系统中,也就是说,只有利用网页或者app通过其云服务平台才能访问摄像机。我通过摄像机以太网接口把其连接到实验室环境,进行网络流量监听。因为一些设备内置了老旧或不安全的固件,所以如果想做物联网设备相关的实验,强烈建议不要急于把设备接上互联网。

Wireshark抓包流量中发现了几个有意思的数据包:

(1)两个未加密的请求调用:

国外黑客发现的海康威视远程系统XXE漏洞分析_第2张图片

(2)向网站www.hik-online.com发起POST请求的base64加密数据包(后作分析)

(3)Amazon S3存储中下载更新的Get请求:

国外黑客发现的海康威视远程系统XXE漏洞分析_第3张图片


2 尝试破解网络摄像机

利用Nmap扫描摄像机,发现了一些开放端口服务,其中包括一个登录页面,经尝试,一些海康威视常用的默认用户名和密码组合无法正确登录。后来发现,密码验证的控制器受http摘要认证机制保护,这是该固件独有的特点。利用binwalk hiktools对固件进行分析后,虽然没发现任何摘要认证信息,却提取到了一些有意思的东西,如/etc/passwd文件和其中的root密码hiklinux:

root:ToCOv8qxP13qs:0:0:root:/root/:/bin/sh

国外黑客发现的海康威视远程系统XXE漏洞分析_第4张图片

对固件进行升级之后,摄像机的SSH端口就变为关闭状态了,所以我没法利用这个点,只能尝试其它途径。

3 发现XXE漏洞

回到向www.hik-online.com发起请求的数据包,它是一个Base64编码的POST字符串,解码之后是一堆乱码,当然,摄像机用来验证服务器的密码可能就在固件中,只是需要时间去分析发现。然而,我从海康威视网站上无意发现了这个:

如果发现任何漏洞,请联系[email protected],请勿对外公开漏洞细节。

这是一个漏洞悬赏项目,好吧,让我们来研究研究它的POST请求。由于这是一个XML POST请求,我首先尝试用SYSTEM entity方法来让远程网站引用本地实体文件,如:

]>

<c>&b;c>

但该方法并不奏效,于是,我利用VPS远程传入引用实体,成功了!

]>

<c>&b;c>

国外黑客发现的海康威视远程系统XXE漏洞分析_第5张图片国外黑客发现的海康威视远程系统XXE漏洞分析_第6张图片

图:载入外部实体成功

!这就有意思了,既然我们可以使用SYSTEM entity方式加载引用外部实体,就可以通过恶意dtd文件调用回传其它网站文件,如/etc/hosts文件等。所有这些过程都可以通过一个好用的自动化工具XXEinjector来完成:

国外黑客发现的海康威视远程系统XXE漏洞分析_第7张图片

OK,我可以远程读取网站上的任意文件,包括etc/shadow文件,当然也就获取了这台服务器的root权限。而且,海康威视分布在全球的其它API服务器同样存在该XXE漏洞最终,如果获得了这些远程服务器权限,甚至连shodan上可搜索的大量网络摄像机都面临安全风险。

漏洞报告提交流程:

201686日,发送第一封邮件到海康威视安全响应中心(HSRC

2016816日,HSRC无回应,之后我又发送了一封邮件

201696日,重新给海康威视市场和公关部门发了一封邮件

201697日,HSRC确认接收并要求发送更多信息

201698日,海康威视修复了漏洞并要求我重新测试

2016925日,作为奖励,收到了海康威视一个价值69美元的网络摄像机,(╯°□° ┻━┻

**参考来源:iraklis ,FB小编clouds编译,转载请注明来自FreeBuf(FreeBuf.COM)

这些评论亮了

  • xxx 回复
    $69 == 核心服务器XXE漏洞,这就是海康的态度。
    ) 35 ( 亮了
  • evil7 (3级) 入梦落樱满熏香,梦醒犹记四月谎 回复
    你这么一说我还真看了一眼,好奇害死喵啊……
    2016年6月2日,海康威视HSRC确认了漏洞,正在修复。
    2016年10月17日,海康威视奖励我一个么么哒,(╯°□°)╯︵ ┻━┻
    国外黑客发现的海康威视远程系统XXE漏洞分析_第8张图片
    ) 15 ( 亮了
发表评论

已有 13 条评论

  • xxx  2016-10-17 回复 1楼

    $69 == 核心服务器XXE漏洞,这就是海康的态度。

    亮了( 35)
    • 你爹  2016-10-17 回复

      @ xxx 把公司送你?

      亮了( 0)
      • ss  2016-10-17 回复

        @ 你爹 那就值$69?

        亮了( 5)
  • evil7  (3级) 入梦落樱满熏香,梦醒犹记四月谎  2016-10-17 回复 2楼

    你这么一说我还真看了一眼,好奇害死喵啊……

    2016年6月2日,海康威视HSRC确认了漏洞,正在修复。
    2016年10月17日,海康威视奖励我一个么么哒,(╯°□°)╯︵ ┻━┻

    国外黑客发现的海康威视远程系统XXE漏洞分析_第9张图片

    亮了( 15)
  • 吃饭不给钱  2016-10-17 回复 3楼

    2016年10月17日,海康威视奖励我一个么么哒,(╯°□°)╯︵ ┻━┻

    亮了( 0)
  • yyy3333  2016-10-17 回复 4楼

    楼上几位你们在作死……
    小心送你 银手镯哟 :mrgreen:

    亮了( 0)
  • 32ew  2016-10-18 回复 5楼

    所以说国内的厂商不重视安全

    亮了( 1)
  • 23333  2016-10-18 回复 6楼

    呵呵,这种SRC就是开来就是个摆设。

    亮了( 1)
  • hackerone  2016-10-18 回复 7楼

    都来我这里 低危它们都给$100

    亮了( 2)
    • 噬魂  2016-10-19 回复

      @ hackerone 什么地方这么溜

      亮了( 0)
  • 小meet  (1级)  2016-10-18 回复 8楼

    He got a camera MSRP $69… They might as well have just slapped him in the face.

    亮了( 0)
  • shit  2016-10-19 回复 9楼

    靠,看了半天还以为是通用BUG~

    亮了( 2)
  • 大亮  2016-10-19 回复 10楼

    @ xxx 新浪微博一个蠕虫漏洞值多少钱啊?


你可能感兴趣的:(XXE)