Lucky双平台勒索者解密分析

Lucky双平台勒索者解密分析

黑客安全访客2021-10-11 14:45:009344A+A-

0x0概况

Lucky是一种超强传播能力的恶意代码软件家族。其功能复杂,模块较多,能够利用多种漏洞组合和进行攻击传播。

含有Windows和Linux双平台攻击模块,加密算法使用RSA+AES算法,攻击完成最后利用中毒计算机进行挖矿,勒索等。

本文只分析其中的加密勒索模块部分,主要实现其加密后文件的解密,至于其他攻击模块,可参考文章后边提供的其他文章。

0x1加密分析

判断条件部分:勒索病毒会遍历全盘文件,加密固定扩展名的文件。

0x0概况

Lucky是一种超强传播能力的恶意代码软件家族。其功能复杂,模块较多,能够利用多种漏洞组合和进行攻击传播。
含有Windows和Linux双平台攻击模块,加密算法使用RSA+AES算法,攻击完成最后利用中毒计算机进行挖矿,勒索等。
本文只分析其中的加密勒索模块部分,主要实现其加密后文件的解密,至于其他攻击模块,可参考文章后边提供的其他文章。

0x1加密分析

判断条件部分:勒索病毒会遍历全盘文件,加密固定扩展名的文件.(函数名R_开头为逆向后重命名函数)
判断为加密的文件扩展名为:
指定目录文件不加密,排除的一些特定的目录如下:
病毒会联网检查病毒更新,尝试关闭一些数据库服务和进程以解除文件占用,方便对文件进行加密。
操作文件部分:首先重命名被加密文件
然后打开文件句柄,以每次16字节读取文件,判断文件大小和真实读取的数据大小,加密数据后再次写入文件。最后在文件末尾写入之前RSA加密过的512字节Hex数据。
生成Key部分:计算key一共分为三部分。
1,生成一个200大小的随机字符串;
2,解密使用一个40大小的固定字符串;
3,然后拼接这两部分字符串,计算出AES 256 KEY。
优化过后代码就是:
最后在C盘根目录下生成提示勒索的文本文档.

0x2解密思路

病毒全部分析完就可以找到其加密算法中的漏洞用以解密,以下提供三种方案的思路:

(1)如果勒索病毒进程还在运行,则直接从0x610A30地址处提取Key用于解密。

(2)如果勒索病毒进程不存在了,或者没有提取到Key,则尝试碰撞Key。

如果已知①某文件加密前的部分数据,②这个文件被加密后的那部分数据,③勒索病毒大概的爆发时间

(3)同上,没有提取到Key,尝试碰撞。如果未知加密前文件数据。则尝试用RAR,DOC等文件开始必须的数据作对比。

以上说的方法都不需要去利用病毒中的RSA算法解密key(文件末尾添加的512字节),也就简单了许多.那么详细说下第二种:

我这里准备的数据是,1.源文件 BOOTSECT.BAK ;2.被加密的文件 [nmare@cock.li]BOOTSECT.BAK.kDeLBN1WSg5DKZQjw7OhSOcmumYeDnN11eIAiIc1.lucky。

具体碰撞方法就是,生成随机字符串+固定字符串,计算出KEY,尝试去解密[nmare@cock.li]BOOTSECT.BAK.kDeLBN1WSg5DKZQjw7OhSOcmumYeDnN11eIAiIc1.lucky文件中的前16个字节,如果解密的内容与源文件BOOTSECT.BAK中前16个字节中的内容相同,则判断为有效Key,可以去尝试解密其他文件。

提一下第三种:

第三种实际与第二种思路一样,只不过是对比源文件数据与加密文件数据的时候,源文件如果是RAR,DOC等文件,其开始处的源数据直接已知,不许要再有被加密的前的源文件。

比如RAR压缩文件,开始必有RAR!…的字符串可作为对比源。

生成Key的思路如图:

部分测试代码:

其中尝试创建Key的函数TryCreateKey(),使用了较复杂的算法,整理出代码如下:

0x3解密实现

解密实现测试效果如图:
注:笔者能力有限,难免有错误之处,还请观众见谅.
Lucky其他部分模块参考:安全客:Lucky双平台勒索者——模块详析与防御对抗
原文链接:https://www.anquanke.com/post/id/170840
点击这里复制本文地址 以上内容由黑资讯整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
  • 4条评论
  • 痛言梦息2022-06-04 12:18:14
  • 取到Key,尝试碰撞。如果未知加密前文件数据。则尝试用RAR,DOC等文件开始必须的数据作对比。以上说的方法都不需要去利用病毒中的RSA算法解密key(文件末尾添加的512字节),也就简单了许多.那么详
  • 竹祭本萝2022-06-04 11:23:41
  • 全客:Lucky双平台勒索者——模块详析与防御对抗原文链接:https://www.anquanke.com/post/id/170840
  • 俗野谜兔2022-06-04 09:23:54
  • Hex数据。生成Key部分:计算key一共分为三部分。1,生成一个200大小的随机字符串;2,解密使用一个40大小的固定字符串;3,然后拼接这两部分字符串,计算出AES 256 KEY。优化过后代码就是:最后在C盘根目录下生成提示勒索的文本文档
  • 舔夺怎忘2022-06-04 05:37:42
  • AK中前16个字节中的内容相同,则判断为有效Key,可以去尝试解密其他文件。提一下第三种:第三种实际与第二种思路一样,只不过是对比源文件数据与加密文件数据的时候,源文件如果是RAR,DOC等文件,其开始处的源数据

支持Ctrl+Enter提交

黑资讯 © All Rights Reserved.  
Copyright Copyright 2015-2020 黑资讯
滇ICP备19002590号-1
Powered by 黑客资讯 Themes by 如有不合适之处联系我们
网站地图| 发展历程| 留言建议| 网站管理