RobinBot——快速扩张中的新型 DDoS 僵尸网络

时间:2022-11-22 作者:奇安信威胁情报中心

分享到:

    概述

    2022年11月初,奇安信威胁情报中心威胁监控系统监测到一起未知家族恶意样本传播事件。经过我们分析,捕获的恶意样本借鉴了Mirai和Gafgyt家族的恶意代码,支持多种自己命名的DDoS攻击方式,可以通过Telnet服务弱口令暴破传播,同时还集成了与Omni家族相似的多个漏洞Exp,目前正在网上快速传播。

    根据攻击者创建的特殊文件夹名称,我们把这个家族命名为RobinBot。

    通过对RobinBot历史样本的关联分析,我们梳理了它的发展过程,并且发现了其还有一个功能相似的跨平台jar版本同家族样本。业界公开曝光的Java编写的跨平台DDoS木马并不多,这次我们对RobinBot一探究竟。

    我们对RobinBot初步的监控结果显示,其作者尝试过下发指令攻击自己控制的IP资产。综合分析可以看出RobinBot作者具有一定的能力和想法,并在积极尝试中。

    C版样本关键行为分析

    RobinBot的C语言版本样本借鉴了Mirai和Gafgyt家族的恶意代码,并自己命名了多种DDoS攻击方式。目前RobinBot的样本还在频繁地更新迭代,本文以下面样本为例进行分析:

    对抗分析

    RobinBot具有常规的对抗分析措施,借鉴自Mirai家族。

    GDB反调试:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    进程随机重命名:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    关闭Watchdog,防止设备重启:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    借鉴自Mirai的table机制

    RobinBot的代码中还借鉴了Mirai的Table机制,试图隐藏自身携带的关键信息:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    解码用到的Key:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    经过我们分析,这个Table在代码中还没启用,不排除将来作者更新样本,把这个机制真正用起来。

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    Kill指定端口的进程

    RobinBot还会杀掉Telnet23端口、SSH22端口和HTTP80端口对应的进程:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    传播方式

    RobinBot支持沿袭自Mirai的弱口令暴破方式传播,同时还集成了类似Omni家族的12个漏洞Exp,大大提升传播能力。

    RobinBot的Telnet弱口令暴破机制,复用了Mirai的口令表加密机制:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    暴破结果的Reporter服务器地址与C&C相同,但端口改成了1337:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    RobinBot集成了12个经典的IoT设备漏洞Exp来增强自身的传播能力:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    漏洞说明如下:

    C&C通信

    RobinBot当前样本的C&C服务器地址89.203.251.188:7267,上线包为"12354544\n\n":

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    指令解析

    RobinBot的指令机制与Gafgyt家族类似,属于明文形式的指令。指令共有三大类:执行恶意命令、发起DDoS攻击、辅助功能指令(更新、清理)。

    当指令字符串以"console"开头时,代表执行恶意命令,"at"开头代表发起DDoS攻击:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    对于目前支持的6种DDoS攻击指令,RobinBot作者有自己的命名方式:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    支持的DDoS方法包括:固定及随机Payload的TCP协议攻击、固定Payload的UDP协议攻击以及专门针对Minecraft服务器的DDoS攻击。上述大部分攻击方式,疑似专为MineCraft平台定制,即攻击者运营该DDoS僵尸网络,可能专门为了攻击游戏服务器。

    值得一提的是,RobinBot支持的T-TCP和U-UDPDDoS攻击方式,单次攻击的Payload都是8000Bytes的重复数据,形式如下:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    C版样本演进

    经过我们对RobinBot历史活动的回溯分析,大概理清了RobinBotC语言版样本的发展历程。

    我们最早找到了RobinBot在2022年5月份的样本,把它定为最初版本,与本次发现的最新版本大致框架一致,此时的样本中还未添加有Mirai的代码,所含的Telnet暴破功能也与Mirai不同。支持的功能包括远程命令执行、DDoS攻击、Telnet弱口令暴破。

    上线包如下:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    DDoS方法也仅有TCP和UDP两种:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    在2022年6月份,作者更新了第二版的样本,与初始版本相比加入了Mirai的Table机制以及其特有的弱口令暴破函数。但是不包含漏洞利用的部分,并且上线包略微不同:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    作者在2022年7月份更新了第三版,加入了漏洞利用,此时仅集成两个漏洞的Exp,分别是针对DasanGPON设备的CVE-2018-10562,和针对ZyXEL设备的CVE-2017-18368:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    并且,第三版的上线包也有所变化:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    在2022年11月份我们捕获的最新版样本中,作者去除了ZyXELRCE的利用,添加了Omni家族曾经整合利用过的12个漏洞Exp进行传播,同时删除了前两个版本中包含的上报扫描结果IP更新的功能。

    综合来看,RobinBotC语言版样本的更新流程如下图所示:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    Java版DDoS木马

    在我们对攻击者的资产进行梳理过程中,通过一系列关联分析,我们发现RobinBot的作者所属某一资产下发的一个独特的PE样本。该样本会调用curl命令下载并执行一个Jar文件:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    RobinBot的名字,正是我们参考上图Jar文件落盘路径中的"Robin"而命名。经过对上述Jar文件的深入分析,确定该样本是上述C语言版本的Java版本,功能近似,但具备了跨平台运行的能力。

    我们以下述样本为例进行分析(下文称RobinBot-Jar):

    区分平台运行

    该样本可以在Linux和Windows平台上运行,针对Windows平台会有额外的操作:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    额外的Inject函数功能是把自身移动到Startup文件夹以Cmd命令的方式进行自启动,文件名为"0ff1995"+随机字符串,该操作同时也用来区分样本是否是首次运行:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    下发远程命令时样本也会区分平台进行命令执行:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    设置系统HTTPUser-Agent

    RobinBot-Jar还会设置系统的HTTPUser-Agent为"Chrome":

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    C&C通信

    创建与C&C通信的线程:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    上线包如下,其中包含样本版本、受害机器系统OS及用户名:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    指令解析

    RobinBot-Jar的指令设计,与C语言版本的木马几乎一致,也是类似Gafgyt家族的明文协议,并且"console"开头的指令代表执行命令,"at"开头代表执行DDoS指令:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    不同的地方在于作者自定义的DDoS方法名:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    JAVA版样本支持的DDos方法除了与C版相同的以外,还包括:HTTPFlood、OVHFlood、针对Roblox视频游戏平台的DDoS攻击、基于Bootstrap的DDoS攻击。

    代理设置

    RobinBot-Jar发起DDoS攻击时,会选用Socks代理。对于代理的设置,可以是过指令下发指定的代理服务器:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    也可以选择公开的第三方代理:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    其他指令

    此外还包含其他命令如下:

    如果收到退出指令,RobinBot-Jar会调用System.exit()退出运行:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    收到更新的指令后,RobinBot-Jar会通过硬编码的URL进行更新:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    收到清理的指令后,针对Windows平台会进行专门的清理工作:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    JAVA版样本演进

    经过回溯分析我们发现,JAVA版本要比C版更早进行传播,最早于去年年底开始活动,期间多次伪装成Minecraft相关工具及插件,包括KauriVPN、PlaceholderAPI、Vulcan等等,中途还曾将C2地址修改为localhost进行测试。

    指令监控

    在对RobinBot分析期间,我们对它进行了初步监控,并观察到它下发的若干攻击指令,发现该僵尸网络处于快速扩张+测试阶段:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    分析数据发现作者对其自身IP进行过DDos攻击,说明此僵尸网络还在测试阶段并未正式投入使用。

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    其余攻击目标中有多个游戏相关联的资产,其中一个攻击目标*.jonesdev.xyz,该资产为"SonarAntiBot"所有,用于Minecraft服务器的实验性反机器人插件:

RobinBot——快速扩张中的新型 DDoS 僵尸网络

RobinBot——快速扩张中的新型 DDoS 僵尸网络

    IoCs

    MD5:

    AA4BCF5BC044BAB50D347961BB2A630C

    F883F7F9FB16E9E547ABF7FA10D18256

    9138DF8AF500832C9814D052DCD70585

    500009D8F68330A8F82B59884A9AFE47

    8D815662DC16F11AEE1776AAA0157800

    27F7000F552B88FCF71E423EC59524B5

    2675386F03B1835AF146493CB328C3EC

    941CEE0D62BF9E4BFCE7DA0DAFD75CED

    BAA15F059F950C400FE32539E56128C4

    D65BD6175517E0BCB6A6FC077CDCB655

    C2:

    89.203.251.188:7267

    89.203.251.188:1337

    193.23.161.194:3214

    89.203.251.217:7267

    176.97.210.195:7267


奇安信 95015网络安全服务热线

95015网络安全服务热线

扫一扫关注

奇安信 在线客服 奇安信 95015

您对奇安信的任何疑问可用以下方式告诉我们

将您对奇安信的任何疑问

用以下方式告诉我们