长话短说
1. CheckPoint的研究人员近期在HG532华为家庭路由器中发现了一个0day漏洞,网络犯罪分子正在利用该漏洞实施攻击。
2. 攻击Payload已被识别为OKIRU/SATORI,即Mirai的升级变种。
3. 此次攻击背后的嫌疑人昵称为“Nexus Zeta”。
漏洞利用代码
介绍
在过去的十年里,联网设备数量的增长已经超过了两百亿,而且随着时间的推移,它们的智能化程度也更高了。虽然这些设备在便携性和实用性等方面得分非常高,但CheckPoint的研究人员表示,这些设备的安全得分还未能达到标准。
攻击分析
在2017年11月23日,CheckPoint的研究人员发现CheckPoint的某些传感器以及蜜罐系统生成了一些可疑的安全警报,经过进一步分析之后,他们发现了大量针对华为HG532设备的攻击行为,攻击利用的是一个未知的漏洞,发起端口为37215。
在证实了我们的之后,我们立刻将漏洞信息披露给了华为的安全团队,并进行下一步的漏洞修复工作。
多亏了华为安全团队的高效率工作,他们迅速修复了相关漏洞并将补丁推送给了用户。与此同时,CheckPoint也发布了一个IPS保护模块,已确保CheckPoint的用户能够在第一时间得到有效的保护。
下图显示的是全球范围内受此漏洞影响的分布情况:
0 day漏洞CVE-2017-17215
华为家庭网关采用了UPnP协议,在TR-064技术标准的规范下,这种协议已被广泛采用到了各类嵌入式设备中以简化设备在家庭和企业环境下的无缝联网。TR-064主要针对的是本地网络配置,比如说,它允许工程师在内部网络中轻松地实现基本的设备配置和固件更新等等。
在本文所要分析的攻击场景下,华为设备所实现的TR-064标准将会通过端口37215(UPnP)暴露在外网中。
在对该设备所实现的UPnP描述进行分析之后,我们发现它支持一种名叫“DeviceUpgrade”的服务类型。这种服务可以通过向“/ctrlt/DeviceUpgrade_1”发送请求来完成固件的更新操作,这个过程还需要涉及到两个名叫和的元素。
该漏洞将允许远程管理员通过在和中注入Shell元字符“$()”来实现远程任意命令执行,攻击向量如下图所示:
当上述代码执行成功后,漏洞利用代码会返回默认的HUAWEIUPNP消息,而“设备更新”活动将会完成初始化。
大家可以在下图中看到,攻击操作涉及到命令注入,下载恶意Payload后它将会在目标设备上执行。
VirusTotal针对恶意Payload的检测报告如下图所示:
工作机制
恶意Payload的功能还是比较简单的,bot的主要功能就是利用手工制作的UPD或TCP数据包来对目标设备进行泛洪攻击(Flooding)。
在攻击开始时,bot会尝试使用DNS请求(利用硬编码域名)来解析IP地址和C&C服务器。接下来,bot会从DNS响应中获取目标设备的IP地址,并尝试使用TCP协议(硬编码端口7645)来与之完成连接。
在Mirai僵尸网络的帮助下,DNS域名以及其他的字符串将会使用简单的异或计算(0x07)来进行解码。
Payload中还包含有未编码的字符串(伪造的C&C域名),但这部分数据并未使用过:
用于泛洪攻击的数据包数量以及相应的参数将会被发送至C&C服务器中:
下图显示的是C&C服务器针对给定子网范围所生成的随机IP地址:
数据包发送完成之后,bot并不会等待目标主机的应答信息。除此之外,bot的代码中还包含很多未使用的功能,其中还有很多明文字符串。就此看来,攻击者可能会在今后的变种版本中添加更多的恶意功能。
C&C流量
在C&C通信方面,bot使用了自定义的协议。其中包含两个硬编码请求:
C&C请求样本:C&C服务器的响应信息中包含DDoS攻击参数,如果攻击者需要发动DDoS攻击的话,请求信息中的起那两个字节必须设置为00 00或01 07,而之后所包含的就是攻击数据了。如果前两个字节没有设置成这两个值的话,则bot将不会采取任何操作。
C&C响应样本:
入侵威胁指标IoC
恶意服务器&IP地址信息:
IPS&反BOT保护
我们的IPS和反BOT保护功能可以有效地防止攻击者利用本文所介绍的0 Day漏洞来实施攻击,我们还会继续观测这种类型的攻击活动。
IPS 0-day保护:
IPS模块-Huawei HG532路由器远程代码执行
反BOT保护:
1. Linux.OKIRU.A
2. Linux.OKIRU.B
* 参考来源:checkpoint,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
领取专属 10元无门槛券
私享最新 技术干货