Rhysida 勒索病毒技术分析

Rhysida是一种新的勒索病毒变种,于2023年第二季度出现。Rhysida勒索病毒的首次提及是在由所发表(样本的时间戳为2023年5月16日)。截至2023年10月12日,该勒索病毒的泄露网站包含超过50家被攻击的各类机构名单,包括政府、医疗和IT行业。

2023年10月16日Rhysida数据泄露网站的截图

Rhysida勒索病毒的受害者可以直接联系Avast专家,电邮至decryptors-at-avast-dot- com,以进行免费咨询,了解如何减轻攻击造成的损害。

Rhysida加密器分析

Rhysida加密器为32位或64位的Windows PE档案,使用MinGW GNU版本6.3.0编译,并由GNU链接器v2.30链接。第一个公共版本是一个调试版本,这使得其分析变得更容易。

在加密操作中,Rhysida使用了库的版本。在多线程和同步操作中,Rhysida使用了库。随机数生成方面使用,用于生成随机数,如AES加密密钥、AES初始化向量和RSA- OAEP加密的随机填充。公开的RSA密钥是硬编码在二进制档案中(使用ASN1编码),并通过函数载入。每个样本有不同的嵌入RSA密钥。

加密器可支持以下命令行参数:

  • -d 指定要加密的目录名称。如果省略,则会加密所有驱动器(以字母识别)
  • -sr 在文件加密后启用自我删除
  • -nobg 禁用设置桌面背景
  • -S 当此参数存在时,Rhysida将创建一个计划任务,在操作系统启动时以系统帐户执行
  • -md5 当此参数存在时,Rhysida将在加密每个文件之前计算MD5哈希。然而,这个功能尚未完全实现——MD5是计算出来的,但在后续并未被使用。

当执行时,加密器将查询系统中的处理器数量。此值用于:

  • 分配随机数生成器(每个处理器一个)
  • 创建Encryptor线程(每个处理器一个)

多线程加密的初始化

此外,Rhysida还创建了一个FileEnumerator线程,通过字母搜索所有可用的磁碟驱动器。在2023年7月之前的二进制档案按正常顺序枚举驱动器(从A:到Z:);2023年7月1日之后的二进制档案则以反向顺序枚举驱动器(从Z:到A:)。

FileEnumerator线程搜索要加密的文件,并将它们放入一个同步列表中,准备被其中一个Encryptor线程提取。系统关键文件夹中的文件,以及运行操作系统和程序所需的文件均被排除在加密之外。

被跳过的目录列表:

  • /$Recycle.Bin
  • /Boot
  • /Documents and Settings
  • /PerfLogs
  • /Program Files
  • /Program Files (x86)
  • /ProgramData
  • /Recovery
  • /System Volume Information
  • /Windows
  • /$RECYCLE.BIN

被跳过的文件类型列表:

  • .bat
  • .bin
  • .cab
  • .cd
  • .com
  • .cur
  • .dagaba
  • .diagcfg
  • .diagpkg
  • .drv
  • .dll
  • .exe
  • .hlp
  • .hta
  • .ico
  • .lnk
  • .msi
  • .ocx
  • .ps1
  • .psm1
  • .scr
  • .sys
  • .ini
  • Thumbs.db
  • .url
  • .iso

此外,通常名为CriticalBreachDetected.pdf的赎金通知文件也被排除在加密文件列表之外。赎金通知文件的PDF内容是硬编码在二进制文件中,会被丢到每个文件夹中。以下图片显示了来自2023年9月版本的勒索通知示例:

除了丢下赎金通知外,如果在配置中启用,Rhysida还会生成一张JPEG图片,存储在C:/Users/Public/bg.jpg。该勒索病毒的早期版本生成的图片存在不必要的伪影,但在Rhysida的后期版本中已经修正。下图展示了一张此类JPEG图片的示例:

该图片被设置为受感染设备的桌面背景。为此,会透过system(C语言相当于CreateProcess)调用外部过程:

Rhysida可能会根据配置和二进制版本执行其他操作,包括:

  • 使用以下命令删除影子副本:
    cmd.exe /c vssadmin.exe Delete Shadows /All /Quiet
  • 使用此命令删除事件日志:
    cmd.exe /c for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
  • 通过PowerShell命令自我删除:
    cmd.exe /c start powershell.exe -WindowStyle Hidden -Command Sleep -Milliseconds 500; Remove-Item -Force -Path "%BINARY_NAME%" -ErrorActionSilentlyContinue;
  • 在Windows启动时(重新)创建计划任务:
    cmd.exe /c start powershell.exe -WindowStyle Hidden -Command “Sleep -Milliseconds 1000; schtasks /end /tn Rhsd; schtasks /delete /tn Rhsd /f; schtasks /create /sc ONSTART /tn Rhsd /tr \”
  • 使用以下命令删除计划任务:
    cmd.exe /c start powershell.exe -WindowStyle Hidden -Command "Sleep -Milliseconds 1000; schtasks /delete /tn Rhsd /f;"

Rhysida如何加密文件

为了达到最高的加密速度,Rhysida的加密由多个Encryptor线程执行。大于1 MB(1048576字节)的文件被划分为2-4个块,每个块仅加密1MB的数据。以下表格显示了块数、每个块的大小和加密部分的长度的概览:

| 文件大小 | 块数 | 块大小 | 加密长度 | |-------------|--------|--------------|-------------| | 0 – 1 MB | 1 | (整个文件) | (整个块) | | 1 – 2 MB | 1 | (整个文件) | 1048576 | | 2 – 3 MB | 2 | 文件大小 / 2 | 1048576 | | 3 – 4 MB | 3 | 文件大小 / 3 | 1048576 | | > 4MB | 4 | 文件大小 / 4 | 1048576 |

表1:文件大小、块数、块长度和加密长度。

加密文件的过程中执行了多个步骤:

  • 将文件重命名为以“.rhysida”结尾。
  • 通过以下序列获取文件大小。请注意,早期版本的勒索病毒包含一个错误,导致忽略文件大小的上32位。在Rhysida的后期版本中,这个错误已被修正。
  • 根据文件大小,Rhysida计算出数量和长度,如表1所示。
  • 生成32字节的文件加密密钥和16字节的AES-256流密码的初始化向量,这是使用与Encryptor线程相关的随机数生成器生成的。
  • 使用AES-256在下加密文件。
  • 文件加密密钥和IV通过的OAEP填充进行加密,并储存到文件尾结构中。
  • 这个文件尾被附加到加密文件的末尾:

结论

Rhysida是一种相对新颖的勒索病毒,但已经有一长串被攻击的机构。截至2023年10月,该病毒仍在活跃开发中。

Rhysida勒索病毒的受害者可以联系我们,电邮至decryptors-at-avast-dot-com,以获取有关如何减轻攻击造成的损害的咨询。

标签:、、

分享:XFacebook

Leave a Reply

Required fields are marked *