初探 MedusaLocker 勒索软件
字数 2108 2025-08-20 18:17:41

MedusaLocker 勒索软件深度分析与防御指南

一、MedusaLocker概述

MedusaLocker是一种自2019年9月开始活跃的勒索软件,主要针对Windows系统。该恶意软件通过加密受害者的文件,要求支付赎金以恢复访问权限。

二、样本分析

1. 初始行为分析

互斥体创建

  • 使用CreateMutex函数创建唯一互斥体
  • 目的:确保单一实例运行
  • 互斥体名称通过字符串格式化函数生成

2. 权限提升机制

权限检查流程

  1. 获取当前进程句柄
  2. 尝试打开进程访问令牌(OpenProcessToken)
  3. 查询令牌提升状态(GetTokenInformation)
  4. 判断是否已提升权限(TokenInformation != 0)

UAC绕过技术

  • 通过滥用COM对象绕过用户账户控制(UAC)
  • 利用CMSTPLUA COM接口的已知UAC旁路
  • 具体实现:
    • 初始化COM(CoInitialize)
    • 获取相应CLSID和IID
    • 构造Elevation:Administrator!new:字符串路径
    • 获取管理员权限的COM对象

UAC禁用

  • 修改注册表项:
    • 路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    • 修改值:
      • EnableLUA:设为0完全禁用UAC
      • ConsentPromptBehaviorAdmin:设为0禁用所有提示

3. 持久化机制

注册表标记

  • 路径:HKEY_CURRENT_USER\SOFTWARE\MDSLK\Self
  • 目的:标记系统已被感染

任务调度

  • %APPDATA%创建自身副本"svhost.exe"
  • 注册任务调度程序:
    • 执行间隔:每15分钟
    • 执行方式:无限期重复

4. 进程与服务终止

服务控制流程

  1. 调用OpenSCManagerW获取服务控制管理器句柄(权限标志:0xF003F)
  2. 使用OpenServiceW打开指定服务句柄(权限标志:0x2C)
  3. 调用QueryServiceStatusEx获取服务状态
  4. 调用ControlService尝试停止服务

硬编码服务列表

  • 服务名称直接嵌入二进制文件中
  • 可通过静态分析发现

5. 系统恢复破坏

破坏手段

  1. 使用vssadminwbadmin删除卷影副本
  2. 使用bcdedit.exe删除其他恢复选项
  3. 清空回收站

实现方式

  • 通过CreateProcessW执行命令
  • 将第一个空格作为进程名称指示符
  • 其余部分作为进程参数
  • 启动外部进程并等待其结束

6. 加密机制

混合加密方案

  1. 使用AES-256算法对称加密文件
  2. 使用RSA算法加密AES密钥
    • 公钥经过Base64编码硬编码在内存中
    • 使用CryptStringToBinaryA将Base64密钥转换为二进制格式
  3. 密钥生成与处理:
    • 使用CryptGenKey生成对称密钥
    • 使用公钥加密对称密钥
    • 加密后的密钥保存在HTML赎金说明中

文件筛选

  • 跳过重要文件夹和特定扩展名文件
  • 排除列表可通过静态分析提取

7. 横向移动能力

网络探测模块

  • 功能:执行ICMP echo请求(ping操作)
  • 实现方式:
    • 使用IcmpCreateFileIcmpSendEcho
    • 发送ICMP请求并等待响应

SMB共享扫描

  1. 向每个系统发送ICMP Ping验证可达性
  2. 检查开放的SMB共享
    • 排除名称中包含"$"的隐藏共享
  3. 将发现的共享累加到列表中用于后续加密

三、防御与缓解措施

1. 预防措施

  • 定期备份重要数据,采用3-2-1备份策略
  • 保持系统和软件更新,及时修补漏洞
  • 限制管理员权限使用,实施最小权限原则
  • 禁用不必要的服务和端口(如SMB)
  • 部署端点检测与响应(EDR)解决方案

2. 检测指标

IoC(入侵指标)

  • 32位可执行文件
  • 互斥体名称模式
  • 注册表路径:HKEY_CURRENT_USER\SOFTWARE\MDSLK\Self
  • 文件路径:%APPDATA%\svhost.exe
  • 特定任务调度项(每15分钟执行)

行为检测

  • 异常的UAC注册表修改
  • 大量服务停止尝试
  • 系统恢复工具(vssadmin, wbadmin, bcdedit)的异常调用
  • 网络上的异常ICMP扫描和SMB共享枚举

3. 应急响应

  1. 隔离受感染系统
  2. 检查并终止恶意进程
  3. 删除持久化机制(注册表项、计划任务)
  4. 从备份恢复加密文件
  5. 审计网络其他系统是否受影响

4. 取证分析要点

  • 检查内存中的互斥体
  • 分析注册表修改记录
  • 审查任务调度程序历史
  • 检查系统日志中的异常进程创建
  • 分析网络连接日志

四、总结

MedusaLocker展示了现代勒索软件的典型特征,包括:

  • 复杂的权限提升和UAC绕过技术
  • 多层次的持久化机制
  • 混合加密方案
  • 网络传播能力
  • 系统恢复破坏

防御此类威胁需要多层安全策略,包括预防、检测和响应能力的结合。组织应特别关注权限管理、备份策略和员工安全意识培训。

MedusaLocker 勒索软件深度分析与防御指南 一、MedusaLocker概述 MedusaLocker是一种自2019年9月开始活跃的勒索软件,主要针对Windows系统。该恶意软件通过加密受害者的文件,要求支付赎金以恢复访问权限。 二、样本分析 1. 初始行为分析 互斥体创建 : 使用 CreateMutex 函数创建唯一互斥体 目的:确保单一实例运行 互斥体名称通过字符串格式化函数生成 2. 权限提升机制 权限检查流程 : 获取当前进程句柄 尝试打开进程访问令牌( OpenProcessToken ) 查询令牌提升状态( GetTokenInformation ) 判断是否已提升权限( TokenInformation != 0 ) UAC绕过技术 : 通过滥用COM对象绕过用户账户控制(UAC) 利用CMSTPLUA COM接口的已知UAC旁路 具体实现: 初始化COM( CoInitialize ) 获取相应CLSID和IID 构造 Elevation:Administrator!new: 字符串路径 获取管理员权限的COM对象 UAC禁用 : 修改注册表项: 路径: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 修改值: EnableLUA :设为0完全禁用UAC ConsentPromptBehaviorAdmin :设为0禁用所有提示 3. 持久化机制 注册表标记 : 路径: HKEY_CURRENT_USER\SOFTWARE\MDSLK\Self 目的:标记系统已被感染 任务调度 : 在 %APPDATA% 创建自身副本"svhost.exe" 注册任务调度程序: 执行间隔:每15分钟 执行方式:无限期重复 4. 进程与服务终止 服务控制流程 : 调用 OpenSCManagerW 获取服务控制管理器句柄(权限标志:0xF003F) 使用 OpenServiceW 打开指定服务句柄(权限标志:0x2C) 调用 QueryServiceStatusEx 获取服务状态 调用 ControlService 尝试停止服务 硬编码服务列表 : 服务名称直接嵌入二进制文件中 可通过静态分析发现 5. 系统恢复破坏 破坏手段 : 使用 vssadmin 和 wbadmin 删除卷影副本 使用 bcdedit.exe 删除其他恢复选项 清空回收站 实现方式 : 通过 CreateProcessW 执行命令 将第一个空格作为进程名称指示符 其余部分作为进程参数 启动外部进程并等待其结束 6. 加密机制 混合加密方案 : 使用AES-256算法对称加密文件 使用RSA算法加密AES密钥 公钥经过Base64编码硬编码在内存中 使用 CryptStringToBinaryA 将Base64密钥转换为二进制格式 密钥生成与处理: 使用 CryptGenKey 生成对称密钥 使用公钥加密对称密钥 加密后的密钥保存在HTML赎金说明中 文件筛选 : 跳过重要文件夹和特定扩展名文件 排除列表可通过静态分析提取 7. 横向移动能力 网络探测模块 : 功能:执行ICMP echo请求(ping操作) 实现方式: 使用 IcmpCreateFile 和 IcmpSendEcho 发送ICMP请求并等待响应 SMB共享扫描 : 向每个系统发送ICMP Ping验证可达性 检查开放的SMB共享 排除名称中包含"$"的隐藏共享 将发现的共享累加到列表中用于后续加密 三、防御与缓解措施 1. 预防措施 定期备份重要数据,采用3-2-1备份策略 保持系统和软件更新,及时修补漏洞 限制管理员权限使用,实施最小权限原则 禁用不必要的服务和端口(如SMB) 部署端点检测与响应(EDR)解决方案 2. 检测指标 IoC(入侵指标) : 32位可执行文件 互斥体名称模式 注册表路径: HKEY_CURRENT_USER\SOFTWARE\MDSLK\Self 文件路径: %APPDATA%\svhost.exe 特定任务调度项(每15分钟执行) 行为检测 : 异常的UAC注册表修改 大量服务停止尝试 系统恢复工具(vssadmin, wbadmin, bcdedit)的异常调用 网络上的异常ICMP扫描和SMB共享枚举 3. 应急响应 隔离受感染系统 检查并终止恶意进程 删除持久化机制(注册表项、计划任务) 从备份恢复加密文件 审计网络其他系统是否受影响 4. 取证分析要点 检查内存中的互斥体 分析注册表修改记录 审查任务调度程序历史 检查系统日志中的异常进程创建 分析网络连接日志 四、总结 MedusaLocker展示了现代勒索软件的典型特征,包括: 复杂的权限提升和UAC绕过技术 多层次的持久化机制 混合加密方案 网络传播能力 系统恢复破坏 防御此类威胁需要多层安全策略,包括预防、检测和响应能力的结合。组织应特别关注权限管理、备份策略和员工安全意识培训。