一、概述

近期,有用户反馈公司内部邮箱收到了恶意投递的钓鱼邮件,天穹沙箱团队立刻紧急响应此事件。经分析,该样本将自身伪装为桌面微信程序,使用PyInstaller打包试图绕过EDR检测,最终加载ValleyRAT的载荷。ValleyRAT是一种远程访问木马(Remote Access Trojan, RAT),它允许攻击者远程控制受感染的计算机系统,通常通过钓鱼邮件、恶意附件或软件漏洞传播,一旦安装在受害者的设备上,就能够执行多种恶意活动。结合近期攻击事件推断,此样本与银狐组织活动有关,样本使用的诸多手法与该组织相符合。下面结合天穹沙箱分析结果对该样本进行详细分析。

二、样本信息

  • 样本名:finish.exe
  • SHA1:22642268e52f42cc0219eeaf43b22fd5508bfc7b
  • 文件类型:EXE
  • 文件大小:12.73 MB
  • 样本家族:ValleyRAT
  • 报告链接:天穹沙箱分析报告

三、样本分析

该样本使用微信图标作为伪装图标,误导用户认为是微信安装包,如图1所示,沙箱报告的样本详细信息部分展示了图标提取结果。

image-20250318161256297

图1 伪造图标

第一阶段

该样本使用PyInstaller打包,其打包Python版本为Python 3.8.0,反编译后得到混淆的Python代码,如图2所示,这是样本的第一阶段Payload。

image-20250318161942234

图2 反编译代码

人工反混淆耗时费力,我们使用TQ-GPT对代码行为进行解读,总结该阶段Payload的关键行为有以下几点。

  1. 环境检测:
    • 使用IsDebuggerPresent检测调试器
    • 检查系统语言是否为中文(语言代码2052)
    • 通过WMI检测虚拟机/容器环境(关键词virtual/vmware等)
    • 检测安全软件进程(如AcrylicService.exe
  2. 持久化
    • 创建计划任务,伪装成日志归档任务(每月1日2:00AM执行)
    • 使用系统服务名称svchost.exe进行伪装
  3. 隐蔽执行
    • AES+Base64双重加密的Payload动态解密执行
    • 将自身复制到C:\ProgramData\系统目录
    • 创建伪造的svchost.exe程序
    • 使用subprocess.Popen启动新进程后自删除原始文件
  4. 反取证能力
    • 重复三次执行删除原始文件的命令(del /F /Q)确保清除痕迹
    • 异步延迟操作(asyncio.sleep)规避行为监控
  5. 混淆技术
    • 所有变量名使用随机字符串混淆
    • 关键函数通过exec动态执行解密后的代码

在报告的动态行为类目部分可以找到与上述关键行为对应的记录,如下所示:

  • 调用WMI获取系统信息,如图3所示:
    image-20250318164937228

    图3 调用WMI获取系统信息
  • 创建伪造的svchost.exe程序,如图4所示:
    image-20250318164656519

    图4 创建伪造的svchost.exe
  • 写入计划任务,如图5所示:
    image-20250318165122134

    图5 写入计划任务
  • 重复三次执行删除原始文件的命令(del /F /Q)确保清除痕迹,如图6所示:

    image-20250318165420462
    图6 使用cmd命令删除原始文件

第二阶段

样本的二阶段Payload使用Base64编码,并调用exec执行。通过对其解密,获得了第二阶段Python代码,如图7所示。

image-20250318163030844

图7 二阶段Payload

上述代码逻辑比较清晰,依次通过AES → XOR → Base64解密Shellcode,分配内存后将Shellcode拷贝至内存,最后执行Shellcode,这是标准的Shellcode执行流程。

在报告动态行为部分可以看到沙箱检测到Shellcode执行行为,如图8所示,利用的回调函数 ffi_prep_go_closure 是一种涉及外部函数接口(FFI)的低级函数,通常与Libffi库相关,常用于Python、Go等语言调用C接口的场景。

image-20250318165641013

图8 执行Shellcode

第三阶段

通过对加密Shellcode进行解密,拿到第三阶段Payload,如图9所示:

image-20250318163836188
图9 三阶段Payload

深入分析此Shellcode,发现它实际是ValleyRAT远控程序的载荷,相关配置信息数据如图10所示。

image-20250318171631353

图10 ValleyRAT配置字段

使用解密脚本提取到以下配置信息,显示样本连接的C2地址是45.204.201.140[:]6666

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"c2": "45.204.201.140:6666",
"dd": 1,
"cl": 1,
"fz": "默认",
"bb": "1.0",
"bz": "2025. 3.14",
"jp": 0,
"bh": 0,
"ll": 0,
"dl": 1,
"sh": 0,
"kl": 0,
"bd": 0
}

动态行为部分也提取到了样本与45.204.201.140[:]6666建立连接的网络行为,如图11所示,连接的C2地址与提取的配置信息一致。

image-20250318172611467

图11 连接C2地址

在流量数据中可以看到样本与C2服务器的通信内容如图12所示,反复出现的6666与其他银狐样本行为相似。

image-20250318180921263

图12 C2通信

四、溯源拓线

总结近期活跃的APT样本,发现该样本所使用的ValleyRAT最近被银狐组织广泛使用,该样本的通信流量特征(流量中反复出现6666)和采用二段式上线等行为,与多个已定性银狐样本高度相似,如图13所示,可确定该样本由银狐组织投递。

image-20250318180752384

图13 流量对比

此外,样本C2地址IP归属于中国香港,且该地址并未关联更多样本,推测此次攻击是针对特定企业的定向钓鱼攻击。

五、 IOC

恶意文件(SHA1)

1
2
22642268e52f42cc0219eeaf43b22fd5508bfc7b        样本哈希
2012b9c63466fa55a1b17c3bf9dbb1621efb77bf ValleyRAT载荷哈希

恶意IOC

1
45.204.201.140[:]6666                           ValleyRAT C2地址

报告链接

分析报告:天穹沙箱分析报告

截至发稿时,样本C2地址仍存活,尚未被主流TI平台标记,请务必注意防范。

image-20250318181856704

图14 VT等平台尚未标记此IP

六、技术支持与反馈

星图实验室深耕沙箱分析技术多年,致力于让沙箱更好用、更智能。做地表最强的动态分析沙箱,为每个样本分析人员提供便捷易用的分析工具,始终是我们追求的目标。各位同学在使用过程中有任何问题,欢迎联系我们。

code


天穹沙箱支持模拟14种CPU架构的虚拟机,环境数量50+,全面覆盖PC、服务器、智能终端、IoT设备的主流设备架构形态。在宿主机方面,除了Intel/AMD的x86架构CPU和CentOS操作系统之外,天穹沙箱支持海光、飞腾、鲲鹏等x86、ARM架构国产CPU和银河麒麟、中科方德等信创操作系统。

天穹沙箱系统以云沙箱、引擎输出、数据接口等多种形式服务于公司各个业务部门,包括天眼、终端安全、态势感知、ICG、锡安平台、安服等。

天穹内网地址(使用域账号登录):https://sandbox.qianxin-inc.cn
天穹公网地址(联系我们申请账号):https://sandbox.qianxin.com