解密Akira 勒索病毒

Avast 的研究人员开发了一种用于 Akira 勒索软件的解密工具,并已公开发布供下载。Akira 勒索软件于 2023 年 3月首次出现,自那时起,该团伙声称已成功攻击多个教育、金融和房地产等行业的组织。

跳到如何使用 Akira 勒索软件解密工具

请注意,此勒索软件与 2017 年由 Karsten Hahn 发现的 Akira 勒索软件无关,我们的解密工具无法用于解密该旧版本的文件。

Akira 勒索软件为 64 位 Windows 二进制文件,专为 Windows 操作系统编写。它是用 C++ 编写的,并大量依赖 C++ 库。此外,还使用了 来实现异步加密代码。该二进制文件由 Microsoft Linker14.35 版本链接。

2023 年 6 月,一位安全研究员 发布了一个为 Linux编译的样本。Linux 版本也是 64 位,并使用 Boost 库。

Akira 加密方案

在运行期间,勒索软件使用 [CryptGenRandom()](https://learn.microsoft.com/en- us/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom) 生成对称加密密钥,该函数是 Windows CryptoAPI 实现的随机数生成器。文件通过 Chacha 2008()进行加密。

对称密钥通过 RSA-4096 算法加密,并附加到加密文件的末尾。公钥在勒索软件二进制文件中硬编码,并且每个样本都不同。

排除列表

在搜索加密文件时,Akira 并没有特别挑剔。通常,勒索软件都会有一个待加密的文件类型列表,而 Akira 则有一个 用于加密的文件列表:

  • .exe
  • .dll
  • .lnk
  • .sys
  • .msi
  • akira_readme.txt

此外,Akira 始终会忽略某些文件夹:

  • winnt
  • temp
  • thumb
  • $Recycle.Bin
  • $RECYCLE.BIN
  • System Volume Information
  • Boot
  • Windows
  • Trend Micro

即使是 winnt 文件夹,它曾是 Windows 2000 默认安装文件夹,也未能幸免。

小文件加密方案

小于等于 2,000,000 字节的文件,勒索软件会加密文件的前半部分。此类加密文件的结构如下:

| 块类型 | 大小 | |----------------|----------------------| | 加密块 | 文件大小 / 2 | | 明文块 | 文件大小 / 2 | | 文件尾部 | 534 字节 |

大文件加密方案

对于大于 2,000,000 字节的文件,Akira 会加密四个块。首先,计算完整块的大小(见图 1)。

图 1:Akira 对完整加密块大小的计算。

接下来,计算块中加密部分的大小(见图 2)。

图 2:Akira 对块加密部分大小的计算。

然后创建加密文件的布局(见图 3)。

| 块类型 | 大小 | |------------------|--------------------------| | 加密块 #1 | EncryptedLength | | 明文块 | BlockLength – EncryptedLength | | 加密块 #2 | EncryptedLength | | 明文块 | BlockLength – EncryptedLength | | 加密块 #3 | EncryptedLength | | 明文块 | BlockLength – EncryptedLength | | 加密块 #4 | EncryptedLength | | 明文块 | 剩余文件 | | 文件尾部 | 534 字节 |

图 3:加密文件的布局。

文件尾部的结构可用 C 语言的以下结构描述:

图 4:文件尾部结构。

加密文件的扩展名为 .akira。每个文件夹中会生成一个名为 akira_readme.txt 的文件(即赎金通知)。

图 5:Akira 赎金通知文件。

赎金通知中提到两个 TOR 网站。在第一个网站(图 6),用户可以查看被黑公司名单;在第二个网站,受害者则被告知如何付款(图 7)。

图 6:TOR 网站列出受害公司说明。

图 7:Akira TOR 网站指导受害者如何支付赎金。

Akira 的 Linux 版本

Akira 勒索软件的 Linux 版本的工作方式与其 Windows 版本相同。加密文件具有相同的扩展名和加密方案。显然,WindowsCryptoAPI 在 Linux 上不可用,因此勒索软件作者使用了 Crypto++ 库来替代在 Windows 中由 CryptoAPI 处理的部分。

我们的团队目前正在开发 Linux 版本的解密工具。与此同时,Windows 版本的解密工具可以用于解密由勒索软件的 Linux 版本加密的文件。请使用 WINE 层在 Linux 中运行解密工具。

与 Conti 的相似性

Akira 与 Conti v2 勒索软件有一些相似之处,这可能表明恶意软件作者至少受到泄漏的 Conti 源代码的启发。共同之处包括:

  1. 文件类型排除列表:Akira 忽略与 Conti 相同扩展名的文件,唯一不同的是其使用的是 akira_readme.txt 而不是 R3ADM3.txt
  2. 目录排除列表:同样,Akira 忽略与 Conti 相同的文件夹,包括 winntTrend Micro,这使得 Trend Micro 的默认安装文件夹在两个勒索软件中显得特别顽强。
  3. Akira 的文件尾结构与 Conti 附加的文件尾相同(见图 8)。

图 8:Conti 勒索软件文件尾。

成员变量 bEncryptType 在 Conti v2 中设置为 0x24、0x25、0x26,而 Akira 设为 0x32。

  1. Akira 使用的 ChaCha 2008 实现与 Conti 勒索软件使用的相同。
  2. 密钥生成的代码(两次调用 CryptGenRandom,后跟 CryptEncrypt)与 Conti 的密钥生成函数相似。

如何使用 Avast 解密工具解密被勒索软件加密的文件

请仔细阅读说明。解密成功率将依赖于此。如果您不喜欢阅读手册,至少要阅读有关文件配对的说明

  1. 第一步是下载解密工具的二进制文件。Avast 提供了一个 ,因为勒索软件也是 64 位的,不能在 32 位 Windows 上运行。如果您只能使用 32 位应用程序,可以在此处下载 。
  2. 以管理员身份运行可执行文件,它会以向导形式启动,引导您配置解密过程。
  3. 在初始页面,我们有一个链接到许可信息。准备好开始时,单击下一步按钮。

  1. 在下一个页面中,选择您希望搜索并解密的文件位置列表。默认情况下,它包含所有本地驱动器的列表:

  1. 在接下来的页面中,您需要提供一个原始文件的示例,以及一个由 Akira 勒索软件加密的文件。输入这两个文件的名称。您还可以从 Windows 资源管理器将文件拖放到向导页面。

非常重要的一点是选取尽可能大的文件对。由于 Akira 的块大小计算,即使文件大小相差 1 字节,解密成功的可能性差异也可能非常大。

当您点击下一步时,解密工具将仔细检查这对文件,并告知您最大的可解密文件是什么。通常,大小限制应与原始文件的大小相同:

  1. 下一页面是进行密码破解的地方。当您准备好开始时,点击开始。此过程通常只需几秒钟,但会占用大量系统内存。因此,我们强烈建议使用 64 位版本的解密工具。

一旦找到密码,您可以通过单击下一步来继续解密您电脑上所有的加密文件。

  1. 在最后一页,您可以选择备份加密文件。这些备份可以帮助您在解密过程中出现问题时恢复。此选项默认选中,我们建议选择。点击解密后,解密过程开始。让解密工具工作,直到它完成对您所有文件的解密。

如对此 Avast 解密工具有任何疑问或意见,请发送电子邮件至 。

IO 指示(Indicators of Compromise)

Windows 版本

3c92bfc71004340ebc00146ced294bc94f49f6a5e212016ac05e7d10fcb3312c5c62626731856fb5e669473b39ac3deb0052b32981863f8cf697ae01c80512e5678ec8734367c7547794a604cc65e74a0f42320d85a6dce20c214e3b4536bb337b295a10d54c870d59fab3a83a8b983282f6250a0be9df581334eb93d53f34888631ac37f605daacf47095955837ec5abbd5e98c540ffd58bb9bf873b1685a501b6af2fbbc636180dd7bae825486ccc45e42aefbb304d5f83fafca4d637c13cc9ca333b2e88ab35f608e447b0e3b821a6e04c4b0c76545177890fb16adcab163d0510e1d89640c9650782e882fe3b9afba00303b126ec38fdc5f1c14843419596cadab96185dbe6f3a7b95cf2f97d6ac395785607baa6ed7bf363deeb59cc360

Linux 版本

1d3b5c650533d13c81e325972a912e3ff8776e36e18bca966dae50735f8ab296

标记为 、、。

分享:X Facebook

Leave a Reply

Required fields are marked *