遭遇勒索软件应该怎么办 被勒索软件“绑架”了咋办
创始人
2024-02-12 13:22:37
0

在网络技术不断发展的同时,一系列的网络恶意软件也在不断衍生。勒索软件是黑客用来劫持用户资产或资源并以此为条件向用户勒索钱财的一种恶意软件。

勒索软件

Cylance高级威胁研究员Derek Soeder在本文中与大家分享了如何对勒索软件进行逆向工程以恢复加密用户文件的密码。下面我们来看看Soeder都做了哪些操作,来恢复被勒索软件“绑架”的用户数据。

挑战勒索软件

2013年初,有一家机构向我们寻求帮助,请求恢复他们被勒索软件ACCDFISA感染的服务器中的数据。这个恶意软件已经仔细扫描了每个驱动器上的每一个文件,并且对所有重要文件进行了恶意加密。想要从备份恢复完全是不可能的,因为服务器上的备份驱动同样已经安装了恶意软件。这真的是一场完败!

这个恶意软件让每个文件变成了一个包含加密RAR的自解包程序,同时文件名带有指令:(!!解密电子邮件id…到…@…!!).exe。

这个变体声称使用了256字符随机生成这一高级加密标准.256对每个“受害者”进行单独加密,同时攻击者可以远程存储这些密码。据称这种加密方式可以安全地删除所有未加密原文件以及密码文件,来对恢复硬盘的努力进行阻碍。

试图找到解压软件加密中的一个漏洞似乎并不是最有效的解决思路;相反,我们要把注意力转向破解密码上。为此,我们需要找到创建密码的代码。

找到密码生成器

在对受感染服务器的驱动副本进行反复查看之后,我们发现恶意程序和一些奇怪的文件可能有关系。我们发现微软Sysinternals的删除工具(可以永久删除文件)、一个“NoSafeMode”库以及一个用于自解包程序的RAR实用程序。而RAR实用程序则成为我们进行逆向工程的起点。

这个实用程序接受加密秘钥作为一个命令行参数,所以我们猜测能够通过回溯用于启动的恶意软件代码,从而找到密码生成器。

找到密码生成器

首先,我们在一次性系统中运行此勒索软件。我们用调试器来拦截生成过程的调用,启动RAR实用程序,伪装成svchost.exe。这样我们就能看到勒索软件执行的每个命令,以及最终用于加密文件的密码。截获的密码为aseT322B2XgM(mC0…有57个字符长,大小写、数字、标点符号混合通过一个点击动作就随机生成)。而以aes开始的密码可能是巧合,或是有意而为的点缀。如果是故意的,那么我们期望可以找到勒索软件代码中的字符串。当我们打开勒索软件反汇编程序时,我们发现不只是aes,而是aesT322。我们因此知道密码实际上是aesT322以及后面大约50位随意生成字符。

勒索软件反汇编程序

我们知道截获的密码不一定与加密客户文件的密码相同。但是我们已经知道一些线索来指导我们下一步逆向工程:我们可以寻找密码本身或者碎片,寻找可能用于生成密码的字符表,以及寻找用于构建命令行密码部分的字符串。

我们使用调试器寻找勒索软件运行时被分配到全局变量的值,通过逆向工程,我们确认了一个全局变量:一个是aesT322前缀字符串,另一个是50位随机字符的字符串,以及57位的完整密码。

搞清楚生成器工作原理

我们了解了很多关于勒索软件的工作原理,但目前我们不认为这会对受害者有所帮助。实际上,我们排除了只是一个固定字符串(即简单密码)被用于所有情况的可能,我们仍然在探索的路上。

通过在程序中跟踪每个实例中的三个变量,我们发现一个循环,就是随机选择的50个字符来自一个由26个小写字符、26个大写字母、10个数字以及16个标点构成的78个字符表,其中有重复。计算机很难实现真正的随机。想要打败加密的一个方法便是攻击“伪随机数生成器”(PRNG),而这就是我们真正要做的。

最终我们发现了初始化的PRNG,或说是去了“种子”的,这是一段带有来自执行此代码线程标识符的32字节数字,以及以毫秒为单位系统运行的时长。这些都是可以预测的值。由于32字节的种子,我们现在了解到最多可能有40亿种不同密码,而非真正从78个字符中随机产生出50个字符而存在的天文数字般可能性。

原因是之前提到的,即使在随机行为中计算机也通常运用了僵化的决定方式。而对于任意给定的种子值,PRNG可以在任何时间从初始值以相同顺序、相同方式、产生相同的数字。而种子是32字节的数字,那么就存在0到10亿的可能性,因此相同初始状态存在的可能领域是大大受限的。

猜密码的过程是十分耗时的,而这正是我们接下来要做的。

猜密码

一个包含40亿个密码的列表是恐怖的。但我们知道了种子是依赖于一个线性ID的(它是四的倍数),通常少于10000和系统正常运行周期。在49.7天的进程中,正常运行时间将从0数到40亿,然后环绕一圈再次回到0。我们需要了解服务器在被攻击之前运行了多久——可能通过一个文件时间戳或一个时间日志条目——来缩小可能性的范围。但是我们发现了一些更好的情况。

猜密码

在所有奇怪的文件中,我们发现一个在ProgramData目录下的stppthmainfv.dll,带有21行每行含有8个随机字母。我们决定逆向操作,用“暴力”破解所有存在可能的种子值,找出哪个可能让PRNG产生出这21行的。由于这是一个32位的字符串,我们知道在一台正常电脑上搜索应该不会超过几个钟头。这样就会比使用所有潜在密码破解RAR实用程序速度快得多。

一个单核CPU4秒钟便可测试31956209种存在的可能性,同时找到stppthmainfv.dll 中相同顺序的字母生成的31956208个种子值。我们生成了大约12MB的密码列表与种子值进行测试(比测试236GB大小的40亿中可能要强太多了)。我们通宵运行了一批程序,针对RAR实用程序进行密码逐个测试。

当清晨降临,我们已经获得了那个我们一直在等待的——正确密码。实验成功了!最终,看我们成功从勒索软件中夺回了用户的数据。

相关内容

热门资讯

声浪很大的LOL怀旧服,怎么没... 大家应该记得,LOL 怀旧服刚放出预告那阵,热度有多高。 各路主播全在玩,连热度低了很久的大司马,一...
原创 2... YY直播2026夏季头条已于上月末圆满收官,作为平台的经典赛事头条大战的热度依旧火热,并且每届都能涌...
陌瑾游戏录:倾听玩家声音,才是... 市面上有不少怀旧类网游,高开低走早已不是个例。复刻老内容只是基础,能不能听得进去玩家的声音,才是游戏...
火到限制创建角色了?《梦幻西游... 中午12点刚过,《梦幻西游:再续前缘》的服务器就被玩家挤爆了。 首批6台服务器同步开放,很快全线飘红...
战棋手游是陷阱?前作赚了几十亿... 另一种思路。 文/修理 《梦幻模拟战》手游很赚钱,这大家都知道。按行业惯例,如果要出下一代旗舰产品,...
梦幻又“爆”了!再续前缘刚开,... 在国内回合制网游领域,《梦幻西游》是当之无愧的国民级IP。 今年3月,《梦幻西游》电脑版最高同时在线...
一家倒闭了13年的女仆店,突然... 2010年之前,谁都不会想到二次元这个词能够有如今这般影响力,现如今二次元已经成为许多年轻人的时尚单...
原创 L... MSI和EWC折戟而归以后,LPL开启了本年度最为重要的第三赛段篇章。按照赛程,本赛段的时间为:7月...
机制强还是数值强?《坦克世界》... 要说今年《坦克世界》国服周年庆哪台新车争议最大,肯定得是中阶箱子的Y系九金坦歼撼首者了。它不仅外观奇...
梦幻西游:再续前缘热度飙升!地... 8月21日中午12点,《梦幻西游:再续前缘》正式全平台开服。 说实话,虽然早就知道这个游戏人气不低,...
《龙之谷》怀旧服二周年:在保持... 《龙之谷》怀旧服转眼已是两载旅途,阿尔特里亚见证了无数次巢穴攻坚、结伴冒险。无数谷迷在此并肩开荒、结...
原创 梦... 8月21日中午12点,《梦幻西游:再续前缘》iOS和安卓同步上线。 无需点卡,拿出手机就能玩,而且账...
原创 大... 相信最近很多玩家都被王者荣耀的新英雄刷屏了。毕竟新英雄王维的技能机制给人的感觉确实很强,但没想到大家...
虎娘日报:云顶神话级物品上线一... LOL新鲜事,简单报,虎娘带你来回顾一下今天在撸圈都有哪些有热点新闻发生吧~ 云顶之弈新赛季神话级物...
原创 能... Hero久竞在上周的比赛里拿到1胜1负的成绩,目前2胜1负3净胜分位居A组第二。随着SYG收官战的落...
6服同开全线飘红,大司马空降梦... 你有多久没见过一款新游开服,能把新手村挤得连NPC都点不到了? 8月21日中午12点,《梦幻西游:...
死亡扣一天寿命!影之刃零隐藏6... 影之刃零居然还有惊喜啊,就在刚刚影之刃零专场sop中透露了非常多的游戏信息,给大家简单整理一下啊。 ...
当AI工具不完全稳定,它们是如... “去年11月,我真的以为‘人可以像写诗一样地做游戏’。”Krejerk感慨说。他的本职工作是开酒吧,...
《人中之龙》系列击破Steam... Steam 愿望单排名 19 位的剑戟动作新作《鬼武者 剑之道》,杉果预购 9 折立省 30 元!《...