暗网上架Remcos远控木马最新变种,功能齐全、价格便宜

最近,FortiGuard威胁研究与响应实验室捕获到了几封垃圾电子邮件。初步分析表面,它们都旨在传播Remcos远控木马的一个新变种。

2016年下半年,Remcos远控木马开始在暗网交易市场公开售卖,并且支持定制服务。在过去的几年里,它经常被用作信息窃取器和键盘记录器。

通过在线搜索,我们可以看到Remcos到目前为止仍在出售。

图1. Remcos在线订购页面

垃圾电子邮件概述

垃圾电子邮件以“付款通知”为主题,旨在诱使收件人使用正文中的密码解压缩附件中的ZIP文件。

图2.垃圾电子邮件示例

ZIP文件包含一个Windows快捷方式(.lnk)文件,但它实际上是一个.txt文件,用于获取并执行一个PowerShell脚本。

图3. ZIP文件所包含的文件

第一阶段:充当Launcher和Downloader的payment-advice.txt.lnk

一旦收件人执行了“payment-advice.txt.lnk”,它就将使用临时跳过当前PowerShell执行策略的参数调用PowerShell解释器(PowerShell .exe),然后隐藏其窗口,以确保执行正常进行并保持隐蔽性。

图4.传递给PowerShell解释器的命令参数

第二阶段:充当Dropper的achremittance.ps1

下载的PowerShell脚本“achremittance.ps1”由6个函数组成,具体如下:

图5.组成“achremittance.ps1”的6个函数

一旦执行,它将执行如下操作:

1.将字符串“.exe”存储在一个以Base64编码的变量中,它最终将被解码并存储在变量中;

2.使用先前接收到的参数(“.exe”文件扩展名)、系统公用(%PUBLIC%)文件夹和一个随机字符串,生成可执行文件的绝对路径(C:\\Users\\Public\\.exe);

3.解码存储在变量中的Base64编码可执行文件,然后将所有字节写入可执行文件;

4.执行文件扩展名检查(.exe或.dll);

5.通过调用“Start-Process”PowerShell cmdlet启动释放的文件。

图6. Base64编码的可执行文件

第三阶段:可执行文件(Remcos)

一旦释放的可执行文件开始执行,它首先会休眠一段时间(20秒),以此来绕过沙箱检测。

接下来,可执行文件将被移动到%LocalAppdata%文件夹,并在首次运行时被重命名为“sysclient.exe”。

sysclient.exe将以挂起状态启动其自身子进程,然后用从父进程提取的恶意代码覆盖其代码。

最后,恶意代码将在子进程中执行,这种技术被称为“Process Hollowing”。

图7.首次运行Remcos时的流程树

sysclient.exe是采用NET Framework语言编写,所有代码都经过了混淆处理。

它会将自身添加到系统注册表的“自启动”组中。如此一来,当受感染设备重新启动时,它便可以随之启动。

图8. sysclient.exe将自身添加到系统注册表的“自启动”组中

子进程分析

FortiGuard威胁研究与响应实验室此次捕获的Remcos的版本为“2.5.0 Pro”,于2019年9月20日发布。

与先前的版本一样,它包含一个名为“SETTINGS”的加密资源文件夹。

图9.解密后的“SETTINGS”文件夹

如上图所示,资源文件夹包含有Remcos的所有配置数据,如C&C服务器主机、许可证编号、加密数据的密码、RAT功能的默认开关(“0”禁用、“1”启用)、在系统注册表中的主键名称等。

分析表明,Remcos会通过启动三个线程来启动键盘记录程序,日志数据保存在本地文件“%Appdata%\\remcos\\ logs.dat”中。

图10. logs.dat所包含的内容

Remcos支持的命令

Remcos支持许多控制命令,以便在受感染设备上执行各种任务,具体如下:

01-获取顶层窗口的标题;

03-收集所有已安装软件的信息;

04-从指定网址下载可执行文件并运行;

05-将数据包中的数据保存到本地文件中并执行;

06-收集所有正在运行进程的信息;

07-通过给定的PID终止正在运行的进程;

08-枚举所有窗口并获取标题;

09-根据给定的窗口句柄关闭窗口;

0A、0B、AD-根据给定的窗口句柄显示/隐藏窗口;

0C-通过给定的窗口句柄获取PID;

0D-执行给定的命令行命令;

10-处理jpeg流,并与C&C服务器通信;

11-关闭命令“10”中使用的套接字;

12-收集按键信息;

13-启动按键记录程序;

14-关闭按键记录程序;

15、16-通过给定的文件路径读取本地文件,然后上传到C&C服务器;

17-删除给定的文件或文件夹;

18-每5秒清除一次浏览器历史记录,如IE、Firefox、Chrome;

1B-与指定的C&C服务器通信,以控制受感染设备的摄像头;

1C-关闭受感染设备的摄像头;

1D-录音并上传到C&C服务器;

1E-停止录音;

20-删除指定文件;

21-退出Remcos进程;

22-卸载Remcos,并删除Remcos创建的所有注册表项;

23-执行vbs脚本“restart.vbs”,以实现Remcos的重启;

24、25-从指定网址下载文件,并以vbs脚本“update.vbs”执行该文件,以实现Remcos的更新;

26-在受感染设备上显示警告消息;

27-重启受感染设备;

28-获取受感染设备的剪贴板数据;

29、2A-清空受感染设备的剪贴板;

2B-在Remcos地址空间中创建一个共享内存,并将数据放入其中;

2C-从指定网址下载数据,并在Remcos地址空间中创建一个共享内存,然后将下载的数据放在上面;

30-连接到指定服务器并与之通信;

31-将一个名称保存在其主键下(“HKCU\\Software\\Remcos-CN7LIG\\”);

34-对指定服务执行服务控制(更改、暂停、停止或启动服务配置),然后将状态告知C&C服务器;

8F-枚举指定文件夹下的文件,并将文件名上传到C&C服务器;

92-使用指定文件修改受感染设备的桌面壁纸;

94-通过给定的窗口句柄修改窗口文本;

95-获取实时物理内存状态,并报告给C&C服务器;

98-从指定的C&C服务器下载文件,或上传文件到指定的C&C服务器;

9E、A2-在受感染设备上播放警报声;

A3-关闭受感染设备的声音;

AB-提升权限等级,并将结果告知C&C服务器;

AC-显示弹出菜单。