关键点
- PartyTicket 是一个简单且设计不佳的勒索软件系列,可能旨在转移 Hermetic Wiper 攻击
- 勒索软件生成单个 AES 密钥,用于在 GCM 模式下加密目标文件
- 无需访问 RSA 私钥即可解密文件,因为 AES 密钥是使用确定性的随机函数生成的
技术分析
2022 年 2 月 23 日,一个名为Hermetic Wiper的新型复杂恶意软件家族被发现,它以乌克兰的组织为目标,目的是破坏数据并造成业务中断。Hermetic Wiper 似乎与另一个伪装成勒索软件的恶意软件家族一起使用。这种称为 PartyTicket 的二级恶意软件具有 SHA256 4dc13bb83a16d4ff9865a51b3e4d24112327c526c1392e14d56f20d6f4eaf382 并使用 Go 编程语言编写。UTC 时间 2022 年 2 月 23 日 22:29:59 提交到公共恶意软件存储库的第一个 PartyTicket 样本。
PartyTicket 与典型的勒索软件系列截然不同,因为它的设计和实施看起来仓促而简单。例如,PartyTicket 不会在加密之前终止诸如数据库和其他业务应用程序之类的进程。因此,可以加密的潜在文件的数量是有限的,因为许多应用程序可能具有打开的文件句柄。此外,恶意软件使用 Go 编程语言的随机函数生成一个 32 个字符的字母数字密钥,这是确定性的。因此,可以恢复 AES 加密密钥并用于解密文件。PartyTicket 还以众多模仿美国总统乔·拜登的参考资料脱颖而出,如图 1 所示。
图 1. 嘲弄美国总统乔·拜登的 PartyTicket 代码引用
该恶意软件采用单个命令行参数,即要加密的文件名。如果恶意软件在没有任何参数的情况下启动,它会构建一个要加密的文件列表。对于此列表中的每个文件,恶意软件使用通过调用 UUID Go 库函数生成的名称创建自身的新副本,该名称基于当前时间戳和系统的 MAC 地址。
然后执行新的 PartyTicket 副本并传递文件名进行加密。这种设计选择非常奇怪,因为它显着降低了系统速度,因为创建了一个新进程来加密每个文件。此外,由于恶意软件二进制文件大于 3MB,因此创建的大量恶意软件副本会占用磁盘空间。图 2 显示了在文件加密期间创建的众多 PartyTicket 可执行文件的示例。
图 2. 文件加密期间 PartyTicket 可执行文件的副本
PartyTicket 枚举所有具有表 1 中所示扩展名的文件。
.docx | .doc | .dot | .odt |
.xls | .xlsx | .rtf | |
.ppt | .pptx | .one | .xps |
.pub | .vsd | .txt | .jpg |
.jpeg | .bmp | .ico | .png |
.gif | .sql | .xml | .pgsql |
.zip | .rar | .exe | .msi |
.vdi | .ova | .avi | .dip |
.epub | .iso | .sfx | inc |
.contact | .url | .mp3 | .wmv |
.wma | .wtv | .cab | .acl |
.cfg | .chm | .crt | .css |
.dat | .dll | .html | .htm |
表 1. PartyTicket 的目标扩展
位于Windows和Program Files 文件夹中的文件将被跳过。在文件加密之前,目标文件使用扩展名 .[ [email protected] ].encryptedJB 重命名,如图 3 所示。
图 3. 由 PartyTicket 加密的示例文件扩展名
该恶意软件嵌入了一个经过 Base64 编码的硬编码 2,048 位 RSA 密钥。字符串经过 Base64 解码后的模数和指数如下:
{"N":25717750538564445875883770450315010157700597087507334907403500443913073702720939931824608270980020206566017538751505629421265104974103147570147793053042036863191254946923781676642090335412731279862111354061120228616841376992917732378943779121050854967382946609942428983247336676216790986210080736803862945150526472173167906828929762505592535870383583936487111702345068645085659309737832227242430435624646519262394891097897303125875418724226485960819950080048563760122492117729591949924833142856225432439701811178348276860736565390543324668247780303411465497265471890279550350192239339342142099892835177175612362030619,"E":65537}
PartyTicket 使用此 RSA 公钥加密用于文件加密的 AES 密钥。文件在 GCM 模式下使用 AES 加密,使用 Go 函数math.rand.Int()创建的 32 字节字母数字字符串,这是确定性的,因此不是加密安全的。加密文件格式由用作 AES-GCM 随机数的前 12 个字节组成,随后是 AES 加密数据、16 字节 AES-GCM 身份验证标签、RSA 加密的 AES 密钥,最后附加了字符串标记ZVL2KH87ORH3OB1J1PO2SBHWJSNFSB4A。
每个文件加密后,相应的勒索软件临时副本就会被删除。
赎金记录使用文件名read_me.html写入用户的桌面。图 4 显示了在 Web 浏览器中呈现的赎金票据示例。
图 4. PartyTicket 赎金票据示例
特殊 ID值是通过调用 Go UUID 函数生成的,没有任何用途。
Zscaler 覆盖范围
我们已通过高级威胁签名以及我们的高级云沙箱确保覆盖这些攻击中出现的有效负载。
高级威胁防护
Win32.Trojan.HermeticWiper
高级云沙盒
Win32.Trojan.HermeticWiper
下面的图 5 显示了 PartyTicket 的沙盒检测报告。
图 5. Zscaler 云沙盒报告 - PartyTicket
了解恶意软件对抗视频教程请看:
https://edu.csdn.net/lecturer/5805?spm=1002.2001.3001.4144
原文始发于微信公众号(安全狗的自我修养):PartyTicket勒索软件技术分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论