【病毒分析】MEDUSA LOCKER勒索windows版本分析
字数 4154 2025-11-02 00:39:25

MEDUSA LOCKER勒索软件(Windows版本)深度分析与检测防护教学文档

文档说明

本文档旨在为网络安全分析人员、应急响应工程师及安全爱好者提供一份关于MEDUSA LOCKER勒索软件家族Windows版本的全面技术分析。内容涵盖其背景、行为特征、加密机制、逆向工程关键点及防护建议,力求详尽且实用。


第一章:威胁概述

1.1 家族背景

  • 出现时间: MEDUSA LOCKER家族最早于2019年9月被发现。
  • 运营模式: 采用勒索软件即服务(RaaS)模式运营。核心开发人员提供勒索软件构建器,附属攻击者(Affiliates)负责传播和攻击。赎金通常在开发人员(占40%-45%)和附属攻击者(占55%-60%)之间分配。
  • 传播途径
    • 利用存在弱密码或漏洞的远程桌面协议(RDP)进行入侵。
    • 通过钓鱼邮件和垃圾邮件活动直接投递恶意负载。

1.2 平台与通信

攻击者运营两个主要的暗网服务平台:

  • 数据泄露博客: 用于公开拒绝支付赎金的受害者信息,施加舆论压力。
  • 在线聊天室: 为受害者提供与攻击者沟通的渠道,支持上传加密文件进行解密测试,每个受害者拥有独立的私密聊天室。

第二章:样本基础信息

2.1 文件信息

  • 文件名bh538.exe
  • 编译器: Microsoft Visual C/C++ (版本 19.36.34810)
  • 类型: 64位Windows控制台程序(PE64)
  • 哈希值
    • MD57d64ffeb603fbe96a4b47982e2a1dd3f
    • SHA1f983c9e9216ad026edad6accb8962d90f8230019
    • SHA256ca4dfe28e1f18a1b8e0bcd825abe129ab46031ba4faed8777bc95da67371d83d

2.2 勒索信

加密完成后,在每个包含加密文件的目录下生成名为 read_to_decrypt_files.html 的勒索信。该文件是一个设计精美的HTML页面,内容包含:

  • 受害者唯一标识符(ID)
  • 恐吓信息: 声称使用军事级加密(RSA-4096 + AES-256),警告切勿自行尝试恢复。
  • 联系方式
    • 邮箱recovery1@salamati.vip, recovery1@amniyat.xyz
    • Tor聊天室http://qd7pcafncosqfqu3ha6fcx4h6sr7tzwagzpcdcnytiw3b6varaeqv5yd.onion
    • qTox ID7C564920870C0D33535D2012ECDDE389FE25BAF7AF427DD584EE39C04AF8CF024F8BFA93D8DB
  • 数据泄露威胁: 威胁不付款将公开所有数据。
  • “免费解密测试”: 允诺可免费解密2-3个非关键文件以证明其能力。
  • “合规报告”: 附带一份伪造的《数据泄露监管后果报告》,详细罗列全球各地的数据保护法规(如GDPR、HIPAA)及其高额罚金,以此恐吓受害者,暗示支付赎金比面临监管罚款更“划算”。

第三章:加密行为与技术细节

3.1 加密文件特征

  • 文件扩展名: 在原文件名后追加 .blackheart588。例如,sierting.txt 被加密为 sierting.txt.blackheart588
  • 加密模式: 采用独特的条状加密(Partial Encryption) 策略,旨在加快加密速度而非加密全部数据。
    • bytesCryptAndSkip: 1136023 (每次加密的字节块大小)
    • bytesForEncrypt: 3853566 (单个文件加密的字节数上限)
    • 工作流程: 对文件从头开始,加密1136023字节,然后跳过一段数据,再加密1136023字节,如此循环,直到累计加密数据量达到3853566字节后停止。此举能快速破坏文件结构,使其无法使用,同时减少加密操作耗时。

3.2 加密算法

采用混合加密体制,确保只有攻击者才能解密。

  1. 对称加密: 使用ChaCha20流密码算法对文件内容进行加密。加密密钥(Key)在运行时随机生成。
  2. 非对称加密: 使用内置的RSA公钥加密上一步随机生成的ChaCha20密钥。加密后的密钥会被写入到加密文件中。
  3. 核心机制: 由于ChaCha20密钥被攻击者的RSA私钥加密,而私钥只由攻击者持有,因此受害者无法自行解密。

3.3 文件遍历与过滤

  • 扫描路径: 遍历所有驱动器,并优先扫描常见的数据存储路径,如 /volume/, /vmfs/, /share/ 等(针对NAS、虚拟机环境)。
  • 排除目录(不加密): 为避免影响系统稳定性,跳过特定系统及厂商目录,例如:
    • C:\perflogs, C:\Intel, C:\HP, C:\AMD, C:\Dell
    • C:\inetpub, B:\Boot, C:\ProgramData\Anydesk 等。
  • 排除扩展名(不加密): 主要跳过系统关键文件。
    • .dll, .sys, .readtext, .readtext95

3.4 进程与系统破坏(阻断恢复)

在执行加密前,会运行一系列命令来消除数据恢复的可能性:

  • 终止进程: 强制终止数据库、备份相关进程(如 sqlservr.exe, sqlbrowser.exe, Ssms.exe, pg_ctl.exe 等)。
  • 停止服务: 停止相关的Windows服务(如 SQLBrowser, SQLWriter)。
  • 删除卷影副本: 使用 vssadmin.exe Delete Shadows /All /Quietwbadmin 命令删除所有卷影副本和备份。
  • 禁用系统恢复: 使用 bcdedit.exe 修改启动配置,禁用Windows恢复环境。

3.5 其他恶意行为

  • 权限维持: 通过 add_to_startup 函数将自身添加到启动项,实现持久化。
  • 清空回收站: 执行 clear_recycle_bin 函数。
  • 更换壁纸: 具备 set_background_image 功能,但在此样本的配置中未启用。
  • 多线程优化
    • 采用线程池技术,最大线程数设置为32。
    • 实现 Block模式:一种智能队列管理和动态负载均衡机制。它能实时监控CPU使用率,当占用超过90%时自动减少线程数以避免系统卡顿,空闲时则增加并发以提升加密速度。
    • 对特定重要数据文件(如 .sql, .bak, .VHDX)赋予更高的处理优先级。

第四章:逆向分析关键函数解析

4.1 main 函数

  • 程序入口点。
  • 解析命令行参数(如 -h 显示帮助)。
  • 创建多个线程分别执行不同的任务:显示UI、扫描文件、执行破坏性命令等。
  • 执行 preRunCommands 中的命令列表,进行系统破坏。

4.2 file_scan_threadscan_directory_and_encrypt 函数

  • 负责文件系统遍历的核心逻辑。
  • file_scan_thread: 为每个发现的驱动器创建单独的扫描线程。
  • scan_directory_and_encrypt: 递归扫描目录,并根据配置的排除列表(路径和扩展名)决定是否对文件进行加密。

4.3 encrypt_single_file 函数

  • 单个文件加密的调度函数。
  • 负责打开文件、应用条状加密逻辑、调用ChaCha20加密函数,并处理加密后密钥的RSA加密和存储。

4.4 chacha20_encrypt_file_content 函数

  • ChaCha20算法的具体实现,负责对文件数据块进行实际的加密运算。

4.5 sub_14003CA40 函数

  • RSA密钥初始化和管理函数。负责加载或生成RSA公私钥对,其中公钥硬编码在程序配置中。

第五章:综合分析与防护建议

5.1 攻击链总结

MEDUSA LOCKER的攻击链清晰且具有高度针对性:

  1. 初始入侵: 通过RDP爆破或钓鱼邮件进入。
  2. 探索与提权: 在目标网络内横向移动。
  3. 破坏恢复能力: 终止服务、删除备份、卷影副本。
  4. 加密数据: 使用多线程、智能负载均衡的加密器,快速加密有价值文件。
  5. 勒索胁迫: 留下详细的勒索信,并辅以数据泄露和法律威胁,最大化心理压力。

5.2 检测指标(IOCs)

  • 文件哈希: 上述提供的MD5, SHA1, SHA256。
  • 文件行为: 大量文件被追加 .blackheart588 扩展名。
  • 网络流量: 尝试访问特定的.onion域名。
  • 进程行为
    • 同时出现大量 taskkill, vssadmin, wbadmin, bcdedit 命令。
    • 异常的网络共享访问和文件遍历活动。

5.3 防护与缓解措施

  • 预防阶段
    • 强化RDP安全: 使用强密码/密钥,启用网络级认证(NLA),或将RDP服务置于VPN之后。
    • 员工安全意识培训: 防范钓鱼邮件。
    • 最小权限原则: 用户和服务不应拥有超出其职责需要的文件访问权限。
    • 应用程序白名单: 限制未经授权的程序运行。
  • 防护阶段
    • 部署EDR/NGAV: 能够检测和阻断勒索软件的恶意行为(如大量文件加密、修改卷影副本)。
    • 严格备份策略: 遵循 3-2-1备份规则(3个副本,2种介质,1个离线备份)。确保备份数据与生产网络隔离。
  • 响应阶段
    • 隔离感染主机: 立即断开其网络连接。
    • 确认感染范围: 检查其他主机是否受影响。
    • 评估损失: 查看备份的可用性。
    • 切勿支付赎金: 支付赎金并不能保证能恢复文件,且会助长犯罪活动。应立即联系专业的网络安全公司或执法机构寻求帮助。

文档修订记录

  • Version 1.0 | 基于提供的分析文章生成。

希望这份详尽的教学文档能对您的工作和学习有所帮助。

MEDUSA LOCKER勒索软件(Windows版本)深度分析与检测防护教学文档 文档说明 本文档旨在为网络安全分析人员、应急响应工程师及安全爱好者提供一份关于MEDUSA LOCKER勒索软件家族Windows版本的全面技术分析。内容涵盖其背景、行为特征、加密机制、逆向工程关键点及防护建议,力求详尽且实用。 第一章:威胁概述 1.1 家族背景 出现时间 : MEDUSA LOCKER家族最早于2019年9月被发现。 运营模式 : 采用勒索软件即服务(RaaS)模式运营。核心开发人员提供勒索软件构建器,附属攻击者(Affiliates)负责传播和攻击。赎金通常在开发人员(占40%-45%)和附属攻击者(占55%-60%)之间分配。 传播途径 : 利用存在弱密码或漏洞的远程桌面协议(RDP)进行入侵。 通过钓鱼邮件和垃圾邮件活动直接投递恶意负载。 1.2 平台与通信 攻击者运营两个主要的暗网服务平台: 数据泄露博客 : 用于公开拒绝支付赎金的受害者信息,施加舆论压力。 在线聊天室 : 为受害者提供与攻击者沟通的渠道,支持上传加密文件进行解密测试,每个受害者拥有独立的私密聊天室。 第二章:样本基础信息 2.1 文件信息 文件名 : bh538.exe 编译器 : Microsoft Visual C/C++ (版本 19.36.34810) 类型 : 64位Windows控制台程序(PE64) 哈希值 : MD5 : 7d64ffeb603fbe96a4b47982e2a1dd3f SHA1 : f983c9e9216ad026edad6accb8962d90f8230019 SHA256 : ca4dfe28e1f18a1b8e0bcd825abe129ab46031ba4faed8777bc95da67371d83d 2.2 勒索信 加密完成后,在每个包含加密文件的目录下生成名为 read_to_decrypt_files.html 的勒索信。该文件是一个设计精美的HTML页面,内容包含: 受害者唯一标识符(ID) 。 恐吓信息 : 声称使用军事级加密(RSA-4096 + AES-256),警告切勿自行尝试恢复。 联系方式 : 邮箱 : recovery1@salamati.vip , recovery1@amniyat.xyz Tor聊天室 : http://qd7pcafncosqfqu3ha6fcx4h6sr7tzwagzpcdcnytiw3b6varaeqv5yd.onion qTox ID : 7C564920870C0D33535D2012ECDDE389FE25BAF7AF427DD584EE39C04AF8CF024F8BFA93D8DB 数据泄露威胁 : 威胁不付款将公开所有数据。 “免费解密测试” : 允诺可免费解密2-3个非关键文件以证明其能力。 “合规报告” : 附带一份伪造的《数据泄露监管后果报告》,详细罗列全球各地的数据保护法规(如GDPR、HIPAA)及其高额罚金,以此恐吓受害者,暗示支付赎金比面临监管罚款更“划算”。 第三章:加密行为与技术细节 3.1 加密文件特征 文件扩展名 : 在原文件名后追加 .blackheart588 。例如, sierting.txt 被加密为 sierting.txt.blackheart588 。 加密模式 : 采用独特的 条状加密(Partial Encryption) 策略,旨在加快加密速度而非加密全部数据。 bytesCryptAndSkip : 1136023 (每次加密的字节块大小) bytesForEncrypt : 3853566 (单个文件加密的字节数上限) 工作流程 : 对文件从头开始,加密1136023字节,然后跳过一段数据,再加密1136023字节,如此循环,直到累计加密数据量达到3853566字节后停止。此举能快速破坏文件结构,使其无法使用,同时减少加密操作耗时。 3.2 加密算法 采用 混合加密体制 ,确保只有攻击者才能解密。 对称加密 : 使用 ChaCha20流密码算法 对文件内容进行加密。加密密钥(Key)在运行时随机生成。 非对称加密 : 使用内置的 RSA公钥 加密上一步随机生成的ChaCha20密钥。加密后的密钥会被写入到加密文件中。 核心机制 : 由于ChaCha20密钥被攻击者的RSA私钥加密,而私钥只由攻击者持有,因此受害者无法自行解密。 3.3 文件遍历与过滤 扫描路径 : 遍历所有驱动器,并优先扫描常见的数据存储路径,如 /volume/ , /vmfs/ , /share/ 等(针对NAS、虚拟机环境)。 排除目录 (不加密): 为避免影响系统稳定性,跳过特定系统及厂商目录,例如: C:\perflogs , C:\Intel , C:\HP , C:\AMD , C:\Dell C:\inetpub , B:\Boot , C:\ProgramData\Anydesk 等。 排除扩展名 (不加密): 主要跳过系统关键文件。 .dll , .sys , .readtext , .readtext95 3.4 进程与系统破坏(阻断恢复) 在执行加密前,会运行一系列命令来消除数据恢复的可能性: 终止进程 : 强制终止数据库、备份相关进程(如 sqlservr.exe , sqlbrowser.exe , Ssms.exe , pg_ctl.exe 等)。 停止服务 : 停止相关的Windows服务(如 SQLBrowser , SQLWriter )。 删除卷影副本 : 使用 vssadmin.exe Delete Shadows /All /Quiet 和 wbadmin 命令删除所有卷影副本和备份。 禁用系统恢复 : 使用 bcdedit.exe 修改启动配置,禁用Windows恢复环境。 3.5 其他恶意行为 权限维持 : 通过 add_to_startup 函数将自身添加到启动项,实现持久化。 清空回收站 : 执行 clear_recycle_bin 函数。 更换壁纸 : 具备 set_background_image 功能,但在此样本的配置中未启用。 多线程优化 : 采用线程池技术,最大线程数设置为32。 实现 Block模式 :一种智能队列管理和动态负载均衡机制。它能实时监控CPU使用率,当占用超过90%时自动减少线程数以避免系统卡顿,空闲时则增加并发以提升加密速度。 对特定重要数据文件(如 .sql , .bak , .VHDX )赋予更高的处理优先级。 第四章:逆向分析关键函数解析 4.1 main 函数 程序入口点。 解析命令行参数(如 -h 显示帮助)。 创建多个线程分别执行不同的任务:显示UI、扫描文件、执行破坏性命令等。 执行 preRunCommands 中的命令列表,进行系统破坏。 4.2 file_scan_thread 与 scan_directory_and_encrypt 函数 负责文件系统遍历的核心逻辑。 file_scan_thread : 为每个发现的驱动器创建单独的扫描线程。 scan_directory_and_encrypt : 递归扫描目录,并根据配置的排除列表(路径和扩展名)决定是否对文件进行加密。 4.3 encrypt_single_file 函数 单个文件加密的调度函数。 负责打开文件、应用条状加密逻辑、调用ChaCha20加密函数,并处理加密后密钥的RSA加密和存储。 4.4 chacha20_encrypt_file_content 函数 ChaCha20算法的具体实现,负责对文件数据块进行实际的加密运算。 4.5 sub_14003CA40 函数 RSA密钥初始化和管理函数。负责加载或生成RSA公私钥对,其中公钥硬编码在程序配置中。 第五章:综合分析与防护建议 5.1 攻击链总结 MEDUSA LOCKER的攻击链清晰且具有高度针对性: 初始入侵 : 通过RDP爆破或钓鱼邮件进入。 探索与提权 : 在目标网络内横向移动。 破坏恢复能力 : 终止服务、删除备份、卷影副本。 加密数据 : 使用多线程、智能负载均衡的加密器,快速加密有价值文件。 勒索胁迫 : 留下详细的勒索信,并辅以数据泄露和法律威胁,最大化心理压力。 5.2 检测指标(IOCs) 文件哈希 : 上述提供的MD5, SHA1, SHA256。 文件行为 : 大量文件被追加 .blackheart588 扩展名。 网络流量 : 尝试访问特定的.onion域名。 进程行为 : 同时出现大量 taskkill , vssadmin , wbadmin , bcdedit 命令。 异常的网络共享访问和文件遍历活动。 5.3 防护与缓解措施 预防阶段 : 强化RDP安全 : 使用强密码/密钥,启用网络级认证(NLA),或将RDP服务置于VPN之后。 员工安全意识培训 : 防范钓鱼邮件。 最小权限原则 : 用户和服务不应拥有超出其职责需要的文件访问权限。 应用程序白名单 : 限制未经授权的程序运行。 防护阶段 : 部署EDR/NGAV : 能够检测和阻断勒索软件的恶意行为(如大量文件加密、修改卷影副本)。 严格备份策略 : 遵循 3-2-1备份规则 (3个副本,2种介质,1个离线备份)。确保备份数据与生产网络隔离。 响应阶段 : 隔离感染主机 : 立即断开其网络连接。 确认感染范围 : 检查其他主机是否受影响。 评估损失 : 查看备份的可用性。 切勿支付赎金 : 支付赎金并不能保证能恢复文件,且会助长犯罪活动。应立即联系专业的网络安全公司或执法机构寻求帮助。 文档修订记录 Version 1.0 | 基于提供的分析文章生成。 希望这份详尽的教学文档能对您的工作和学习有所帮助。