导语:本文阐述了HNS的演变,并在过去几个月中定期添加漏洞利用。通过分析,fortinet预计下一次HNS更新将包括更多功能以及公开可用漏洞利用。
多年来,安全专家一直在警告消费者智能家居解决方案中的漏洞,而Hide'N Seek(HNS)可能是第一个主动针对这些漏洞的恶意软件。预计到2020年,物联网(IoT)设备的数量将增长到204亿,并且这些设备中的绝大多数专为家庭和企业自动化而设计。虽然这些设备让人们的生活更加轻松,但对于网络罪犯而言,这是一个好消息,因为更多连接的物联网设备意味着更多潜在的漏洞。
HNS是一个物联网僵尸网络,它以复杂和去中心化的方式进行通信(使用定制的点对点通信),以实现各种恶意行为。FortiGuard Labs自今年年初首次发现该僵尸网络恶意软件以来,一直在密切关注它。虽然HNS最初针对路由器,IP摄像机和DVR,但现在它也面向跨平台数据库解决方案和智能家居设备。
HNS是如何发展到这一点的?在很大程度上,这是由于恶意软件开发人员使用了开源的Mirai代码。从Mirai复制一些代码及从中获取灵感,HNS为自己打开了一片新天地。在本报告中,我们将阐述HNS的演变以及它如何能够在过去几个月中定期添加漏洞利用但并未成为头条新闻。
配置表
在之前的HNS博客(blog)中,我们提到了配置表的解密工作以及它与Mirai的相似之处。通过使用IDA python,我们能够轻松解密配置表,并更好地了解not的工作原理。我们解密了从2018年1月首次发现的HNS到最近捕获的最新版本的配置表。
让我们看看下面三个不同HNS样本及其配置表条目。通过每个样本配置表的条目数可以轻松的发现它们之间的差异。我们对每个版本中的漏洞利用特别感兴趣。第一个变体,如下所示,具有由60个条目组成的配置表,其中包括2个漏洞利用,第二个具有81个条目和6个漏洞利用,而最新的变体现在有110个条目和9个漏洞利用。
图01. 配置表
配置中还注意到/bin/busybox ~~~~~~~~ 也可以作为样本签名,因为它是HNS独有的。这类似于Mirai,因为字符串/bin/busybox MIRAI和MIRAI:applet not found而得名,这些命令用于确定它是否成能功地暴力进入目标IoT设备。
图02. 签名
时间轴
下面是将漏洞利用(绿色)和功能(蓝色)与用于解密配置表的Xor密钥(橙色)添加在一起的时间轴。
图03. HNS 时间轴
一些有趣的发现:
· 第一个HNS样本仅使用了2个漏洞利用程序
· 3月至4月,观察到HNS样本几乎每周都会改变Xor密钥。不断更改这些密钥有助于防止其配置表的自动解密
· 从4月份开始的HNS样本已由UPX加壳
· HNS样本添加持久性并在重新启动后继续存在
· 从4月开始,HNS一直在逐步为其武器库添加漏洞利用。在嵌入更多漏洞利用之前,HNS作者会小心确保发布的版本足够稳定
· 每次添加新漏洞利用时,配置表的Xor密钥也会更改
· 最新增加的漏洞利用是HomeMatic Zentrale CCU2 RCE
· 在Apache CouchDB RCE和HomeMatic Zentrale CCU2 RCE漏洞PoC发布后不到一周的时间,HNS很快将它们实现到代码中
· 最新的HNS样本使用了9个漏洞
HNS最新的漏洞利用针对的设备来自Homematic,德国制造商eQ-3的智能家居设备供应商,目标设备是HomeMatic Zentrale CCU2。这是HomeMatic系统的核心,可为所有HomeMatic设备提供广泛的控制,监控和配置选项。这可能是恶意软件开始入侵您家的时刻。
同样值得注意的是,目前我们还没有观察到HNS中利用“智能”设备功能的任何功能。这意味着HNS在受感染的HomeMatic设备中的行为与受感染的常规路由器或IP摄像机中的行为相同,并且尚未针对其他功能。
另一个未报告并被HNS使用的漏洞利用是Belkin NetCam RCE漏洞。下表是所有使用的漏洞利用及其PoC发布日期的摘要。
表1. 漏洞利用总结
自出道以来,HNS已经有了八个更新,包括新功能和漏洞利用的集成。
总结
HNS一直在积极的添加漏洞利用并瞄准更多平台和设备以扩大其传播范围。将新发布的PoC漏洞利用到武器库中,有利于它第一个感染这些存在漏洞设备。
通过对此恶意软件最近行为的分析,我们预计下一次更改将包括更多功能以及公开可用漏洞利用。
与以往一样,通过使用从此分析中收集的数据,FortiGuard实验室将继续监控此僵尸网络及其未来发展。
解决方案
IPS signatures:
TP-Link.Wireless.Router.Backdoor
Belkin.NetCam.goform.Command.Injection
NETGEAR.DGN1000.CGI.Unauthenticated.Remote.Code.Execution
Avtech.Devices.HTTP.Request.Parsing.Multiple.Vulnerabilities
Linksys.Eseries.Router.Remote.Command.Execution
JAWS.DVR.CCTV.Shell.Unauthenticated.Command.Execution
OrientDB.Remote.Code.Execution
OrientDB.fetchplan.Query.Code.Execution
Apache.CouchDB.JSON.Remote.Privilege.Escalation
Apache.CouchDB.Config.Command.Execution
HomeMatic.CCU2.CGI.Remote.Code.Execution
IOCs
6058f5dacd3e9ca31ca9e684627b0cd89633ea03a9c6b1a38489a93042ddcc2a Linux/Mirai.BD!tr
a19c23e0c2b7a20d19a32f2eecd2c69839a0d64badc37ca063d91ce9e59ac183 Linux/Mirai.BD!tr
26929a76f099abde1bdda2aa193f633763c22f261588aadc63c54606e42d00af Linux/Mirai.CK!tr
87b916c2de79ffa2099707e6510f48b16bd762b8335f656e86aab2f5ebb388d2 Linux/Mirai.CK!tr
16b888a68a957709900a341650c66b58778e397671b04eed3afa2ee264480f37 Linux/Mirai.CK!tr
b24a197d27b03f5592d3c92b2fd412e56c71c1f3975b2b883a90ef9ff6bb876a Linux/Mirai.CK!tr
76b632fe10340c5254a01ca8caa4861c698cf9df10eefc869aaefea88649b2a5 Linux/Mirai.BD!tr
4ffef90f5fb0ae23733b623694180d30e3fd8e10fe9bc9cb844348eda05003e3 Linux/HNS.HZ!tr