L0CK3D恢复工具
一、使用前必须确认的条件
1.确认样本与文件特征
本文分析样本的主要特征如下:
| 项目 | 值 |
|---|---|
| 加密后缀 | .L0CK3D,其中 L 后为数字 0 |
| 勒索信 | read-me3.txt |
| 样本平台 | 64位Linux,x86_64 |
| 样本SHA256 | 802AC85D19DC6DB2B1849BB3499877280544D04A0AE94D4C408B6C321669903D |
仅凭后缀相同不能确认属于同一样本。其他架构、其他变种或尾部结构不同的文件,不能直接套用本工具。
2.确认加密器仍在运行
只有加密器仍在运行,且待恢复文件属于同一运行环境时,内存中的会话材料才可能有恢复价值。不要为了验证工具而再次运行勒索程序。
3.确认具备操作权限与备份条件
实时读取进程内存需要root权限。操作前应将加密文件和勒索信备份到独立存储,提取后的密钥材料也应单独备份。首次恢复必须使用 --keep-source 保留源文件。
需要先说明时间窗口:团队实际测试中,该加密器的加密速度可达约2至3 GB/s,实际速度受NAS性能、磁盘状态、文件类型和线程数量影响。该数据仅来自当前测试环境与样本,不代表所有设备。数据量较小时,往往很难在加密过程中及时发现;数据量较大且发现及时,才更可能保留事中恢复条件。
如果加密早已结束、设备已经重启,建议保留现场并寻求其他恢复路径,不要对本文在线扫描方式抱有过高预期。
二、详细使用方法
1.隔离设备并保护现场
发现文件正在或已经被加密后,先隔离NAS网络,阻止攻击者继续连接,也不要让其他业务继续向设备写入数据。
不要贸然关机、重启或终止相关进程,这些操作可能破坏内存中的恢复条件。不要直接重装系统,不要删除加密文件、勒索信和可疑进程文件。
条件允许时,以只读方式克隆存储,或将加密文件复制到独立介质后再测试。后续恢复应优先在独立副本上进行,不要覆盖唯一一份原始数据。
2.检查勒索进程是否仍在运行
在终端执行:
pgrep -af 'MATCH_802ac85d19dc6db2|L0CK3D|init-rsysd' || echo "勒索进程未运行"

测试环境中,pgrep 匹配到分析样本进程并返回对应PID。
如果返回相关进程信息,说明仍存在匹配进程,应尽快在保护现场的前提下继续操作。如果只输出 勒索进程未运行,表示没有匹配到相关进程,通常已不满足在线内存提取条件。
该命令只匹配本文样本的常见名称。攻击者可能修改进程名,因此没有输出不等于绝对未运行,有输出也不等于一定能够提取有效密钥,仍需结合进程路径和内存扫描结果判断。
3.提取会话AES key和IV
从团队官方工具中心获取工具后,将其放入一个独立工作目录,不要放在待恢复数据目录中。经分析,本文涉及的加密程序样本默认不加密处理.sys 后缀,因此工具使用 c3rb3r_memscan.sys 作为文件名。
进入工具所在目录,执行:
chmod 755 c3rb3r_memscan.sys
sudo ./c3rb3r_memscan.sys
工具会扫描进程PID,在适配样本的固定地址 0x5427F8 读取全局会话指针,定位由16字节IV和32字节AES key组成的48字节会话对象。成功提取后,程序会输出key和IV,并在工具所在目录生成 key.sys。

测试环境中,工具输出会话key和IV并生成 key.sys
key.sys 包含敏感密钥材料,应妥善备份并限制访问,不要对外公开。出现 UNVERIFIED_POINTER 时,表示指针结果尚未通过验证文件确认,不等于密钥一定正确,必须先进行单文件测试。
如果出现以下报错,通常与工具目录写权限不足有关,应使用 sudo 执行,并确认当前账号可以向工具所在目录写入文件:
key file error: cannot create /path/to/tool/key.sys
4.先解密一个文件进行验证
生成 key.sys 后,选择一个已经备份的非核心 .L0CK3D 文件进行测试:
sudo ./c3rb3r_memscan.sys --decrypt /path/file.db.L0CK3D --keep-source
解密一个文件进行测试(状态成功)
工具默认会在解密成功后删除源 .L0CK3D 文件。首次处理重要数据时必须添加 --keep-source****,不要直接使用默认模式批量操作。
解密完成后,应实际打开输出文件,核对文件内容、大小和可用性,不能只看终端是否返回成功。数据库、虚拟机和压缩文件还应进行相应的完整性检查。
如果目标位置已经存在同名输出文件,例如同时存在 1.txt.L0CK3D 和 1.txt,工具默认不会覆盖,并会返回失败。此时应先核对同名文件,将其移至独立备份目录后再测试,不要为了继续执行而直接删除数据。
5.单文件验证通过后再批量恢复
确认测试文件可以正常使用后,再处理目标目录:
sudo ./c3rb3r_memscan.sys --decrypt /path/to/encrypted/files --keep-source
目录模式只处理以 .L0CK3D 结尾的文件。使用 --keep-source 时,工具会保留原始加密文件,并生成去掉 .L0CK3D 后缀的恢复文件。
测试输出显示21个文件成功、1个失败,提取密钥后仍需逐文件核对恢复结果。
实测恢复NAS中被L0CK3D加密的数据文件(状态成功)
成功提取密钥不等于所有文件都能恢复。文件被截断、尾部被改写、来自不同运行会话或正文已被篡改时,仍可能失败。正文没有认证标签,工具可以验证密钥块和处理流程,但不能证明正文从未被篡改。
批量处理后,应保留终端日志和失败文件清单,不要反复对同一原始文件写入。恢复完成后,还需逐项检查重要业务文件是否真实可用。
6.已有key和IV时的使用方法
如果已经通过其他取证方式取得同一会话的key和IV,可以不重新扫描内存,直接传入参数:
sudo ./c3rb3r_memscan.sys \
--decrypt /path/to/files \
--aes-key <64个十六进制字符> \
--aes-iv <32个十六进制字符>
已有key和IV时的使用方法图示
key和IV必须来自加密这些文件的同一次运行环境。不同会话的材料不能混用,填入后也应先进行单文件验证。


