我们最近面临着一场大规模的一种新的类似petya的恶意软件配备了类似“想哭”的感染病毒。这项研究仍在进行中,完整的报告将很快发表。

在这篇文章中,我们将关注当前恶意软件的一些新的重要方面。低级攻击的工作方式与描述的第一次Petya相同在这里.与前面一样,磁盘的开始部分被恶意的Petya内核和引导加载程序覆盖。当恶意内核被引导时,它会加密主文件表使用Salsa20,并以这种方式使磁盘不可访问。

Petya内核的代码没有太大变化,但是在高级部分(Windows可执行程序)中实现的新逻辑导致了恶意软件任务的变化。过去,在支付赎金后,受害者的萨尔萨密钥会被恢复,在它的帮助下,Petya内核能够解密主文件表.现在,必要的钥匙似乎永远消失了。因此,恶意软件似乎只有破坏性的意图。

让我们来看看实现并讨论细节。

样品分析:

(更新)在Salsa20实现中发现了一个小错误.不幸的是,它的重要性不足以帮助恢复密钥。

磁盘是如何加密的?

低级别攻击影响主文件表没有改变自《黄金眼》在内的邦德系列.它由Petya内核执行。

Salsa20算法在Petya的早期版本中被错误实现并导致它被破解的问题已经在版本3中得到了修复在这里).现在它看起来几乎和黄金眼一样(这是进化的第四步),但它似乎没有任何重大错误.因此,一旦数据被加密,使用有效的密钥是恢复它的唯一方法。

下面是当前版本和Goldeneye版本之间代码更改的比较。

查看代码内部,我们可以看到仅对负责在屏幕上显示信息的元素进行了重大更改。

另一个微妙而有趣的变化是Salsa20键扩展功能。尽管Salsa20算法本身没有改变,但与原始版本相比,有一个关键字发生了变化。下面是当前示例代码的片段:

这是《黄金眼》中相应的片段

而不是典型的for关键字Salsa20(“expand32-byte k”)我们有一些定制的东西:”1 nvald s3ct-id(可以解释为:“无效的扇区id”)。正如我们所确认的,这个关键字的改变不会影响加密的强度。然而,它可能被视为有关攻击者真实意图的信息。

如何生成Salsa密钥?

和前面一样,生成Salsa密钥和nonce是由PE文件(位于较高级别的感染程序)完成的,该文件位于准备将存根写入磁盘的函数内部。

在所有版本的Petya中,都使用了安全随机生成器。我们可以在当前的版本中找到它——它使用CryptGenRandom。

生成的Salsa密钥和nonce存储在专用扇区中,以便内核在加密期间进一步使用。

存储数据示例:

偏移量0x4000的字节是标志:0表示磁盘还没有加密,1表示加密。

从偏移量0x4001开始,Salsa20键开始。长度为32字节。在那之后,在偏移0x4021处有一个随机的Salsa20。

在加密之后,Salsa密钥会发生什么?

在读取并用于加密算法之后,存储的Salsa密钥将从磁盘中删除。可以看到加密阶段之前和之后的磁盘映像的比较。

如您所见,在使用之后,该键将被删除。

受害人的身份和萨尔萨密钥有什么关系?

在Petya的以前版本中,受害者ID实际上是受害者的Salsa20密钥,使用攻击者的公钥加密并转换为Base58字符串。因此,尽管磁盘上的Salsa密钥被删除了,但备份仍然存在,只有攻击者可以访问,因为他们有私有密钥来解密它。

现在,这不再是事实了。受害者的身份是随机生成的,甚至在随机的萨尔萨密钥之前。所以,在当前版本中,Salsa密钥和受害者ID的关系是none。受害者的身份证就是垃圾。你可以在视频中看到生成它的过程。


从感染的磁盘重新启动后,可以确认Salsa key和nonce之前生成的随机字符串与屏幕上显示的受害者ID(“personal installation key”)相同:

结论

根据我们目前的了解,恶意软件是故意破坏的,萨尔萨密钥从来没有打算恢复。尽管如此,它在迫使人们支付赎金方面仍然有效。我们注意到比特币账户有新的支付。你可以在这里看到比特币地址的链接:https://blockchain.info/address/1Mz7153HMuxXTuR2R1t78mGSdzaAtNbBWX

如果你是这个恶意软件的受害者,你正在考虑支付赎金,我们警告你:不要这样做。这是一个骗局,你很可能永远也拿不回你的数据。

我们会及时向大家发布最新发现。

附录

微软关于新版Petya的报告

关于原版(Goldeneye):

黄金眼勒索软件- Petya/Mischa组合重新命名

此视频无法显示,因为您的功能性饼干目前禁用。

请访问我们的隐私政策并搜索cookie部分。选择“点击这里”打开隐私偏好中心并选择“功能性饼干”在菜单。您可以将选项卡切换回“活跃”或通过移动TAB来禁用“不活跃”。点击“保存设置”。


这是一篇由Hasherezade撰写的客座文章,他是一个对InfoSec有浓厚兴趣的独立研究员和程序员。她喜欢详细介绍恶意软件,并与社区分享威胁信息。看看她的推特@hasherezade以及她的个人博客:https://hshrzd.wordpress.com