【病毒分析】BianLian勒索病毒全解析哈希游戏!中国受害者案例与解密真相
哈希游戏作为一种新兴的区块链应用,它巧妙地结合了加密技术与娱乐,为玩家提供了全新的体验。万达哈希平台凭借其独特的彩票玩法和创新的哈希算法,公平公正-方便快捷!万达哈希,哈希游戏平台,哈希娱乐,哈希游戏本篇文章讲解对BianLian勒索软件团伙的分析,通过剖析加密器的加解密原理,通过加密算法逻辑的两层校验构建对应的解密工具。我们认为这篇文章具有很高的参考价值,希望通过转载的方式与大家分享,促进更多人对该议题的深入思考和讨论。
尝试对BianLian勒索软件团伙进行调研,发现BianLian勒索软件团伙的攻击方式为:利用漏洞在网络中传播,窃取最有价值的数据并对关键机器进行加密。相关报告截图如下:
为了能够深层次的对BianLian勒索软件进行研究,笔者从近期Palo Alto Networks安全公司2024年1月23日发布的《Threat Assessment: BianLian》报告中提取了勒索加密工具的Hash信息,成功下载了多个样本用于研究剖析:
通过分析,发现BianLian勒索软件为Golang语言编写,相关截图如下:
进一步分析,发现此样本存在调试信息,可以较快速的识别关键代码函数,相关代码截图如下:
通过分析,发现样本运行后,将从A盘到Z盘识别系统驱动器信息,并从系统中提取可用的文件,便于后续加密行为,相关代码截图如下:
通过分析,发现此样本运行后,将在加密行为开始前,在多个目录中创建名为“look at this Instruction.txt”的带付款说明的文本文件,相关代码截图如下:
在尝试对BianLian勒索软件的加解密原理进行剖析的过程中,笔者也是经历了一波三折,
最开始拿到这个样本时,笔者发现网络中针对此家族样本的报告有多种描述,一时分不清哪种说法正确
描述1:“勒索软件主要使用GoLang加密软件包进行AES和RSA加密”;
描述2:“样本中虽然引用了非对称加密库(RSA和elliptic curves),但勒索软件未调用其执行任何操作。文件数据是使用AES-256 CBC模式加密的”
后续,笔者又发现网络中有报告称avast安全公司发布了免费的BianLian勒索软件解密器,因此,笔者推测BianLian勒索软件可能与描述2的内容吻合
笔者尝试从近期Palo Alto Networks安全公司2024年1月23日发布的《Threat Assessment: BianLian》报告中提取BianLian勒索软件Hash,成功下载了5个样本,尝试对其进行分析,笔者发现此5个样本均调用了AES算法,但未调用RSA算法
然后,笔者就开始琢磨研究BianLian勒索软件加解密原理及模拟编写解密工具
「起初,笔者认为:勒索软件运行后,具备勒索软件后缀的文件均是被其勒索加密后的文件。」
于是,笔者根据BianLian勒索软件的加密效果及加密算法原理,快速的编写了一个BianLian勒索软件解密工具
基于笔者编写的BianLian勒索软件解密工具尝试对勒索软件运行后的加密文件进行解密,同时对加密前与解密后的文件MD5做对比,笔者发现存在大量文件MD5不同的情况......此刻有点慌,应该是解密工具编写的有问题。。。
基于此情况,笔者又反复对比加密前与加密后的文件内容,发现部分文件虽然具备勒索软件后缀,但是文件内容却并未加密。后续,笔者还尝试构建了大量不同大小的文件,用以对比其加密前与加密后的变化情况,测试过程中还一度认为是勒索软件作者写代码时的文件加密逻辑没思考清楚......例如:区分使用按块加密还是整块加密的方法是基于文件大小的,但实际上,0xfff大小的文件是按块加密的,0x1009大小的文件是整块加密的,0x1000-0x1008大小的文件是不调用加密的
最后,笔者决定通过动态调试探索一下加密逻辑,在动态调试后,笔者才比较清晰的对其加密逻辑进行了详细梳理,
,不同样本的加密偏移位置不同,用于指定从文件的哪个数据位置开始数据加密
第一层校验:样本在开始加密行为前,将调用project1_common_GetBlocksAmount函数,并向project1_common_GetBlocksAmount函数传递上述3个特殊数据,函数返回值将决定样本是否调用加密函数加密文件
第二层校验:样本将计算实际读取的文件大小(从加密偏移位置开始读取)是否与块大小相等,计算结果将决定样本是否调用加密函数加密文件
「最终梳理发现,受害系统中虽然有很多勒索软后缀文件,但并非所有文件均被加密,而且不同文件大小所调用的加密算法逻辑也不一样」
通过分析,笔者发现此样本将调用AES CBC算法进行勒索文件加密,相关代码截图如下:
进一步分析,发现其AES CBC算法所需的KEY和IV值均内置于样本中,相关截图如下:
尝试将已掌握的所有样本的KEY和IV值进行提取,梳理密钥及关键信息如下:
结合静态分析及动态调试等分析手段,梳理BianLian勒索软件的加密算法逻辑如下:
若文件大小小于0x1000,则数据块大小为16**(按小数据块分别加密:从文件加密偏移位置开始提取多个数据块,并分别对每个小数据块内容进行加密)**
若文件大小大于0x400000(4MB),则基于运算计算数据块大小,若计算后结果依然大于0x400000,则数据块大小为0x400000**(按大数据块整个加密:从文件加密偏移位置开始提取整个数据块,并直接对整个数据块内容进行加密)**
基于上述加密算法逻辑,以1fd07b8d1728e416f897bef4f1471126f9b18ef108eb952f4b75050da22e8e43样本作为案例样本(加密偏移位置:9),梳理不同文件大小的加密情况如下:
通过上述分析,发现BianLian勒索软件的不同样本的AES KEY、AES IV、加密偏移位置均不同,因此,为了能够实现一键化解密,笔者准备从如下角度构建勒索软件解密工具:
根据系统中的勒索加密文件情况,自动化匹配提取AES KEY、AES IV及加密偏移位置信息:以系统桌面中的文件作为参考文件,使用多个内置密钥进行解密尝试,若成功解密,则返回对应的AES KEY、AES IV及加密偏移位置信息。
基于上述BianLian勒索软件的加解密原理,模拟构建针对BianLian勒索软件的解密工具,解密还原原始文件,并将勒索后缀文件重命名为“.bak”文件后缀。
使用BianLian勒索软件解密工具解密勒索加密文件,系统文件截图如下:
在这里,笔者将使用golang语言模拟构建BianLian勒索软件的一键化解密工具,详细情况如下:
八国外长发表联合声明:坚决反对任何形式的将巴勒斯坦人民强行迁离家园的企图
悬赏10万!陕西58岁男子酒后失踪240多天,最后一通电话称“没路了”,多方搜救
中国宅男日本报恩记,流浪日本街头被日本大叔收留,几年后他做了这么一个举动
陈梦晒和黄晓明六宫格合照,一身西装妆容精致,黄晓明回应:谁这么幸运,有又酷又棒又美又飒的妹妹
OpenAI“紧急提前”发布GPT 5.2,应对Gemini 3的火爆
索尼Bravia 9 II旗舰Mini LED电视曝光:4000尼特亮度
Wuque Studio发布内置机械腕表机芯的高端定制机械键盘Nama