Gafgyt变种:Sakura僵尸网络溯源分析报告

robots

 

一、前言

近年来,随着匿名货币的增长,僵尸网络攻击越来越频繁,各种二次开发的变种也越来越多。搭建1个开源的僵尸网络的成本很低,通过Youtube搜索可以找到大量“傻瓜”式搭建教程,甚至有申请匿名服务器的教程,可谓是“一条龙”服务。

 

二、事件起因

近日,微步在线终端威胁检测与响应平台 OneEDR (以下简称OneEDR)监测发现,5月14日后台主机告警页面出现有7条可疑告警信息,凭借多年安全分析经验,初步判定为僵尸网络攻击。

 

三、告警排查分析

3.1告警详情分析

点击时间最早的一条告警项查看详细日志信息,在父进程信息sshd:admin@notty(无界面登录)中发现为可疑爆破登录,然后通过命令行工具发现执行切换目录、下载木马、执行和删除文件等可疑命令。

继续查看这台主机的其他告警信息,第二条告警信息显示文件路径异常,可以看到进程路径已经deleted,OneEDR将其判定为“可能为攻击者巩固阵地的手段”。

3.2攻击原因排查

通过登录服务器进行排查,发现该用户下无其他应用服务,继而查看ssh登录日志,发现了密码爆破的历史进程,确定攻击者是通过弱密码爆破登录服务器。

然后使用$lastb命令根据时间排查日志,疑似13:49分最接近入侵时间,其余的时间都相差较大。

3.3上机排查

使用$ps -ef命令查看所有进程时,发现进程x86-Sakura和进程x32-Sakura在14:00启动。

使用$ls -l /proc/32737命令查看进程号32737确认木马存放的位置。

使用$ls /tmp |grep Sakura* 命令查看/tmp目录下列示的所有Sakura文件后,可以确认该恶意行为是针对多个平台(mips、mpsl、sh4、x86、arm6、x32、arm7、ppc、i586、m68k、ppc、arm4、arm5)的僵尸网络。

通过分析Sakura.sh,得出shell会使用“||”符号来分隔cd directory命令。即使/tmp目录不存在,系统会提示“No such file or directory”,也会继续执行第二个cd directory命令。这样既能满足在不常用目录存储恶意样本不被发现的需求,又能在当不常用的目录不存在时使得恶意样本能正常保存下来。

 

四、样本分析

X86.Sakura(6d21dd452c0ce920825bca8a5910c249),以此为例进行分析。先从main函数开始,它首先是要读取受害机的本地时间,通过getsockname 和 /proc/net/route 命令获取受害机的公网ip、内网ip、网段、网关以及MAC地址等信息(以 \t00000000\t分割)。

木马会确认有没有python、python3、perl以及telnet程序环境,如果有其中一个的话就会返回“22”,如果没有就返回 “Unknown Port”。

初始化链接C2,并睡眠5秒,根据获取到的ip+port+架构信息发送给C2确认受害机的相关信息。

从网络数据可知,受害机向C2服务器(143.110.226.196:12345)发送ip port 架构的信息,C2服务器会回复 “PING” 确认在线。

发送完相关信息后就一直等待C2发送指令,以便进行下一步行动。

经过分析得出,有tcp、udp、vse、stdhex、std、nfodrop、ovhkill、xmas、crush、stomp、stop这11个命令;其中atcp是构造发送tcp攻击,audp是构造发送udp攻击,vse是攻击游戏服务器的相关payload,所有的攻击指令都是以这3种类型的攻击方式为基础去发送相关的数据。

举例分析,Vseattack 可攻击运行Valve Source Engine的游戏服务器(使用Steam引擎制造商Valve软件协议(A2S_INFO数据包)在客户端和游戏服务器之间进行例行通信的一部分)。

1)Tcp,在指定的时间间隔内将TCP数据段发送到指定的主机/端口组合。

2)UDP,将一些有效载荷发送到目标主机,指定端口、攻击持续时间和效载荷的最大内存。

3)astd,定义了要发送的数据(其实是一个特殊字符串,然后i > 50就发送,i置0后累加又再次发送)。

攻击时,bot会发送这一段话给目标,”dayzddos.co runs you if you read this lol then you tcp dumped it because it hit you and you need to patch it lololololol”。

std,定义了要发送的数据(其实是一个特殊字符串,然后i > 50就发送,i置0后累加又再次发送)。

指令集:

与以前Gafgyt木马的架构、函数结构进行对比,发现是其家族的变种。

在分析这个样本时,并没有发现密码爆破功能点,猜测是额外利用了一些爆破工具去针对有弱密码的服务器ip进行密码爆破,当成功拿到相关的账号密码就会登陆下载木马。从刚才的网络通讯数据得出,它会获取受害机的网络相关信息,在上线时发送给C2服务器,C2服务器会定期 “PING”确认受害机的在线情况,之后就会等待C2的指令去对一些网站、服务器进行DDos攻击。

攻击简易流程图如下:

 

五、C2信息关联

通过查询域名解析后的ip,发现指向美国的一所院校(St.Scholastica University),通过微步在线蜜罐、X社区等对该ip进行其他相关事件的关联,并未发现其他攻击事件。该域名解析为143.110.226.196,发现该 ip 为木马下载地址的时间是2021年5月14日。

通过对该ip拓展发现,该ip所在网段B段(143.110.0.0-143.110.255.255)均为该大学的ip,C2疑为跳板机。圣舒拉卡学院的官网地址css.edu ,解析的ip为143.110.1.200。

通过样本的命名习惯在蜜罐中关联,以下为曾用过此类木马的ip:

143.198.104.139(美国)

138.68.20.95(美国)

143.110.231.43(美国)

193.239.147.144(罗马尼亚)

45.95.169.218(匈牙利)

167.71.191.160(美国)

167.71.65.57(荷兰)

这种属于小众僵尸网络,最早出现在2020年12月,采用静态的方式去编译生成木马。

 

六、总结与思考

6.1事件总结

本次事件是通过OneEDR在收集终端的进程、网络、文件等系统行为发现的,OneEDR在主机上运用了行为规则、智能事件聚合等技术手段,实现对木马入侵事件的精准发现,能发现已知或未知的威胁。通过OneEDR的智能关联功能,可了解到安全事件的上下文以及主机、账号、进程等信息,通过“进程链”快速掌握事件的影响范围以及事件的概括,从而精准溯源。

6.2事件思考

1.近几年5G物联网的迅速发展,物联网设备数量呈几何增长,物联网设备已经成为主要的攻击目标。

2.随着物联网设备的不断增多,使用SSH 暴力破解攻击会也越来越多,这会让僵尸网络迅速增加自己的bot;与此同时,黑客租用的是国外匿名廉价的VPS,不仅成本低,溯源难度还较高,所以僵尸网络的发展会越来越猖獗。

3.目前的IOT僵尸网络以 DDoS 和挖矿的木马为主。

6.3处置建议

1.Kill进程 Sakura 进程;

2.删除文件 /tmp/Sakura 相关文件;

3.SSH使用安全的密码策略,使用高强度密码,切勿使用弱口令,防止黑客暴力破解。

完整版(含IOC)报告可在“微步在线研究响应中心” 公众号查看。
(完)