1.前言
在上一篇文章中,我们对提取的LOL勒索病毒样本进行了详细分析,相关内容可以参考上篇内容【病毒分析】全网首发!全面剖析.LOL勒索病毒,无需缴纳赎金,破解方案敬请期待下篇!。不过,由于使用的工具未能完全反编译病毒代码,我们需要通过手动还原代码来进一步研究。本篇文章将详细阐述破解思路,并提供相应的恢复工具。
2.破解思路分析
基于上篇对加密器的分析,我们得出可以通过nacl.secret.SecretBox(key).decrypted 进行解密。流程大概如下:
2.1遍历文件
def list_all_files(path):
for root, dirs, files in os.walk(path):
for name in files:
file_path = os.path.join(root, name)
if file_path.endswith('.lol'):
try:
decrypt_file(file_path)
except PermissionError:
print(f"Permission denied: {file_path}")
2.2解密操作
#密钥初始化
key = b'\xc0n\xf7\xd3\x95\x90w7\x06\xdd\xc2A\x8d\xaew\xcd[\xdb\xc9R\xf0\xfbLE8\xf0\xf7\xd5\xce\xed\xd6\xfa' # 替换为实际的密钥
box = nacl.secret.SecretBox(key)
#解密函数
def decrypt_file(encrypted_file_path):
file_del = encrypted_file_path
with open(encrypted_file_path, 'rb') as f:
encrypted_data = f.read()
decrypted = box.decrypt(encrypted_data)
# 保存解密后的文件
decrypted_file_path = encrypted_file_path.replace('.lol', '')
with open(decrypted_file_path, 'wb') as f:
f.write(decrypted)
os.remove(file_del)
print(f'File decrypted successfully: {decrypted_file_path}')
3.使用教程
3.1工具简介
V1.0版本通过判断文件的加密后缀来恢复,仅支持通过“.lol”后缀进行解密。部分文件可能因权限不足而导致解密失败,建议将这些文件移动到其他目录(也可以直接取消文件夹的只读属性),解密完成后再将其移动回原目录。解密过程中,还需要手动清理注册表,删除指定的键值即可。
Software\\Microsoft\\Windows\\CurrentVersion\\Run\\MyScript
勒索信需要手动清理,可以使用Everything工具进行检索,批量删除相关文件。
3.2使用方法
请以管理员权限运行命令提示符(CMD)。目前,该工具仅支持选择目录进行恢复,无法指定单个文件进行解密。
lol解密器.exe 文件路径(只能是目录路径)例如C:\Users\Downloads
lol解密器.exe C:\Users\Downloads #回车后恢复C:\Users\Downloads所有.lol后缀文件
解密工具
链接: https://pan.baidu.com/s/1SiXlMXqLEt__o799utfZNA?pwd=2411 提取码: 2411
解压密码:SET-Solar
|