前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >勒索软件 BlackBasta 2.0 的技术演变

勒索软件 BlackBasta 2.0 的技术演变

作者头像
FB客服
发布2023-03-29 15:57:51
4580
发布2023-03-29 15:57:51
举报
文章被收录于专栏:FreeBuf

2022 年 11 月 16 日,研究人员发现 BlackBasta 勒索软件开始使用全新的样本文件。新版本的 BlackBasta 相比旧版本更新了许多代码(包括文件加密算法与库文件),拥有更低的引擎检出率。恶意样本的大部分字符串都已经经过混淆,文件名也已经随机化,这阻碍反病毒引擎与 EDR 等安全产品的检测。

技术分析

字符串混淆

与 Conti 勒索软件类似,BlackBasta 勒索软件开发人员似乎也使用了 ADVObfuscator 进行字符串混淆。如下图所示,基于栈进行构建,并且使用异或操作对单个字节进行解密:

【字符串混淆】

目前,并非是所有字符串都经过混淆处理。但可以预期的是,日后会有更多的字符串被混淆。

文件加密

BlackBasta 2.0 版本中给最重要的部分就是对加密算法的修改。最初,BlackBasta 勒索软件使用非对称 4096 位 RSA 公钥与对称 ChaCha20 算法进行加密。而且,RSA 算法是通过 GNU 多精度算术库(GMP)实现的。而在最新的 BlackBasta 2.0 中,加密算法已经被椭圆曲线(ECC)和 XChaCha20 算法所取代。并且,算法实现转而使用 Crypto++。新版本使用的椭圆曲线算法为 secp521r1,内嵌的公钥为:

代码语言:javascript
复制
Public-Key: (521 bit)pub:04:00:52:1f:d8:b3:65:b7:9c:30:bd:fa:1c:88:cc:77:77:81:f6:50:9d:d9:17:8d:17:d8:fa:3a:8c:b0:f2:6f:87:21:0c:95:db:94:f5:9c:bf:fd:ca:f0:8d:19:6a:9c:2f:9f:4b:96:20:31:95:41:54:3e:92:43:ed:7b:d1:81:8c:58:78:01:2e:31:b8:02:7a:c1:b9:7f:2f:b4:b2:ba:aa:df:ed:68:a2:df:eb:90:4a:4f:da:28:10:db:f5:ae:12:08:cf:dd:1f:10:80:48:00:32:38:1d:23:40:0c:ca:05:2c:5c:d2:79:1d:ae:8f:0a:74:a1:1c:79:b3:0c:38:21:aa:94:1a:4fASN1 OID: secp521r1NIST CURVE: P-521writing EC key-----BEGIN PUBLIC KEY-----MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUh/Ys2W3nDC9+hyIzHd3gfZQndkXjRfY+jqMsPJvhyEMlduU9Zy//crwjRlqnC+fS5YgMZVBVD6SQ+170YGMWHgBLjG4AnrBuX8vtLK6qt/taKLf65BKT9ooENv1rhIIz90fEIBIADI4HSNADMoFLFzSeR2ujwp0oRx5sww4IaqUGk8=-----END PUBLIC KEY-----
代码语言:javascript
复制

(向右滑动,查看更多)

BlackBasta 2.0 在加密过程中使用被成为 DHIES 的加密模式,利用 Crypto++ 中的椭圆曲线集成加密方式(ECIES)生成每个文件的 XChaCha20 与基于哈希的消息认证码(MHAC)。在完成加密后,BlackBasta 会向文件结尾追加一个 314 字节的数据,如下所示。

【BlackBasta 2.0 加密文件】

蓝色部分的 133 个字节是为每个文件临时生成的 secp521r1 公钥,接下来的 56 个字节是用于 XChaCha20 加密的密钥(32 字节)与随机数(24 字)。随后的红色部分是 HMAC(20 字节),灰色部分为空字节填充,橙色部分为加密文件的大小(2 字节)。最后的紫色部分为 flag(12 字节),攻击者依赖此处识别受害者。

为了提高加密速度,BlackBasta 根据文件大小使用 XChaCha20 对文件进行不同策略的加密。如果件小于 5000 字节,则整个文件将以 64 字节为单位进行加密。如果文件大于 64 字节且不是 64 字节的偶数倍,则不会加密最后的 64 字节块。如果文件小于 1GB,BlackBasta 会交替加密 64 字节块并跳过 128 字节,直到文件末尾。如下图所示:

【交替加密数据】

如果文件大于 1GB,BlackBasta 会首先加密文件前 5064 个字节。在跳过 6336 个字节后,加密 64 个字节再跳过 6336 个字节,一直持续到文件末尾。XChaCha20 加密代码如下所示:

【XChaCha20 文件加密代码】

加密完成后,BlackBasta 使用硬编码的扩展名重命名文件。这些扩展名都是针对每个受害者定制的,例如 .agnkdbd5y、.taovhsr3u 或 .tcw9lnz6q。以前版本的 BlackBasta 使用的扩展名是固定的,为 .basta。

勒索文件的图标也进行了修改,从白色变成了红色:

【图标对比】

勒索信息

BlackBasta 2.0 将勒索信息也作了修改,如下所示:

【勒索信息(2022 年 11 月)】

特征变化

其命令行参数也进行了修改,如下所示:

其命令行参数也进行了修改,如下所示:

结论

Conti 勒索软件似乎已经分裂成包括 BlackBasta 在内的多个攻击组织,进一步扩大了勒索软件的威胁。自从 2022 年 11 月中旬,BlackBasta 2.0 面世以来,研究人员发现了多个受害者。这表明该攻击组织是十分成功的,并且也在持续更新和升级。

IOC

e28188e516db1bda9015c30de59a2e91996b67c2e2b44989a6b0f562577fd757 c4c8be0c939e4c24e11bad90549e3951b7969e78056d819425ca53e87af8d8ed 350ba7fca67721c74385faff083914ecdd66ef107a765dfb7ac08b38d5c9c0bd 51eb749d6cbd08baf9d43c2f83abd9d4d86eb5206f62ba43b768251a98ce9d3e 07117c02a09410f47a326b52c7f17407e63ba5e6ff97277446efc75b862d2799

参考来源:

https://www.zscaler.com/blogs/security-research/back-black-basta

精彩推荐

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-03-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 技术分析
  • 字符串混淆
    • 文件加密
    • (向右滑动,查看更多)
      • 勒索信息
        • 特征变化
        • 结论
        • IOC
        • 参考来源:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档