HNS Botnet 最近活动更新

栏目: 数据库 · 发布时间: 8年前

内容简介:作者:Rootkiter, yegenshenHNS 僵尸网络(Hide and Seek) 是最初由 BitDefender 于今年 1月P2P类的僵尸网络很难被根除,HNS 僵尸网络也是如此。在过去的几个月中 HNS 僵尸网络一直在持续更新,我们看到其更新活动包括:

作者:Rootkiter, yegenshen

HNS 僵尸网络(Hide and Seek) 是最初由 BitDefender 于今年 1月 报告 的一个IoT僵尸网络。在那份报告中研究人员指出,HNS 会利用CVE-2016-10401、其他漏洞以及Telnet弱口令投入恶意代码,有执行任意指令和盗取用户信息的恶意行为,传播方式类似蠕虫,感染规模在1月23日至1月24期间快速增长到超过32k。并且,HNS内部通过P2P 机制通信,这是我们所知继 hajime之后第二个利用P2P通信的IoT僵尸网络。

P2P类的僵尸网络很难被根除,HNS 僵尸网络也是如此。在过去的几个月中 HNS 僵尸网络一直在持续更新,我们看到其更新活动包括:

  • 增加了对 AVTECH全部设备(网络摄像头、网络录像设备)、CISCO Linksys路由器、JAWS/1.0 Web服务器、Apache CouchDB、OrientDB的漏洞利用;加上原始报告中提到的2种,目前HNS已经支持7种漏洞利用方式;
  • 内置的P2P节点地址增加到了171 条;
  • 另外,我们观察到HNS 僵尸网络增加了 cpuminer 挖矿程序的下载,但是尚未观察到其正常运行。结合HNS在针对couchDB和OrientDB,给人感觉 HNS 僵尸网络的作者正在工作,以谋求通过挖矿获利。

特别值得一提的是,随着失陷的 OrientDB 和 CouchDB 数据库服务器加入其僵尸军团,HNS已经不再仅仅是 IoT 僵尸网络,而是一个跨平台的僵尸网络了。

核心样本

我们分析了以下样本:

c1816d141321276cd4621abcd280ee40    #hns x86  
0770ff1a6e90eb5d083c16452e45abd5    #hns arm  
30ebaaeb61a4ecae3ade7d1d4e5c7adb    #hns_miner

网络扫描和漏洞利用

HNS 僵尸网络通过网络扫描寻找潜在受害者。HNS在扫描过程中借鉴了Mirai的扫描机制,也共享了mirai僵尸网络的一些扫描特点。

扫描的目标端口包括:固定的 80/8080/2480/5984/23,以及随机端口。

HNS Botnet 最近活动更新

这些端口上常见运行的服务是:

23    Telnet  
80    HTTP Web Service  
2480  OrientDB  
5984  CouchDB  
8080  HTTP Web Service  
RandomPort   NA

在上述端口上,HNS会尝试利用下面的漏洞利用将其自身投入。其中 1 和 2 是最初BitDefender报告中提及的,其它的利用均为HNS后续增加:

  1. TPLink-Routers RCE
  2. Netgear RCE
  3. 新增 : AVTECH RCE
  4. 新增 : CISCO Linksys Router RCE
  5. 新增 : JAW/1.0 RCE
  6. 新增 : OrientDB RCE
  7. 新增 : CouchDB RCE

171个内置的P2P节点

作为P2P 型僵尸网络,HNS获取通信对端节点的方式下面 3 种。其中第 2、3 两项在 bitdefender 的文章中已经有介绍。

  1. 样本内置:内置了 171 个对端节点信息;
  2. 运行参数传递;
  3. 询问对端节点;

上述 171个节点,在 HNS 的上线和交互过程中均会参与。

上线过程

HNS 无参数启动后会出现大量的 UDP 上线请求包。观察这些请求包的目标IP地址可知,大部分是随机生成的,少量是由内置节点列表决定的。样本中内置节点的部分信息如下图所示,全部171个节点的信息见 IoC 部分。

HNS Botnet 最近活动更新

交互过程

HNS 在节点之间的交互过程中有以下特征:

  • HNS 的上线包是一个长度和内容均随机的 UDP 请求包,这个包特征并不明显。明显的点在 于上游节点的回包是一个长度为 2 且首字节为大写字母’O’的回包。另外回包的第二字节,其实是从请求包计算出的一个校验值,所以该方法也可用于 HNS 感染判定。详细校验算法见附录。
  • HNS 在加入 P2P 网络后,需要较频繁的进行地址同步操作,以确保不会出现节点走失的情况。 这个同步操作具有较强的网络特征。首先,下游节点会向上游节点发送一个长度 1 内容为“~”的请求包,随后上游节点会回复一个长度为 8 首字母为“^”的回包。
  • HNS 在指令获取及文件获取过程中,会出现大量的交互数据包。请求包长度 69 首字母“y”, 回复包(满载拆包分发状态)长度 261 首字母“Y”。

服务请求包的回包算法如下,基于 python 2.7

当发送如下请求包时:

data_pointer = "5b 02 d7 ff 52 02 61 e9 a5 7e 0b 07 c5 43 5b".replace("","").decode('hex')

上游节点的回包应为:

ack="4f b6".replace(" ","").decode('hex')

其中 chr(0x4f) 固定,chr(0xb6)的计算方法如下:

def calc_crc(data_pointer):  
    data_len_1 = len(data_pointer)-1
    tmp = 88
    for i in range(0,data_len_1):
        tmp += ord(data_pointer[i])
        tmp = tmp &0xff
    tmp2 = tmp^0x3d
    print hex(tmp2),hex(ord(data_pointer[data_len_1]))
    if(tmp2 == ord(data_pointer[data_len_1])):
        return (2*tmp2&0xfe)
    return -1;

联系我们

感兴趣的读者,可以在 twitter 或者在微信公众号 360Netlab 上联系我们。

IoC

Malware Sample md5

c1816d141321276cd4621abcd280ee40    #hns x86  
0770ff1a6e90eb5d083c16452e45abd5    #hns arm  
30ebaaeb61a4ecae3ade7d1d4e5c7adb    #hns_miner

All 171 hard coded P2P peer address list ishere.


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Where Wizards Stay Up Late

Where Wizards Stay Up Late

Katie Hafner / Simon & Schuster / 1998-1-21 / USD 16.00

Twenty five years ago, it didn't exist. Today, twenty million people worldwide are surfing the Net. "Where Wizards Stay Up Late" is the exciting story of the pioneers responsible for creating the most......一起来看看 《Where Wizards Stay Up Late》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码