标签 样本投递 下的文章


概述

2025年12月,笔者曾曝光了一款冒用国内数字签名的恶意软件。该恶意软件运行后,将创建计划任务并检测360安全软件进程,并最终在内存中释放AsyncRAT远控木马。

近期,笔者再次关注到该恶意软件的新动向,并捕获了多起采用相同投递手法的攻击样本,其最终目的均为部署AsyncRAT远控木马。

进一步分析,笔者发现此次活动中释放的AsyncRAT木马与此前样本一致,但攻击者在反编译对抗和投递机制方面进行了显著优化:

一方面移除了此前使用的Rust加载器中的程序符号信息,大幅提升了逆向分析的难度;

另一方面对样本投递流程进行了改进,有效降低了后续载荷被直接暴露的风险;

这些变化从侧面反映出,攻击者在规避安全检测与对抗分析方面的能力正在持续增强。

December bill.exe

文件名称:December bill.exe
文件大小:13301800 字节
文件版本:73.75.9.29
修改时间:2026年1月7日 02:07:56
MD5 :CE5BE389732F7A563BF36859D7AA8A8B
SHA1 :B864BBA28EF44433DCBB8799E1820C9EF807FF48
SHA256:eb2df1ba4f3b1a8681594ddcfe605c38749fd6e723bbe5c60dc885d03da0f578

数字签名

通过分析,发现此样本携带了国内数字签名:Leshan Huilai Technology Co., Ltd.(乐山惠徕科技有限公司)

数字签名截图如下:



virustotal平台,样本1月7日数字签名信息如下:



virustotal平台,样本当前数字签名信息如下:



释放并运行文件

通过分析,发现此样本运行后:

将在C:\Users\admin\AppData\Roaming\Microsoft\SystemCertificates\目录释放3935c380_75af_4684_899f_24aee004046f.dll(原始文件名为jhatup.dll)

使用regsvr32.exe程序调用执行3935c380_75af_4684_899f_24aee004046f.dll文件,执行参数为:"regsvr32.exe /s /u "C:\Users\admin\AppData\Roaming\Microsoft\SystemCertificates\3935c380_75af_4684_899f_24aee004046f.dll"

相关截图如下:





jhatup.dll

文件名称:jhatup.dll
文件大小:1709568 字节
文件版本:51.45.71.58
MD5 :CB5BDD69A2D60EFF9CC59A1AD27D10A0
SHA1 :D3C5A4598491477C886C3F15502548D86D67E787
SHA256:ef6292037ef9592510817f6e0265e8754a26ca752d06ba280a7950151a990b62

PDB信息

通过分析,提取样本PDB信息为:secondstage.pdb

备注:此系列恶意软件均存在此PDB字符串特征

相关截图如下:



rust语言

通过分析,发现此样本字符串中携带了大量的rs后缀文件路径,确定此样本是一款rust语言编写的样本程序。

相关截图如下:



解密函数

通过分析,发现此样本运行过程中,将调用字符串解密函数解密提取字符串数据。

相关代码截图如下:





解密字符串

由于此样本是一款rust语言程序,因此,直接对其进行分析,肯定会遇到很多不相关的rust语言库函数。

因此,笔者准备从加密字符串入手,着手将样本中所有字符串解密,即可有效提升分析效率。

在对加密算法进行剖析的过程中,笔者发现此样本的加密算法与笔者上个月发布的《一款针对国内用户的多阶段Rust加载器分析》文章中的加密算法相同。

因此,在这里,笔者直接使用《一款针对国内用户的多阶段Rust加载器分析》文章中的IDAPYTHON解密脚本,即可批量解密此样本的加密字符串数据。

解密算法信息如下:

解密算法:chacha20poly1305

内置key为:2EC14FBBC0CEA81AB741766399A9B82CAEA7413286285610D6E155E1CD55C156

加密数据和nonce值均由解密函数传递

解密效果如下:



解密shellcode1

基于代码逻辑,尝试解密提取用于taskhostw.exe、SecurityHealthSystray.exe、sihost.exe进程注入的shellcode1载荷,异或解密密钥为:ED90E21D0C6806EA823E354F52C295E0E0B5E170BAC7F67B355F87F35BACC1F1

成功解密shellcode1载荷后,发现shellcode1载荷中携带了一个PE文件(schedJump.exe)。

进一步分析,发现schedJump.exe样本功能与《一款针对国内用户的多阶段Rust加载器分析》文章中的样本功能相同,样本信息如下:

相关代码截图如下:



解密截图如下:



schedJump.exe样本反编译截图如下:



解密shellcode2

基于代码逻辑,尝试解密提取用于内存解密加载Apoom.dll文件的shellcode2载荷,异或解密密钥为:6EB692F1A46F72BCE2992BF3178FEB7C8E2B20A4B3377267FF8EB22CA8F7A6A3

成功解密shellcode2载荷后,发现shellcode2载荷中携带了一个PE文件(Kxhxxsutofr.exe)。

进一步分析,发现Kxhxxsutofr.exe样本功能与《一款针对国内用户的多阶段Rust加载器分析》文章中的样本功能相同,解密释放的Apoom.dll样本MD5相同。

Kxhxxsutofr.exe样本信息如下:

相关代码截图如下:



解密截图如下:



Kxhxxsutofr.exe样本内存加载Apoom.dll样本的代码截图如下:



Kpay Bill Details.exe

样本释放文件路径为"C:\Users\admin\AppData\Roaming\Microsoft\SystemCertificates\111a3c5c_520e_4680_97eb_a46bafd2ecb7.dll"

111a3c5c_520e_4680_97eb_a46bafd2ecb7.dll文件的原始文件名为:petoshka.dll

相关截图如下:





petoshka.dll

解密字符串

字符串解密密钥为:7BC72372AF7C17373C38A7FB8C3C7B757F16CEB024B7092E91815981C1718E04

相关截图如下:



解密shellcode1,shellcode1中携带了schedJump.exe样本

异或解密密钥为:909BA558A217476AE19E1AC126F6F0C8CA63459DDC4A413D6CB7F6B8EAFFF62C

相关截图如下:



解密shellcode2,shellcode2中携带了Kxhxxsutofr.exe样本

异或解密密钥为:7B6E2126CB29AEF8DCF82CF50A69E3C44CF3BF60F14D0BCE119BF11BBA49B9B7

相关截图如下:



schedJump.exe

schedJump.exe样本功能与上述样本功能相同。

相关代码截图如下:



Kxhxxsutofr.exe

Kxhxxsutofr.exe样本功能与上述样本功能相同,内存解密的Apoom.dll样本MD5相同。

样本内存加载Apoom.dll样本的代码截图如下:



升级对比

对抗样本反编译

通过分析,对比此次安全事件中的样本与《一款针对国内用户的多阶段Rust加载器分析》文章中的样本,发现此次安全事件中的样本在对抗样本反编译角度做了优化升级:

《一款针对国内用户的多阶段Rust加载器分析》文章中的样本携带了符号信息;

此次安全事件中的样本未携带符号信息,在不了解前期样本的情况下,分析难度其实还是比较大的;

《一款针对国内用户的多阶段Rust加载器分析》文章中的样本反编译代码截图如下:



此次安全事件中的样本反编译代码截图如下:



载荷投递流程

通过分析,对比此次安全事件中的样本与《一款针对国内用户的多阶段Rust加载器分析》文章中的样本,发现此次安全事件中的样本在载荷投放方式上做了优化升级:

《一款针对国内用户的多阶段Rust加载器分析》文章中的样本中携带了压缩包文件,压缩包文件解压后即为shellcode2加密载荷,异或解密后即为实际shellcode2载荷内容;

此次安全事件中的样本直接携带了shellcode2加密载荷,异或解密后即为实际shellcode2载荷内容;

《一款针对国内用户的多阶段Rust加载器分析》文章中的样本截图如下:





此次安全事件中的样本截图如下:



IOCs