HNS Botnet 最近活动更新

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

内容简介:作者: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.


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

查看所有标签

猜你喜欢:

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

App研发录:架构设计、Crash分析和竞品技术分析

App研发录:架构设计、Crash分析和竞品技术分析

包建强 / 机械工业出版社 / 2015-10-21 / CNY 59.00

本书是作者多年App开发的经验总结,从App架构的角度,重点总结了Android应用开发中常见的实用技巧和疑难问题解决方法,为打造高质量App提供有价值的实践指导,迅速提升应用开发能力和解决疑难问题的能力。本书涉及的问题有:Android基础建设、网络底层框架设计、缓存、网络流量优化、制定编程规范、模块化拆分、Crash异常的捕获与分析、持续集成、代码混淆、App竞品技术分析、项目管理和团队建设等......一起来看看 《App研发录:架构设计、Crash分析和竞品技术分析》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具