X

黑客组织TA505又有新行动,开始传播SDBbot新型远控木马

在上个月,网络安全公司Proofpoint的研究人员观察到黑客组织TA505发送了大量的垃圾电子邮件,旨在传播一种名为“Get2”的下载程序,进而在受感染计算机下载并安装远控木马。

在这些远控木马中,我们不乏看到一些“老朋友”,如FlawedGrace、FlawedAmmyy和Snatch,但也迎来了一个“新朋友”——名为“SDBbot”的新型远控木马。

TA505近期活动概述

9月9日,Proofpoint公司的研究人员观察到TA505开始使用Get2作为初始下载器。

起初,Get2下载的有效载荷大多为FlawedGrace和FlawedAmmyy,但从10月7日开始,一种名为“SDBbot”的新型远控木马开始被下载。

除新的远控木马外,TA505在其他方面也进行了创新:

  • 发送的垃圾电子邮件数量大多为每天数万或数十万封,但有时会达到数百万封;
  • 针对金融机构与针对其他垂直领域的活动交替进行;
  • 攻击目标列表新增加了希腊、德国和美国乔治亚州;
  • 为Get2下载程序使用了新的Microsoft Office宏。

图1.9月和10月与Get2和SDBbot联系在一起的活动

9月活动分析

9月9日,Proofpoint公司的研究人员观察到数以万计携带Microsoft Excel附件的垃圾电子邮件被发送给了希腊、新加坡、阿联酋、美国乔治亚州、瑞典、立陶宛和其他一些国家的金融机构。

电子邮件大都使用了如下主题和附件名称:

  • 主题“HPE INV-02 - Invoice and documents”,附件“hpe_s_hp-inv_02[.]xls”;
  • 主题“Need to Apply”,附件“dc123456[.]xls”;
  • 主题“Παραστατικό”,附件“business cloud invoice no142 09-09-2019[.]xls”;
  • 主题“ΣΤΕΛΙΟΣ ΠΡΟΤΙΜΟΛΟΓΙΟ”,附件“προτιμολογιο[.]xls”。

图2.恶意Microsoft Excel附件示例(英语版)

图3.恶意Microsoft Excel附件示例(希腊语版)

但奇怪的是,除了Get2被安装,研究人员并没有观察到任何后续有效载荷被下载及安装。

9月20日,Proofpoint公司的研究人员观察到数十万封携带有Microsoft Excel和ISO附件的垃圾电子邮件被发送给了美国和加拿大的一些企业。

电子邮件大都使用了如下主题和附件名称:

  • 主题“Reçu de paiement (facture 12345) ”,附件“facture_no_432478_v2[.]xls”;
  • 主题“Account opening form”,附件“formulaire_01234.iso" (ISO contains an Excel file such as"0920_0123456[.]xls”。

被安装的下载程序仍然是Get2,但此次它下载并安装了FlawedGrace。

图4.垃圾电子邮件示例(ISO附件)

图5. 恶意Microsoft Excel附件示例(法语版本)

10月活动分析

10月7日,垃圾电子邮件不再携带恶意Microsoft Excel附件,而是将恶意短连接添加在正文中,目标是美国企业。

点击短链接,会被重定向到一个登陆页面,而登录页面又链接到一个名为“request[.]xls”的恶意Microsoft Excel文件。

也是从这时开始,Get2下载程序开始下载SDBbot。

图6.带有恶意短连接的垃圾电子邮件示例

图7.以Dropbox为主题的登陆页面

图8.恶意Microsoft Excel文件,旨在诱使用启用宏

恶意Microsoft Excel文件分析

Get2(xl\embeddings\oleObject1[.]bin)作为对象被嵌入在恶意Microsoft Excel文件中,通过宏提取并执行:

  • 复制恶意Microsoft Excel文件到%TEMP%目录;
  • 使用“ReadAndWriteExtractedBinFile”函数提取oleObject1[.]bin中的DLL,并复制到%APPDATA%目录;
  • DLL加载LoadLibraryA,导出的函数(Get2)由宏运行。

执行所有这些操作的宏代码如下:

图9.与Get2下载程序结合使用的宏代码片段

Get2下载程序分析

Get2是一种采用C ++编写的下载程序,在9月和10月的活动中使用了不同的命名,如Amway、Hadno、Seven和Wakeup。

它的功能之一是收集基本的系统信息,并通过HTTP POST请求将其发送到硬编码的命令和控制(C&C)服务器:

图10.C&C请求示例

POST数据包含以下参数:

  • D—计算机名;
  • U—用户名;
  • OS—Windows版本;
  • PR—进程列表。

收到的C&C服务器的响应示例如下:

图11. C&C服务器响应示例一

图12. C&C服务器响应示例二

SDBbot远控木马分析

远控木马SDBbot同样采用C++编写,由三个部分组成:安装程序组件、加载程序组件和RAT组件。

安装程序组件

安装程序组件将RAT组件存储在注册表中,并为加载程序组件建立持久性。

在Proofpoint公司研究人员分析的样本中,安装程序组件被命名为“SdbInstallerDll[.]dll”,大部分字符串和数据都经过了XOR编码处理(使用硬编码的128字节密钥)。

根据用户权限,安装程序组件会在HKEY_LOCAL_MACHINE或HKEY_CURRENT_USER中的“\SOFTWARE\Microsoft\<随机3字符注册表子项>[随机1字符值名称]”处创建一个注册表值,而二进制Blob就存储在该值处,并具有如下结构:

  • 版权声明(“Copyright (C) Microsoft Corporation.”);
  • 加载程序shellcode(作为函数存储在安装程序组件中);
  • 由“<来自注册表子项的3个随机字符> 0INIT”组成的字符串;
  • 压缩的RAT有效载荷(存储在安装程序组件的“.data1”PE部分中)。

如果bot以常规用户特权运行,则使用注册表“Run”方法建立持久性,加载程序DLL组件将被写入“%APPDATA%\mswinload[.]dll”,并在“Run”子键上添加一个“mswinload”值,以使用rundll32[.]exe执行序数1。

如果bot在Windows 7之前的Windows版本上以管理员权限运行,则使用注册表“mage file execution options”方法建立持久性。加载程序DLL组件将被写入“%SYSTEM%\mswinload0[.]dll”,并为“winlogon[.]exe”添加值“VerifierDlls”。

如果bot在Windows XP或Windows 7上以管理员身份运行,则使用application shimming建立持久性。创建一个shim数据库(SDB),以使用加载程序代码修补services[.]exe,然后使用services[.]exe进行安装:

图13.由SDBbot创建的shim数据库(SDB)示例

值得注意的是,三种方法都需要受感染计算机重启后才能生效。

加载程序组件

在Proofpoint公司研究人员分析的样本中,加载程序组件被命名为“RegCodeLoader[.]dll”,并以“mswinload[.]dll”或“mswinload[.]dll”保存到硬盘上。

它首先会读取存储在注册表中的二进制Blob,并开始执行存储在注册表中的加载程序shellcode,而Shellcode则会解压缩RAT有效载荷,然后加载并执行DLL。

RAT组件

在Proofpoint公司研究人员分析的样本中,RAT组件被命名为“BotDLL[.]dll”。它具有一些典型的RAT功能,如命令shell、录屏、远程桌面、端口转发和文件系统访问。

SDBbot将其C&C存储在纯文本字符串或文件(“ip.txt”)中,通过TCP端口443使用纯文本协议,会话示如下:

图14:SDBbot C&C协议示例

Bot通过发送和接收确认DWORD: 0xC0DE0000来开始通信,然后上传基本的系统信息:

  • Ver—恶意软件版本;
  • domain—域名;
  • pc—计算机名称;
  • geo—国家/地区代码;
  • os—Windows版本;
  • rights—用户权限;
  • proxyenabled—是否配置了代理。

收到系统信息后,C&C服务器将以命令DWORD进行响应。

图15.部分使用48字节数据结构的命令

这些命令包括:

2—从C&C获取子命令:

  • “cmd”—启动一个cmd[.]exe shell;
  • “shutdown_pc”—关机;
  • “reboot”—重新启动;
  • “sleep utc”—设置休眠时间;
  • “video online”—获取现有视频或创建新的视频数据结构;
  • “video stop”—在视频数据结构中设置一个“停止”事件;
  • “rdpwrap install”—启用RDP;
  • “rdpwrap uninstall”—卸载已安装的RDP Wrapper;
  • “portforward”—在目标主机和端口以及C&C之间设置代理;
  • “run”—通过cmd[.]exe执行命令;
  • “runreflective”—从C&C下载DLL,将其注入到新创建的rundll32[.]exe,然后进行加载;
  • “keep_bot_online on”—设置一个flag和休眠超时时间
  • “keep_bot_online off” —关闭flag并设置休眠超时时间为0。

4—发送数据结构的编号、类型和索引;

5—如果启用了shell或视频录制,则将shell输出或屏幕截图发送到C&C;

11—发送命令shell数据结构的编号、索引和标记;

12—将命令写入shell;

13 / 32—创建一个新的空数据结构,并将其索引发送给C&C;

14—清理并删除现有数据结构;

15—写文件;

23—获取驱动器信息或目录列表;

24—读文件;

25—创建目录;

26—删除文件;

27—清理并删除所有数据结构;

31—尚不明确具体功能。

结论

近两年来,TA505的活动规模开始变得越来越多大,使用过的恶意软件包括下载程序、远控木马、信息窃取程序和银行木马等。

从今年9月份开始,TA505启用了他们的新武器——Get2下载程序和SDBbot远控木马,同时攻击目标也从以往的金融行业扩展到了其他垂直领域。

从目前来看,TA505似乎仍会继续沿着“赚钱”这条道路,一直走下去。