BlueShell是一款用Go语言开发的后门恶意软件,发布在GitHub上,支持Windows、Linux和Mac操作系统。目前,原始的 GitHub 存储库据信已被删除,但 BlueShell 的源代码仍然可以从其他存储库获取。包含说明的ReadMe文件是中文的,这表明创建者可能是中国用户。
图 1. GitHub 上发布的 BlueShell
与 SparkRAT 或 Sliver C2 等 GitHub 上发布的其他恶意软件不同,BlueShell 用于攻击的已知案例并不多。但从国内实际的攻击案例来看,可以发现各类攻击者一致使用BlueShell进行攻击。
AhnLab安全紧急响应中心(ASEC)正在监控使用BlueShell的APT攻击案例,这里我们总结一下使用BlueShell的APT攻击案例。直接确认的攻击案例主要针对国内企业的Windows系统。然而,在针对Linux系统的攻击中,据信有不仅针对国内,还针对泰国广播公司的攻击。
1.BlueShell
BlueShell 的代表性特征之一是它是用 Go 语言编写的。Go语言具有开发难度低、跨平台支持等优点,因此不仅在程序中得到广泛应用,而且在恶意软件的创建中也得到了广泛的应用。以往国内VPN安装文件中的SparkRAT攻击案例以及国产远程控制工具向日葵漏洞攻击中使用的Sliver C2,都是用Go语言开发并发布在GitHub上的恶意软件 。此外,APT威胁组织越来越多地使用Go语言来创建恶意软件,Kimsuky威胁组织开发了用Go语言安装Meterpreter的下载器恶意软件,RedEyes(APT37)威胁组织开发了利用服务的Ably Backdoors ,Andariel威胁组织用Go语言开发了1st Troy反向shell、Black RAT、Goat RAT、Durian Beacon等多种恶意代码。
BlueShell是一个功能简单的后门,支持TLS加密与C&C服务器通信,以绕过网络检测。接收到攻击者的命令后可执行的功能包括远程命令执行、文件下载/上传和Socks5代理。
表 1. BlueShell 支持的命令
BlueShell有三个配置数据:C&C服务器的IP地址、端口号和等待时间。通常,在创建恶意代码时,会将其硬编码在二进制文件中,并在 init() 函数中执行配置数据的初始化过程。
图 3. BlueShell 使用的配置数据
2.Windows版本
2.1. Dalbit 威胁组织攻击示例
Dalbit Group 是一个总部位于中国的威胁组织,其主要目的是攻击易受攻击的服务器以窃取包含公司内部数据的信息或对系统进行加密以索取金钱。攻击目标主要是管理不善或未打补丁到最新版本的Windows Web服务器,此外,还确认了针对邮件服务器或MS-SQL数据库服务器的攻击案例。
Dalbit Group的特点是,从最初的渗透阶段,到提权、内部侦察、横向移动,直至达到目的,整个过程大部分都使用公开的工具进行攻击。实际指挥控制阶段使用的恶意代码都是公开可用的工具,例如CobaltStrike、Metasploit、Ladaon、BlueShell等。
这里,在各种攻击案例中,我们涵盖了BlueShell攻击期间收集的案例。目前尚不清楚攻击者在实际攻击中是否使用了BlueShell,但在攻击过程中,收集了设置为原始源代码默认C&C服务器地址的BlueShell恶意软件。收集到的文件为x86和x64架构,根据二进制文件中包含的源代码信息以及VirusTotal收集的时间,推测这些文件包含在攻击者使用的攻击工具集中。
/root/pentesttools/BlueShell/client.go
Dalbit攻击组在针对Web服务器的攻击中,主要采用了通过攻击WebLogic漏洞或文件上传漏洞来上传Web shell的方法。在此攻击案例中,识别出了各种 JSP Webshell 文件。
图 4. 攻击中使用的 JSP webshell
在内部侦察过程中,攻击者使用Lsass dump工具窃取凭证信息,并使用fscan工具扫描内部网络。假设在使用 Impacket 工具进行横向移动期间使用了收集到的信息。
Dalbit威胁组织最大的特点是使用FRP(Fast Reverse Proxy)作为代理工具。攻击过程中使用了Frpc工具、配置文件和另一个代理工具Venom。
图5. 收集的Frpc配置文件
2.2. 针对国内企业的攻击案例
虽然上述案例并非通常在攻击过程中使用BlueShell的案例,但后来被证实是在针对国内公司的攻击中使用BlueShell的案例。由于缺乏相关信息,无法确认最初的流入路径,也无法确认是否与之前的 Dalbit 组织是同一攻击者,但值得注意的是,这次攻击中同时使用了 BlueShell 和 Frpc。
查看二进制文件中包含的源代码信息,假设攻击者在 Windows 环境中创建了 BlueShell。在攻击过程中,我们发现了两个 BlueShell,它们都与同一台 C&C 服务器通信,但其中一个以模糊形式进行通信。
D:/skens/SK/BlueShell-master/client.go
攻击中使用的Frpc也经过混淆处理,并不是基本的Frpc,而是攻击者定制的形式。一般来说,Frpc以文件的形式读取和使用配置数据,但攻击中使用的Frpc在运行时会解密并使用内存中的加密配置数据。
图 6. 二进制文件中包含的 Frpc 配置数据
3.Linux版本
3.1. 疑似针对国内和泰国目标的袭击事件
BlueShell采用Go语言开发,支持跨平台,因此不仅可以运行在Windows环境下,还可以运行在Linux环境下。当 ASEC 监控针对 Linux 环境的 BlueShell 时,它发现了来自 VirusTotal 的定制形式的 BlueShell。考虑到该恶意软件被上传到韩国和泰国的VirusTotal,推测这两个地方是攻击目标。
攻击者首先创建了 Dropper 恶意软件并用它来安装 BlueShell。Dropper 与常规 Dropper 一样负责创建和执行 BlueShell,但不同之处在于它在运行时设置并执行一个名为“lgdt”的环境变量。生成的BlueShell获取“lgdt”环境变量,解密后作为C&C服务器地址。因此,BlueShell 无法单独验证 C&C 服务器的地址。
A. 释放器分析
在执行过程中,释放器通过使用 0x63 密钥进行异或来解密以加密形式存储在内部 .data 部分中的 BlueShell。解密的数据是压缩形式,在“/tmp/kthread”路径中解压并创建。
图 7. Dropper 的主例程
BlueShell 恶意软件“/tmp/kthread”在执行后会被删除,因此 BlueShell 仅在内存中运行。Dropper 还有另外两个功能:一是它在运行 BlueShell 时通过传递“/sbin/rpcd”作为参数,将正在运行的进程的名称伪装为“/sbin/rpcd”。因此,伪装的进程名称在 ps 命令或“/proc/[pid]/cmdline”中得到确认。
图 8. 更改后的进程名称
另外,运行创建的BlueShell时,会设置并执行环境变量“lgdt”。换句话说,“lgdt”环境变量“MjAuMjE0LjIwMS4xNjYgNDQzIDE1”作为参数传递给sys_execve系统调用,相应运行的子进程BlueShell也会收到相应的环境变量。
图9.运行时传递的lgdt环境变量
B. BLUESHELL分析
攻击中使用的 BlueShell 具有相同的基本功能,但具有几个特征。关键在于,它不是设置二进制文件中存在的诸如C&C服务器地址或端口号之类的数据,而是通过读取和解码特定的环境变量来获取。在上面的例子中,dropper恶意软件设置了环境变量“lgdt”并执行了BlueShell,并且环境变量也被相应地继承。BlueShell base64 解密环境变量“lgdt”并将其用作配置数据。
图 10. 解密环境变量并将其用作配置数据的例程
在上述国内攻击案例中,Base64解密后确认了三个参数,分别是C&C服务器的地址、端口号和等待时间。
解密的环境变量:20.214.201[.]166 443 15
从泰国上传的BlueShell在“/tmp/.ICECache”路径下创建,解密环境变量时确认四条数据。第三个之前的配置数据是相同的,第四个用于区分受感染的系统。定制的BlueShell通过hostname()函数获取当前操作系统的主机名,并与第四个数据进行比较,相同则进行操作。
尽管仅使用受感染系统的主机名来识别攻击目标存在局限性,但解密字符串中的主机名与泰国广播公司之一的名称相同。从上传到VirusTotal的国家以及该恶意软件使用的感染系统情况来看,推测该攻击组织针对泰国进行了APT攻击。
图 11. 解密加密环境变量和名称的结果
表 2. 自定义 BlueShell 配置数据
作为参考,国内和泰国攻击案例中使用的BlueShell都是使用1.18.4版本的Go语言环境构建的,根据以下源代码信息估计攻击至少从2022年9月开始进行。
表3. 攻击案例分析
4.结论
BlueShell 是一种后门恶意软件,可以在受感染的系统上接收攻击者的命令,并执行命令执行、文件下载/上传和 Socks5 代理等功能。由于它是用Go语言开发的,因此不仅可以针对Windows环境,还可以针对Linux环境进行攻击。此外,由于它已在 GitHub 上开源发布,因此各种攻击者正在利用它进行攻击。
为了防止此类安全威胁,必须检查易受攻击的环境设置,并且必须始终将相关系统更新到最新版本以防止攻击。另外,您必须小心,通过将V3更新到最新版本来提前防止恶意软件感染。
文件诊断
– WebShell/JSP.Chopper.SC183868 (2022.10.15.01)
– WebShell/JSP.Godzilla.S1719 (2021.12.03.00)
– WebShell/JSP.Generic.S1363 (2021.01.27.03)
– Backdoor/Win.BlueShell.C5272202 (2022.10.05.00)
– Trojan/Win.BlueShell.C5280704 (2022.10.15.01)
– Trojan/Win.ReverseShell.C5417728 (2023.04.25.00)
– Trojan/Win.ReverseShell.C5417729 (2023.04.25.00)
– Trojan/Win.FRP.C5417731 (2023.04.25.00)
– HackTool/Win.Frpc.R543073 (2022.12.21.03)
– HackTool/Win.Frpc.R543073 (2022.12.21.03)
– HackTool/Script.Frpc (2022.12.17.00)
– HackTool/Win.Fscan.C5230904 (2022.10.08.00)
– HackTool/Win.Fscan.C5272189 (2022.10.05.00)
– HackTool/Win.Lsassdump.R524859 (2022.10.05.00)
– HackTool/Win.ProxyVenom.C5280699 (2022.10.15.01)
– HackTool/Win.impacket.C4777703 (2021.11.19.03)
– Dropper/Linux.BlueShell.2904696 (2023.09.04.02)
– Dropper/Linux.BlueShell.2888120 (2023.09.04.02)
– Trojan/Linux.BlueShell.XE216 (2023.02.20.03)
IOC
MD5
– 53271b2ab6c327a68e78a7c0bf9f4044 : BlueShell – 达尔比特 (searchapp.exe, bsClient-Win-x32.exe)
– 011cedd9932207ee5539895e2a1ed60a : BlueShell – 月比特 (bsC.exe, bsClient-Win-amd64.exe)
– 7d9c233b8c9e3f0ea290d2b84593c842 : Frpc – 达尔比特 (dllhost.exe)
– 31c4a3f16baa 5e0437fdd4603987b812 : Frpc – 达尔比特 (server.exe)
– 9f55b31c66a01953c17eea6ace66f636 : Frpc Config – 达尔比特 (config)
– 33129e959221bf9d5211710747fddabe : Frpc Config – 达尔比特 (config)
– e0f4afe374d75608d604fbf108eac64f : ProxyVenom (agent.exe, kernel.exe)
– 96ec8798bba011d5be952e0e6398795d : Impacket (secretsdump.exe)
– b434df66d0dd15c2f5e5b2975f2cfbe2 : Lsass Dump (dump.exe)
– f4ace89337c8448 f13d6eb538a79ce30 : fscan (rdp.exe)
– 5e0845a9f08c1cfc7966824758b6953a : fscan (fscan64.exe)
– e981219f6ba673e977c5c1771f86b189 : WebShell (shell.jsp)
– 85a6e4448f4e5be1aa135861a2c35d35 : WebShell (temp.jsp)
– 21c7b2e6e0fb603c5fdd33781ac84b8f : WebShell (update.jsp)
– 1a0c704611395b53f632d4f6119ed20c : BlueShell – 国内攻击案例 (hh64.exe)
– 4eb724cc5f3d94510ba5fc8d4dba6bb6 : BlueShell – 国内攻击案例 (hh64.exe)
– 47fc0ecb87c1296b860b2e10d119fc6c : Frpc – 国内攻击案例 (svchosts.exe)
– 2ed0a868520c31e27e69a0ab1a4e690d : Dropper – 韩国上传 (tmp, rpcd)
– 985000d076e7720660ab8435639d5ad5 : BlueShell – 韩国上传 (exe)
– 425c761a125b7cb674887121312bd16c : BlueShell – 中国上传 (/tmp/kth)read)
– 3f022d65129238c2d34e41deba3e24d3 : Dropper – 泰国上传 (orbds)
– 30fe6a0ba1d77e05a19d87fcf99e7ca5 : BlueShell – 泰国上传 (/tmp/.ICECache)
C&C
– aa.zxcss[.]com:443 : Frpc – 达尔比特
– 121.127.241[.]117:20001 : BlueShell – 国内攻击案例
– lt.yxavkb[.]xyz:80 – Frpc – 国内攻击案例
– 20.214.201[.]166:443 : BlueShell – 上传自中国 –
– 202.87.223[.]124:443 : BlueShell – 泰国上传
转载来源:https://asec.ahnlab.com/ko/56715/
图片来源网络侵权可联系删除