利用MSIX安装包传播恶意软件攻击样本的详细分析
字数 1641 2025-08-05 11:39:45

MSIX安装包传播恶意软件攻击样本分析教学文档

前言概述

MSIX是一种Windows应用包格式,为所有Windows应用提供现代打包体验。它保留了现有应用包和安装文件的功能,同时为Win32、WPF和Windows窗体应用启用了全新的现代打包和部署功能。

自2023年底以来,全球范围内越来越多的攻击者开始使用MSIX类型的安装包传播各种恶意软件。这些MSIX安装包样本大多数包含正常的数字签名,增加了其可信度和隐蔽性。

MSIX恶意软件攻击技术分析

1. 数字签名滥用

攻击样本通常带有正常的数字签名,这使得它们能够绕过基本的信任验证机制:

  • 样本显示有效的数字签名证书
  • 签名验证过程不会触发安全警告
  • 增加了用户信任度,提高攻击成功率

2. 恶意脚本执行机制

2.1 入口点篡改

  • 攻击者修改AppxManifest.xml文件,更改应用程序的入口点
  • 使用PSF Launcher作为应用程序包装器
  • 将PSF注入到应用程序进程中并激活

2.2 PowerShell脚本执行链

  1. 安装程序运行后调用StartingScriptWrapper.ps1脚本
  2. 随后执行refresh.ps1恶意脚本
  3. 通过config.json配置文件控制脚本执行流程

2.3 配置文件控制

config.json文件包含:

  • 脚本执行模式配置
  • 脚本路径指定
  • 执行参数设置

3. 恶意脚本分析

3.1 混淆技术

  • 使用空白字符进行脚本混淆
  • 加密脚本内容
  • 动态解密执行

3.2 远程下载

  • 从远程服务器下载后续恶意脚本
  • 使用加密通信(如gpg文件)
  • 通过tar解压缩下载内容

4. 白加黑技术利用

攻击者利用合法程序加载恶意DLL:

  1. 启动合法程序(如VBoxSVC.exe)
  2. 加载同目录下的恶意DLL(如tedutil.dll)
  3. 恶意DLL带有无效的微软数字签名以增加可信度

5. 内存操作技术

5.1 数据隐藏

  • 将恶意数据隐藏在看似正常的文件(如tsunami.avi)中
  • 运行时读取这些数据到内存
  • 在内存中解密和解压

5.2 模块篡改

  1. 加载系统DLL模块(如pla.dll)
  2. 拷贝模块text区段数据到新分配的内存
  3. 修改内存页面保护属性
  4. 将恶意代码写入text区段
  5. 跳转到篡改后的代码执行

6. 进程注入技术

  1. 启动cmd.exe作为傀儡进程
  2. 在Temp目录生成随机文件并写入恶意数据
  3. 将恶意代码注入到目标进程
  4. 覆盖目标模块的text区段
  5. 启动远程线程执行恶意代码

7. 信息窃取功能

7.1 主机信息收集

  • 获取计算机名
  • 检测操作系统位数(32/64位)
  • 收集系统配置信息

7.2 数字钱包窃取

攻击目标包括:

C:\Users\Administrator\AppData\Roaming\VERGE\wallets\
C:\Users\Administrator\AppData\Roaming\exodus\exodus.wallet\
C:\Users\Administrator\AppData\Roaming\Electrum\wallets\
C:\Users\Administrator\AppData\Roaming\Coinomi\Coinomi\wallets\

7.3 通信软件数据窃取

目标应用包括:

C:\Users\Administrator\AppData\Roaming\Telegram Desktop\tdata\
C:\Users\Administrator\AppData\Roaming\ICQ\0001\
C:\Users\Administrator\AppData\Roaming\Microsoft\Skype for Desktop\Local Storage\
C:\Users\Administrator\AppData\Roaming\Element\Local Storage\leveldb\
C:\Users\Administrator\AppData\Roaming\Discord\Local Storage\leveldb\

8. 数据外传

  • 将窃取的信息加密打包
  • 通过HTTPS等协议上传到C2服务器
  • 使用隐蔽通信通道

防御建议

1. MSIX安装包验证

  • 验证数字签名有效性
  • 检查发布者信誉
  • 分析AppxManifest.xml文件

2. PowerShell执行控制

  • 启用PowerShell脚本执行日志
  • 限制PowerShell执行策略
  • 监控异常PowerShell活动

3. 内存保护

  • 启用ASLR和DEP保护
  • 监控关键系统DLL的修改
  • 检测异常内存操作

4. 进程行为监控

  • 监控异常进程创建
  • 检测进程注入行为
  • 跟踪跨进程内存操作

5. 敏感数据保护

  • 加密存储敏感数据
  • 监控对钱包目录的访问
  • 限制应用数据目录权限

6. 网络通信控制

  • 监控异常外联
  • 拦截可疑域名
  • 分析SSL/TLS证书

总结

2023年攻击者主要使用OneNote文件传播恶意软件,而2024年转向使用带有正常数字签名的MSIX文件。这种攻击方式具有以下特点:

  1. 高隐蔽性:利用合法签名和正常文件格式
  2. 复杂执行链:多阶段脚本加载和内存操作
  3. 持久性:通过系统模块篡改实现长期驻留
  4. 广泛目标:针对数字资产和通信数据

防御这类攻击需要多层防护策略,结合静态分析、动态行为监控和网络流量分析,才能有效检测和阻断此类高级威胁。

MSIX安装包传播恶意软件攻击样本分析教学文档 前言概述 MSIX是一种Windows应用包格式,为所有Windows应用提供现代打包体验。它保留了现有应用包和安装文件的功能,同时为Win32、WPF和Windows窗体应用启用了全新的现代打包和部署功能。 自2023年底以来,全球范围内越来越多的攻击者开始使用MSIX类型的安装包传播各种恶意软件。这些MSIX安装包样本大多数包含正常的数字签名,增加了其可信度和隐蔽性。 MSIX恶意软件攻击技术分析 1. 数字签名滥用 攻击样本通常带有正常的数字签名,这使得它们能够绕过基本的信任验证机制: 样本显示有效的数字签名证书 签名验证过程不会触发安全警告 增加了用户信任度,提高攻击成功率 2. 恶意脚本执行机制 2.1 入口点篡改 攻击者修改AppxManifest.xml文件,更改应用程序的入口点 使用PSF Launcher作为应用程序包装器 将PSF注入到应用程序进程中并激活 2.2 PowerShell脚本执行链 安装程序运行后调用StartingScriptWrapper.ps1脚本 随后执行refresh.ps1恶意脚本 通过config.json配置文件控制脚本执行流程 2.3 配置文件控制 config.json文件包含: 脚本执行模式配置 脚本路径指定 执行参数设置 3. 恶意脚本分析 3.1 混淆技术 使用空白字符进行脚本混淆 加密脚本内容 动态解密执行 3.2 远程下载 从远程服务器下载后续恶意脚本 使用加密通信(如gpg文件) 通过tar解压缩下载内容 4. 白加黑技术利用 攻击者利用合法程序加载恶意DLL: 启动合法程序(如VBoxSVC.exe) 加载同目录下的恶意DLL(如tedutil.dll) 恶意DLL带有无效的微软数字签名以增加可信度 5. 内存操作技术 5.1 数据隐藏 将恶意数据隐藏在看似正常的文件(如tsunami.avi)中 运行时读取这些数据到内存 在内存中解密和解压 5.2 模块篡改 加载系统DLL模块(如pla.dll) 拷贝模块text区段数据到新分配的内存 修改内存页面保护属性 将恶意代码写入text区段 跳转到篡改后的代码执行 6. 进程注入技术 启动cmd.exe作为傀儡进程 在Temp目录生成随机文件并写入恶意数据 将恶意代码注入到目标进程 覆盖目标模块的text区段 启动远程线程执行恶意代码 7. 信息窃取功能 7.1 主机信息收集 获取计算机名 检测操作系统位数(32/64位) 收集系统配置信息 7.2 数字钱包窃取 攻击目标包括: 7.3 通信软件数据窃取 目标应用包括: 8. 数据外传 将窃取的信息加密打包 通过HTTPS等协议上传到C2服务器 使用隐蔽通信通道 防御建议 1. MSIX安装包验证 验证数字签名有效性 检查发布者信誉 分析AppxManifest.xml文件 2. PowerShell执行控制 启用PowerShell脚本执行日志 限制PowerShell执行策略 监控异常PowerShell活动 3. 内存保护 启用ASLR和DEP保护 监控关键系统DLL的修改 检测异常内存操作 4. 进程行为监控 监控异常进程创建 检测进程注入行为 跟踪跨进程内存操作 5. 敏感数据保护 加密存储敏感数据 监控对钱包目录的访问 限制应用数据目录权限 6. 网络通信控制 监控异常外联 拦截可疑域名 分析SSL/TLS证书 总结 2023年攻击者主要使用OneNote文件传播恶意软件,而2024年转向使用带有正常数字签名的MSIX文件。这种攻击方式具有以下特点: 高隐蔽性:利用合法签名和正常文件格式 复杂执行链:多阶段脚本加载和内存操作 持久性:通过系统模块篡改实现长期驻留 广泛目标:针对数字资产和通信数据 防御这类攻击需要多层防护策略,结合静态分析、动态行为监控和网络流量分析,才能有效检测和阻断此类高级威胁。