“捉迷藏”IoT僵尸网络,以自定义P2P形式进行传播感染的新型僵尸网络

近日,Bitdefender安全研究人员通过蜜罐系统捕获了一种物联网(IoT)僵尸网络,该僵尸网络利用自定义P2P技术进行传播控制,由于其恶意行为相对隐蔽,被Bitdefender命名为’捉迷藏’HNS(Hide ‘N Seek)僵尸网络。目前,据威胁情报统计,全球已有32000多台IoT设备受到HNS僵尸程序感染控制。

传播感染态势

HNS僵尸程序最早于1月10日被发现,之后传播势头减弱,但却于1月20日以增强态势重新出现。以下为其传播趋势:

2018年1月24日 – 14.00 GMT+3:HNS僵尸网络跨区域感染超过14,000 台IoT设备,并有从亚洲向美国境内传播感染的态势; 2018年1月24日 – 17.30 GMT+3:HNS僵尸网络跨区域感染超过18,000 台IoT设备; 2018年1月24日 – 20.00 GMT+3:HNS僵尸网络跨区域感染超过20,000 台IoT设备; 2018年1月25日 – 11.50 GMT+3:HNS僵尸网络感染超过24,000 台IoT设备;

2018年1月26日 – 14.06 GMT+3:HNS僵尸网络感染控制了超过32,312台IoT设备,且其貌似进行着大规模的设计完善,一些新型样本中被加入了不同的功能架构,并最终形成有效攻击载荷(Payload),如以下样本:

0c90ea12275cadd96a67f8ee07e2fa04af91e51e: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, stripped 19f54473a721105982281b7b87503e3d60585042: ELF 32-bit MSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped 2b36305f7dcb63b4f55bffab0f0dbbaaabf83b28: ELF 32-bit MSB executable, Motorola 68020 – invalid byte order, version 1 (SYSV), statically linked, stripped 4dcca2094b55b6576c1b27597e4b10db9b6bfa53: ELF 32-bit MSB executable, SPARC version 1 (SYSV), statically linked, stripped 6e5a74d0e39f7e17effb54270c41910b99f7e873: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), statically linked, stripped 788f52df7aeae720c90fe21eeb946409dcd2fed7: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped a82c3cd904315131845d56101b7af8cc2b1eee7b: ELF 32-bit LSB executable, ARM, version 1, statically linked, stripped b7ccfbbcb3a29de4ae507415ddca93029d90923d: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), statically linked, stripped ed24e8f5eb277e8b58fb39c15ece3d60af418459: ELF 32-bit LSB executable, Renesas SH, version 1 (SYSV), statically linked, stripped

影响危害

HNS僵尸网络的通信控制机制相对复杂和分散化,它使用了多种防篡改方式来避免第三方对其进行劫持或毒化,其僵尸程序可以针对存在同种漏洞(CVE-2016-10401)的网络设备自动执行web渗透攻击,另外其还具备数据窃取、代码执行和设备干扰等多种内置命令。

运行机制

HNS僵尸程序的传播类似于蠕虫程序,它会首先随机生成一个目标感染IP段列表,之后会向这些目标设备发起一个原始的SYN连接请求,一旦目标主机以端口23、2323、80、8080进行响应后,该僵尸程序就筛选出这些目标对象,并在这些目标设备的banner信息中寻找特定字段“buildroot login:”,如果有所匹配,则利用内置的字典组合和硬编码信息进行暴力登录尝试。

登录成功与受害设备建立连接之后,僵尸程序样本会通过一种“状态机”模式来识别受害设备并选择最佳感染方式。例如,如果受害设备与僵尸程序处于同一LAN中,则僵尸程序就会配置TFTP服务让其允许受害设备可以下载运行恶意程序;如果受害设备处于外部互联网中,则僵尸程序会远程尝试向受害设备下载运行特定的恶意程序。HNS僵尸程序具备的这些渗透功能都是内置在其内存中且具有数字签名防篡改特性,这些功能特性可以被远程更新,也能在受害主机设备中传播共享。

HNS僵尸程序最早于1月10日针对一家韩国网络摄像机设备进行攻击时,被Bitdefender蜜罐系统捕获。这些受害设备貌似在HNS僵尸网络的传播中扮演着重要角色,因为在该份恶意样本的硬编码共12个受感染设备信息中,有10个设备隶属Focus H&S公司所有。而在1月20日捕获的样本中,HNS僵尸程序却没有继续使用这些硬编码IP信息。

与其它的IoT僵尸程序类似,HNS僵尸程序也不能实现持久驻留,且设备重启后也能恢复到未感染状态。HNS也算是继臭名昭著的Hajime之后又一个具备P2P传播机制的IoT僵尸网络,Hajime僵尸网络利用了基于BitTorrent协议的分散P2P通信体系,而HNS僵尸网络却具备了自定义的P2P通信机制。

UDP 通信机制

HNS僵尸程序会在受害设备中随机打开一个端口,并为该端口添加入站的防火墙规则,然后在该端口上监听以下特殊形式的命令。我们一开始对HNS僵尸程序样本进行分析时发现,其中竟然包含了一种椭圆曲线密码来对控制命令进行验证,攻击者通过这些控制命令可以执行对控制程序的内存配置更新,以及防止其它恶意程序的渗透毒化。

HNS僵尸程序在运行时包含了以下一些控制参数:

k’ + [端口号] – 启动时终止所有在该端口上运行的进程; ‘l’ + [端口号] – 启动后对该端口实施监听; ‘s’ + 路径 – 从该路径中读取文件或把它们加载进内存空间,然后通过‘m’, ‘y’ 和 ‘Y’命令来提取这些数据。此过程中创建的文件都具备sha256校验机制,而且会导致恶意二进制文件存留在受害者系统中; a’ + [IP:PORT] – 把IP:PORT关系关联映射到内部存储的IP:PORT表中; ‘e’ + IP:PORT – 添加一个新的感染目标,否则就随机生成一个感染列表。

HNS僵尸程序控制命令

为了解HNS僵尸程序的具体功能,我们分析检查了其它受感染网络对等端(peer)收到的一些命令信息,以下就是其中一些支持命令和相关说明:

‘i’ + u32(config_size) – 如果收到的config_size大于当前配置,则会向对等端返回一个确认信息,最终对等端会被设置为通信端以获取更多配置信息,如果dht_size太小, 则会向对等端返回一个‘I’消息以请求较多的配置信息; ‘I’ + u32(config_size) – 接收到的config_size应该大于当前配置(在 ‘i’ 消息查询后),向对等端返回一个确认信息,最终对等端会被设置为通信端以获取更多配置信息; ‘m’ + u832 + u32(ip) + u16(port) + u16(seq) + u8(hops) + u8(unk) – 该条信息尝试找出基于给定哈希值的数据,它首先会执行本地检查,如果哈希已知则数据可用,此时,它会向ip:port发送一条‘Y’消息;如果本地数据不可用,则僵尸程序会向所有已知网络对等端广播当前的‘m’消息(跳数减少,且少于5跳); ‘^’ + u8(flags) + u16(port) + u32(ip) – 以ip:port形式产生一个新的网络对等端,该对等端会被加入到已知的端点列表中(它也能替换其它对等端); ‘~’ – 请求一个新的对等端点,在收到该请求后,僵尸程序会从已知端点列表中随机选择一个端点(peer),并通过‘^’消息响应; ‘Y’ + u16(chunk_index) + u16(seq) + u8 – 这是数据接收到的消息,数据以最多0x100字节块的形式被复制(当前偏移量为chunk_index * 0x100),chunk_index也对应于当前通信缓冲区大小;

如果恶意样本被下载后,可能产生多种后果:

如果数据是新配置的,它会通过上述提到的椭圆曲线数字签名算法(ECDSA)进行验证,验证成功则会替换掉当前配置;在更新机制中,下载文件有可能被丢弃或执行。

‘y’ + u832 + u16(chunk_index) + u16(seq) – 该命令尝试向chunk_index中读取相应的以‘Y’消息发送的缓存数据,如果出于其它原因,数据本地不可用,则会向广播一条‘m’消息; ‘O’ + u8(checksum) – 这是一条确认消息,在收到的消息中进行checksum校验; ‘i’ , ‘I’ (first version)’h’, ‘H’ (second version) – 更新配置命令; ‘m’,’Y’,’y’ 数据渗漏机制,其中“m”负责一条哈希值的通信确认,而“Y”和“y”则负责数据转移; “z” 扫描组件,在字典暴力测试中,对探测发现到的对等端发送有效的登录凭据信息进行验证, “O” 确认“z”消息发送的凭据信息已经被有效接收; “^” 在已知对等端点列表中加入一个新的端点; “~” 以一个对等端IP作为控制端IP查询进行响应。

总结

虽然IoT僵尸网络已经存在多年,且大多用于发动DDoS攻击,但在对HNS僵尸网络的调查中,我们发现了其高度的复杂性和新颖性,比如其隐蔽的信息窃取方式,有可能被用于间谍活动或网络勒索。还值得注意的是,HNS僵尸网络一直在不断地自我完善和继续传播感染态势之中。

已知样本HASH

efcd7a5fe59ca8223cd282bfe501a2f92b18312c 05674f779ebf9dc6b0176d40ff198e94f0b21ff9

*参考来源:Bitdefender,freebuf小编clouds编译,转载请注明来自FreeBuf.COM

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2018-02-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

如何给你的女神修Mac电脑

话不多说,直接进入正题,如果你或者你的女神使用 Mac 遇到以下这些问题的话,你可以来看看怎么解决。

12520
来自专栏互联网开发者交流社区

HTML+CSS-淘宝网页

24440
来自专栏FreeBuf

黑产攻击途径升级,云服务成重灾区

在我们的印象里,黑产以及相关的肉鸡DDOS攻击总是离我们很远。可实际情况并非如此,特别是在云服务大行其道的今天。 日前,腾讯反病毒实验室就观察到了国内云服务中G...

39090
来自专栏腾讯云安全的专栏

云服务首要威胁分析:用户如何保护自己的资产?

随着云计算技术的逐渐成熟,云服务凭借高效的管理模式、便捷的使用方式和灵活的付费方式受到了企业、政府、个人用户的青睐。然而,巨大的市场背后也对云服务商的运营、...

19920
来自专栏北京马哥教育

抖音 Python 机器人,论如何在抖音上找到漂亮小姐姐

582100
来自专栏机器之心

专栏 | 如何在抖音上找到漂亮小姐姐?这里有个Python抖音机器人

34130
来自专栏FreeBuf

一款新的基于Tor的恶意软件 – ChewBacca

与金融木马有关的网络犯罪近几个月日益攀升。而基于Tor的木马仍是网络罪犯们的最爱,这种木马能够隐藏他们的肉鸡,还能隐藏他们的指挥与控制(Command ...

22870
来自专栏FreeBuf

树莓派打造洋葱Tor代理路由

这篇文章将给大家讲讲,如何使用树莓派打造洋葱路由,它可以帮助你构建安全的网络环境。 平时有感觉到别人在监控你么,不用再担心啦,现在只要使用Onion Pi To...

55760
来自专栏FreeBuf

基于ArduinoLeonardo板子的BadUSB攻击实战

前言 在Freebuf上许多同学已经对HID攻击谈了自己的看法,如维克斯同学的《利用Arduino快速制作Teensy BadUSB》无论从科普还是实践都给我们...

42170
来自专栏FreeBuf

FACT:一款固件类比分析测试平台

1.FACT 全称 Firmware Analysis and Comparison Tool 是一个拥有WEB端的自动化固件测试平台。

22820

扫码关注云+社区

领取腾讯云代金券