一款针对国内用户的多阶段Rust加载器分析
字数 2549 2025-12-16 12:09:35
多阶段Rust加载器技术分析与防御指南
概述
本文分析一款针对国内用户的多阶段Rust加载器,该样本携带国内数字签名,运行后释放多阶段木马,最终在内存中加载AsyncRAT远控木马。该样本具有高度隐蔽性和反检测能力,通过多种技术手段实现持久化驻留。
样本基本信息
初始加载器 (hgreiwwm7.exe)
- 文件大小: 13094664字节
- 文件版本: 52.17.70.40
- MD5: 537aa066a497005e6a0b116a58b91097
- SHA-256: 5834d20cfc80f6fe20514b7a1e3e9764765aa3f548e2874504e9d26345f80560
- 数字签名: Wenzhou Feixun Internet Technology Co., Ltd.
数字签名异常行为
分析过程中发现数字签名状态变化:
- 初始状态:Signed file, valid signature(文件已签名,签名有效)
- 后续状态:A certificate was explicitly revoked by its issuer(证书已被颁发机构明确撤销)
技术分析细节
第一阶段:文件释放与执行
释放路径
C:\Users\admin\AppData\Roaming\Microsoft\SystemCertificates\239c4b63_19bc_445e_8761_bfbe3626e0bc.dll
执行方式
使用regsvr32.exe加载DLL:
regsvr32.exe /s /u "239c4b63_19bc_445e_8761_bfbe3626e0bc.dll"
参数说明:
/s: 静默模式/u: 卸载,调用DllUnregisterServer函数
第二阶段:DLL模块分析
文件信息
- 文件名称: 239c4b63_19bc_445e_8761_bfbe3626e0bc.dll
- 文件大小: 4657008字节
- SHA-256: 81e73894d42a66f9d280d4b972d01a3c1ac183d30fd7b045f399abbc924ad916
Rust语言特性与字符串加密
加密算法
样本采用ChaCha20Poly1305算法加密所有字符串:
密钥:
9F80A116F20535761EC9BB91CC406987B981A2AC7E3A709BAE83C8A512F8FAE4
IDA Python解密脚本
# -*- coding: utf-8 -*-
import idautils
import idaapi
import idc
import struct
import binascii
from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
# 内置密钥(32字节)
KEY = bytes.fromhex("9F80A116F20535761EC9BB91CC406987B981A2AC7E3A709BAE83C8A512F8FAE4")
def chacha20_decrypt(ciphertext, key, nonce, initial_counter=0):
if len(key) != 32:
raise ValueError("Key must be 32 bytes")
if len(nonce) != 12:
raise ValueError("Nonce must be 12 bytes")
result = bytearray()
pos = 0
counter = initial_counter
while pos < len(ciphertext):
block = chacha20_block(key, counter, nonce)
counter += 1
remaining = len(ciphertext) - pos
# 解密逻辑实现...
解密字符串列表
样本中解密出的关键字符串包括系统API、文件路径、进程名等:
ntdll, RtlCaptureContext, NtContinue, Advapi32, SystemFunction032,
kernel32.dll, VirtualProtect, WaitForSingleObject, SetEvent,
BgTaskRegistrationMaintenanceTask, regsvr32, SystemCertificates,
360tray.exe, zhudongfangyu.exe
持久化机制
计划任务创建
样本创建两个计划任务实现持久化:
-
BgTaskRegistrationMaintenanceTask:
regsvr32.exe /s /u "%APPDATA%\Microsoft\SystemCertificates\239c4b63""19bc""445e""8761""bfbe3626e0bc.dll" -
QihooGetWordSearchFatch:
C:\ProgramData\sihost.exe /s /u C:\Users\admin\AppData\Roaming\Microsoft\SystemCertificates\239c4b63""19bc""445e""8761""bfbe3626e0bc.dll
数据文件操作
创建数据文件:C:\Users\admin\0f12fc8e.dat
- 用于存储加密的载荷数据
- 从中提取DLL文件路径信息
进程注入与内存操作
Shellcode注入
- 使用xor_decrypt函数解密shellcode
- 注入目标进程:taskhostw.exe、SecurityHealthSystray.exe、sihost.exe
- 特殊行为:注入sihost.exe时重启资源管理器
提取的PE文件
从shellcode中提取schedJump.exe:
- 文件大小: 12800字节
- SHA-256: 3bfb2437d9104775d3c1e47c8021edff51c143c6f4a749b1de8aab2df0c26ff2
内核级Hook技术
LdrLoadDll函数Hook
- 拦截DLL加载过程
- 实现代码注入和模块隐藏
反检测机制
安全软件检测
检测360安全软件进程:
- 360tray.exe
- zhudongfangyu.exe
进程终止
终止特定进程以消除干扰:
wiawow64.exe, winrshost.exe, wksprt.exe, wuapihost.exe, raserver.exe
第三阶段:.NET程序加载
内存转换技术
- regsvr32.exe和DLL初始为C++程序
- 运行后转换为.NET程序内存空间
- 实现技术:内存加载和反射技术
Kxhxxsutofr.exe分析
- 文件大小: 573952字节
- SHA-256: c8dccb63ec5e0ed5343d46bbebcc6f9b85599bb6a99dd962e12f2ea2678a136c
最终载荷:Apoom.dll
文件信息
- 文件大小: 1291264字节
- SHA-256: ff66bd39822a1b58e4d9d555f0f90efbff722270999ac1d76327fb9373826d6f
- 加壳方式: .NET Reactor
配置信息提取
C2服务器:
- 地址: 118.107.40.167:56001
证书数据:
MIIE5jCCAs6gAwIBAgIQAJpwd6FPpg/xol68eQyHozANBgkqhkiG9w0BAQ0FADAUMRIwEAYDVQQDDAlMb3pyZnlrcmQwIBcNMjUwMjE5MDA1NTE4WhgPOTk5OTEyMzEyMzU5NTlaMBQxEjAQBgNVBAMMCUxvenJmeWtyZDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAI6vY/pxOu2TZ2F6DAyNe3gIACi1UUp4oxGHj+ivr6Be36itKh1yor/oIHbkAre7pc/E4PgOQMR9Ode6jgHeVmfa9QdWMEW978JF+GFP8xWGo+9j2Zq1gOsMW6Q2S/6GDJAGTvg2S+2kznUTtP8Tnq97PoL2EiUr3r4IYEDYNRZk7dlFL6+Wa0yEV1rLrYJI6xS/ARXIXgB/ukoXGXAqZwPa4QA9Q0WRBlda134xAGs8nR0RWVYxwBuC6bL3B6/wGppo9bV9L9iIJhGBIrsVK3l+abZhwpcZGneyG9AoBJ6WbIsapTBxZqF7lGvGOWF8e5j9PNv3SBMzqO9LvTcnt84SlZ1/n9DA/34oFrretJANOqpvZJZUSpA6fo5xtRHmV4aihoioF70yXVMzpW0FVTneK3GkGkJ+6QYz6tnLf0JoWe3TYWRvom2aEpDYek8lhV+GQlf288z6sjZ9ZDS5d4/+FV883AIU6MS2PavVUvOpaaT/lZkGQ2P0ybJUBvtMAvOC7Xrsie4QyeLjZnpGplUdeJU6WuvuR8gzVY+dHnIJ7Hm2bH6UhleKWVhY93kTS6NctT1JQ/q2EO4Wjnhih68YmkNJrATwvZdOqbVE4saGlO2JI+lWtb5Ds3KqyyaLkeZD9XO14VrpevSJLbu457X9az2iLRjCN4/xDMiR3u6rAgMBAAGjMjAwMB0GA1UdDgQWBBSYbdVK2VAREbn1BK91rUODVVAIfjAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBDQUAA4ICAQCIQrLzx7D2gq7pbFkYwtrYqUuux12JwQwZ4EtWGU98sbhIyg4DpJ56jArUNRjTm2hBo1mUrTwOELm0dICQuzK3MNaeQ0qtfaTfHiC+vZN+3LlhV/H0SNSQneJllEDNC2y1WZvbFgkTHmbpHweGlnwqYHIrwYUPCGaR/95aoCIwc2V/viRJ1QAScc5SuamFFyjfRoe3piAE49Z7njqhYQTNHtUUuXALYC4i6F1NWuuK8FTQb6bwZoRA2Y6yFexuRB05P1M7f43fv0VY+61WqSs+5CPMKIRb8w1S9eCp1Y9ZsIWjXysLnJyL+7zaApkVypHnIsjFaTjZTauzPSVud7djVoTZeXyNOuIW1XgiO4Yu+QiIlXN3vBafd3wJI23zczXMmoUBS/t4FZGVmC0tJkL+Tzr150qB913DMKelch61XjGJB5EiROxvOddTdpyidJc92JU/yJmARyRhoetBd+UyzFqguJ7jI+jGbm68iiLGN7Ejinc/rAX03gsBT2uI3NKmMoSFnsKcf4Ecgc0iejJREBVT0h04SDPDUGBkHC3uCGsiXKakcS9llEfOKrv8LrNng5XXhzxpENiRNzafdXsgZY/+Q8udYRZoYHHKKgn8gp59Bpf55LLWU9ZasJhaRCY7bI8Mg9u6RinpdoxfgOKgfaO2VaJLkn8IQXcQwmxT9Q==
证书解码CN值:Lozrfykrd
家族归属分析
根据技术特征和网络情报关联:
- ResolverRAT家族: 基于证书CN值Lozrfykrd确认
- AsyncRAT关联: 微步沙箱检测结果和网络分析报告确认关联性
防御检测建议
行为检测指标
-
文件路径监控
%APPDATA%\Microsoft\SystemCertificates\异常DLL文件- 用户目录下的.dat数据文件创建
-
进程行为监控
- regsvr32.exe异常参数调用
- 计划任务创建包含Qihoo和SystemCertificates关键词
-
网络通信检测
- 与118.107.40.167:56001的通信行为
- TLS证书CN值Lozrfykrd的检测
技术对抗措施
-
字符串加密对抗
- 监控ChaCha20Poly1305算法特征
- 检测内存中的密钥
9F80A116F20535761EC9BB91CC406987B981A2AC7E3A709BAE83C8A512F8FAE4
-
内存检测
- .NET程序内存加载特征监控
- LdrLoadDll函数Hook检测
-
持久化检测
- 计划任务名称特征检测
- 注册表异常项监控
IOC指标
文件HASH
hgreiwwm7.exe: 5834d20cfc80f6fe20514b7a1e3e9764765aa3f548e2874504e9d26345f80560
239c4b63_19bc_445e_8761_bfbe3626e0bc.dll: 81e73894d42a66f9d280d4b972d01a3c1ac183d30fd7b045f399abbc924ad916
schedJump.exe: 3bfb2437d9104775d3c1e47c8021edff51c143c6f4a749b1de8aab2df0c26ff2
Kxhxxsutofr.exe: c8dccb63ec5e0ed5343d46bbebcc6f9b85599bb6a99dd962e12f2ea2678a136c
Apoom.dll: ff66bd39822a1b58e4d9d555f0f90efbff722270999ac1d76327fb9373826d6f
November bill.exe: 01f844ca8f535c4fe372d4e6f256ad60d08e795939ce212d519e239e490c74c1
网络指标
- C2地址: 118.107.40.167:56001
- 证书CN: Lozrfykrd
行为指标
- 数字签名: Wenzhou Feixun Internet Technology Co., Ltd.
- 计划任务名: BgTaskRegistrationMaintenanceTask, QihooGetWordSearchFatch
- 进程名: 360tray.exe, zhudongfangyu.exe(检测目标)
本教学文档详细分析了该多阶段Rust加载器的技术实现和防御方案,为安全研究人员提供完整的技术参考和实战指导。