全站搜索
启明星辰 破壳而出:全新物联网僵尸网络AuthBot浮出水面 四川 成都 科汇科技 分销服务商——成都科汇科技有限公司
作者:管理员    发布于:2023-08-08 13:39:00    文字:【】【】【

导语

启明星辰与广州大学网安学院发现了一个新的物联网僵尸网络,并将其命名为AuthBot。本文通过对该僵尸网络进行样本技术分析,全面介绍了其执行流程、通信协议、控制命令等细节,以作为各行业及相关企业制定网络安全策略的参考。


2023年7月底,启明星辰在参与国家重点研发计划项目“大规模异构物联网威胁可控捕获与分析技术(2022YFB3104100)”的研究过程中,发现了一个新的物联网僵尸网络家族。在VirusTotal上,大部分杀毒引擎将其识别为Mirai或者Gafgyt。经过详细分析,确认完全没有复用MiraiGafgyt的任何源代码。


鉴于样本包含字符串AuthBot,且会加密作为上线数据发送给C2我们将其命名为AuthBotAuthBot设计了自定义加密算法用于加密和C2的通信。目前,其功能并不完善,只实现了心跳等有限功能,并不包含DDoS攻击等功能。


有理由相信,我们正在见证一个全新物联网僵尸网络的“破壳而出”。

01

样本技术分析


目前AuthBot只支持amd64,暂时没发现其它CPU架构的样本。AuthBot采用UPX加壳,并篡改UPX幻数来对抗脱壳。将UPX幻数“YTS\x99重新改为UPX!,即可成功脱壳。

1、执行流程

和大多数僵尸网络不同,AuthBot会首先连接C2,连接失败退出进程。在和C2建立通信之后,才执行其它操作,如修改自身进程名等。这是因为它硬编码的加密字符串需要用到C2返回的密钥来解密。AuthBotC2地址直接使用二进制进行赋值,而非字符串。

在和C2服务器建立通信之后,执行启动流程:解密字符串资源、发送CPU架构名称到C2服务器、进程名伪装、自拷贝至/usr/bin/BoxBusy


随后进入循环,执行select函数,接收执行C2下发的指令。需要指出的是,在循环函数里,AuthBot会获取父进程所打开的文件名称。如果所打开的文件名称包含“/proc/或者socket:[,则把父进程名称加密发送给C2,同时尝试kill父进程。这是在尝试检测调试器或者沙箱沙箱环境特征。


2、通信协议

AuthBotC2的通信协议并不复杂,只需要4轮即可与C2建立通信。AuthBotC2的通信数据经过两层加密,外层是异或,内层采用其自己实现的数学运算方式加密,具体加、解密算法的伪代码分别如下:


以下是运行样本实际流量:

Step1:BotC2

AuthBot生成8到15字节的随机字符串作为XOR密钥,用于后续通信加密。接着异或加密字符串"AuthBot ",把XOR密钥字符串和密文拼接起来,并使用自定义算法加密它们,发送至C2

以上述截图里的数据为例,“a78f928fa5a799979d9daa908e8f9b28421a160d431e256f经过内层算法解密后是7763666375776B696F6F786462636D203616120B37181F49

其中“wcfcuwkiooxdbcm是之前生成的随机XOR密钥,“3616120b37181f49异或密文,解密之后正是AuthBot。如下:

Step2:C2Bot

C2返回17字节加密数据,经过异或和自定义算法解密后为“Accepted GoAwayMr”。前8字节“Accepted”表明连接C2成功, “GoAwayMr”同样是密钥,用于解密自身加密字符串。

以上述截图里的数据为例,“12ece9f2d5d3faf94704e501c5eec604c1经过异或解密之后,是658f8f91a0a49190286b9d65a78dab73a2

658f8f91a0a49190286b9d65a78dab73a2经过自定义算法解密后正是“Accepted GoAwayMr自定义算法解密如下:

Step3:BotC2

AuthBot拼接CPU架构字符串“x86_64”和“yarn”,经过两层加密发送给C2

Step4:BotC2

AuthBotC2发送自身进程的一些权限信息等,如是否对/usr/bin/目录有写权限,是否为root权限运行等。权限数据只经过了XOR加密。XOR解密如下:

其中首字节为是硬编码的\x04,第二字节\x00表示是root权限运行,第三字节是硬编码的\x01,第4字节\x00表示对/usr/bin/目录有写权限。其余8字节是\x00


至此,AuthBot上线成功,开始等待执行C2下发的指令。目前为止,只收到过C2返回的两字节心跳数据\x76\x63,异或解密后是\x01\x00。心跳数据和控制命令数据都是只有一层XOR异或加密。


3、控制命令

目前,AuthBot只支持包括心跳在内的3类控制命令。


1、IP地址下发:当C2返回的数据长度大于10字节,将偏移1起始的数据解析为ip:port形式的字符串并保存,至多保存4个。该命令目前只用来测试样本对IP的解析是否正确,后续很可能用于解析DDoS攻击目标或回连C2服务器。


2、心跳:当C2返回的数据长度小于等于10字节并且首字节为\x01,则认定是心跳包,直接返回C2相同的心跳包数据。

3、删除IP地址:当C2返回的数据长度小于等于10字节并且首字节为\x00,删除对应已保存的IP地址。


02

总结


总的来看,AuthBot的功能还很不完善,不包含DDoS攻击功能,也没有下载、shell等其它功能。而且对于非心跳包的另外两类控制命令,很难理解攻击者的真实意图。


不过还是有一些亮点,比如新颖的两次加密,尤其是通过C2返回的密钥来解密自身加密资源。它的代码里也看不出常见僵尸网络对MiraiGafgyt代码的复用。


因此,我们认为AuthBot是全新的物联网僵尸网络,但还只是刚刚诞生的初级阶段。我们会持续监控AuthBot新的演变发展。


03

IOC


C2:

190[.]10[.]8[.]179:8008


MD5:

7fd6f1ffceb010e4607198d1d4a527c3


关于“大规模异构物联网威胁可控捕获与分析技术”项目

启明星辰是国家重点研发计划项目“大规模异构物联网威胁可控捕获与分析技术(2022YFB3104100)”课题一“异构物联网僵尸网络威胁感知关键技术及系统(2022YFB3104101)”的核心承担单位之一。项目及课题均由广州大学网络空间安全学院牵头,旨在构建大规模物联网攻击威胁主动防护能力。




相关文章链接:

1. 暗影中的巨兽:物联网僵尸网络Andoryu近期变化分析

2. 幽影之网:揭密OpenNIC域名背后的新生僵尸网络DawnBot




END

成都科汇科技有限公司

地址:四川省成都市武侯区人民南路四段一号时代数码大厦18楼A5

电话咨询热线:400-028-1235

QQ咨询热线: 1325383361

24小时咨询热线:180 8195 0517(微信同号)