Ursnif木马分析: 隐写术万岁!
字数 1516 2025-08-06 08:35:35
Ursnif木马分析:隐写术与进程注入技术详解
一、Ursnif木马概述
Ursnif(又称Gozi)是当前最活跃的银行木马之一,起源于2014年泄露的Gozi-ISFB银行木马源代码。最新变种采用多种高级规避技术:
- 传播载体:通过伪装成Excel文档的恶意文件传播,内含虚假内容(如采购订单、发票)
- 触发机制:要求用户启用宏以查看"文档内容"
- 多阶段攻击:采用VBA宏→PowerShell脚本→二进制Payload的递进式攻击链
二、技术分析详解
1. 初始感染阶段(VBA宏)
地理定位检查:
Application.International ' 检测用户区域设置(意大利代码为39)
命令构造技术:
- 连接多个不同编码的字符串(主要使用十进制和二进制)
- 使用
Shell函数执行构造的命令 - 二进制字符串转换函数:
[Convert]::ToInt16() -as[char]
2. 隐写术应用
图像载体:
- 从以下URL下载包含隐藏Payload的PNG图像:
https://images2.imgbox[.]com/55/c4/rBzwpAzi_o.png https://i.postimg[.]cc/PH6QvFvF/mario.png?dl=1 - 使用
Invoke-PSImage脚本将PowerShell命令嵌入PNG像素中
Payload提取流程:
- Base64解码初始Payload
- 十六进制编码转换
- 使用
[Convert]::ToInt16函数最终解码
3. 第二阶段Payload下载
地理验证:
Get-Culture | Format-List -Property * # 再次确认受害者位于意大利
Payload获取:
- 下载URL:
http://fillialopago[.]info/~DF2F63 - 存储路径:
%TEMP%\Twain001.exe - 即时执行下载的EXE文件
4. 进程注入技术
注入目标:explorer.exe进程
注入方法:QueueUserAPC技术
- 优势:不创建远程进程,隐蔽性高
- 相关API:
QueueUserAPCSleepEx
C2通信:
- 使用
IWebBrowser.Navigate方法从felipllet[.]info下载数据 - 伪装成视频文件请求(.avi扩展名)
- 服务器返回加密数据
5. 持久化机制
注册表存储:
- 路径:
HKCU\Software\AppDataLow\Software\Microsoft\{GUID} - 关键值:
defrdisc:存储待执行的命令cmiftall:存储十六进制编码的PowerShell脚本
执行命令:
C:\Windows\system32\wbem\wmic.exe /output:clipboard process call create
"powershell -w hidden iex([System.Text.Encoding]::ASCII.GetString(
(get-itemproperty 'HKCU:\Software\AppDataLow\Software\Microsoft\94502524-E302-E68A-0D08-C77A91BCEB4E').cmiftall))"
6. 内存加载技术
DLL特征:
- 磁盘上显示为"损坏"状态
- 内存中通过APC注入技术可正常执行
- 具有极高的免杀率(分析时VT检测率为0)
三、防御与检测方案
1. YARA检测规则
import "pe"
rule Ursnif_201902 {
meta:
description = "Yara rule for Ursnif loader - January version"
author = "Yoroi - ZLab"
last_updated = "2019-02-06"
tlp = "white"
category = "informational"
strings:
$a1 = "PADDINGXX"
$a2 = { 66 66 66 66 66 66 66 }
condition:
all of ($a*) and
pe.number_of_sections == 4 and
(pe.version_info["OriginalFilename"] contains "Lumen.exe" or
pe.version_info["OriginalFilename"] contains "PropositionReputation.exe")
}
2. IOC指标
样本哈希:
- 旧样本:630b6f15c770716268c539c5558152168004657beee740e73ee9966d6de1753f
- 新样本:f30454bcc7f1bc1f328b9b546f5906887fd0278c40d90ab75b8631ef18ed3b7f
- 最终二进制:93dd4d7baf1e89d024c59dbffce1c4cbc85774a1b7bcc8914452dc8aa8a79a78
C2域名:
- pereloplatka[.]host
- roiboutique[.]ru
- uusisnfbfaa[.]xyz
- nolavalt[.]icu
- sendertips[.]ru
注册表路径:
HKCU:\Software\AppDataLow\Software\Microsoft\94502524-E302-E68A-0D08-C77A91BCEB4E
四、攻击流程图解
Excel文档(含宏)
↓
启用宏 → 地理检查 → 执行Shell命令
↓
下载含隐写Payload的PNG图像
↓
提取并执行PowerShell脚本
↓
二次地理验证 → 下载EXE加载器
↓
C2通信获取加密数据
↓
注册表持久化
↓
QueueUserAPC注入explorer.exe
↓
内存加载恶意DLL
五、防护建议
- 宏安全:禁用Office文档中的宏执行,或设置为仅允许受信任位置的宏
- 进程监控:监控explorer.exe的异常模块加载行为
- 注册表监控:关注AppDataLow路径下的异常注册表项创建
- 网络流量分析:检测对可疑域名的请求(特别是伪装为图像/视频的请求)
- 内存检测:实施基于行为的检测机制,弥补静态扫描的不足