草庐IT

勒索软件 BlackBasta 2.0 的技术演变

Avenger 2023-03-28 原文
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,内嵌的公钥为:

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:4f
ASN1 OID: secp521r1
NIST CURVE: P-521
writing EC key
-----BEGIN PUBLIC KEY-----
MIGbMBAGByqGSM49AgEGBSuBBAAjA4GGAAQAUh/Ys2W3nDC9+hyIzHd3gfZQndkX
jRfY+jqMsPJvhyEMlduU9Zy//crwjRlqnC+fS5YgMZVBVD6SQ+170YGMWHgBLjG4
AnrBuX8vtLK6qt/taKLf65BKT9ooENv1rhIIz90fEIBIADI4HSNADMoFLFzSeR2u
jwp0oRx5sww4IaqUGk8=
-----END PUBLIC KEY-----
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 面世以来,研究人员发现了多个受害者。这表明该攻击组织是十分成功的,并且也在持续更新和升级。

有关勒索软件 BlackBasta 2.0 的技术演变的更多相关文章

  1. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  2. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  3. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  4. ruby-on-rails - 用于门户的 Ruby 技术 - 2

    我刚刚看到whitehouse.gov正在使用drupal作为CMS和门户技术。drupal的优点之一似乎是很容易添加插件,而且编程最少,即重新发明轮子最少。这实际上正是Ruby-on-Rails的DRY理念。所以:drupal的缺点是什么?Rails或其他基于Ruby的技术有哪些不符合whitehouse.org(或其他CMS门户)门户技术的资格? 最佳答案 Whatarethedrawbacksofdrupal?对于Ruby和Rails,这确实是一个相当主观的问题。Drupal是一个可靠的内容管理选项,非常适合面向社区的站点。它

  5. iNFTnews | 周杰伦18年前未发布的作品Demo,藏在了区块链技术里 - 2

    当音乐碰上区块链技术,会擦出怎样的火花?或许周杰伦已经给了我们答案。8月29日下午,B站独家首发周杰伦限定珍藏Demo独家访谈VCR,周杰伦在VCR里分享了《晴天》《青花瓷》《搁浅》《爱在西元前》四首经典歌曲Demo背后的创作故事,并首次公布18年前未发布的神秘作品《纽约地铁》的Demo。在VCR中,方文山和杰威尔音乐提及到“多亏了区块链技术,现在我们可以将这些Demos,变成独一无二具有收藏价值的艺术品,这些Demos可以在薄盒(国内数藏平台)上听到。”如何将音乐与区块链技术相结合,薄盒方面称:“薄盒作为区块链技术服务方,打破传统对于区块链技术只能作为数字收藏的理解。聚焦于区块链技术赋能,在

  6. 网站日志分析软件--让网站日志分析工作变得更简单 - 2

    网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.

  7. ruby - 使用哪种群发消息技术? - 2

    我感到有点困惑——大约24小时以来,我一直在考虑在我的项目中使用哪种组播技术。基本上,我需要的是:创建组(通过一些后端进程)任意客户端广播消息(1:N,N:N)(可能)直接消息(1:1)(重要)使用我自己的后端(例如,通过某种HTTPAPI)对客户端进行身份验证/授权能够通过后端进程(或服务器插件)踢出特定的客户端这是我要的:Ruby或Haxe中的后端相关流程JS+Haxe(Flash9)中的前端—在浏览器中,因此理想情况下通过80/443进行通信,但不一定。因此,这项技术必须能够在HaxeforFlash中轻松访问,最好是Ruby。我一直在考虑:RabbitMQ(或OpenAMQ)、

  8. 【血泪建议】软件测试岗位现状,可惜之前没人告诉我,肠子都晦青了.... - 2

    谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师,高薪难聘。这两者其实并不矛盾。手工测试工作难找也确实是目前真实的行情早期从事功能测试的手工测试人员,在测试方面大多采用手动、人工执行的方式查找软件缺陷和BUG,用行业术语来描述就是“点点点”。这种测试方式耗费大量人力和资源,工作效率却十分低下。在早期软件复杂和迭代程度不高的情况下,有资本的企业会“供养”一批这样的手工测试人员。但对测试员本身来讲,毫无技术难度的工作,和几乎没有保障的薪资水平,直

  9. 企业大数据发展面临问题之存算分离技术思考 - 2

    文章目录概述背景为何要存算分离优势**应用场景**存算分离产品技术流派华为JuiceFSHashDataXSKY概述背景Hadoop一出生就是奔存算一体设计,当时设计思想就是存储不动而计算(code也即是代码程序)动,负责调度Yarn会把计算任务尽量发到要处理数据所在的实例上,这也是与传统集中式存储最大的不同。为何当时Hadoop设计存算一体的耦合?要知道2006年服务器带宽只有100Mb/s~1Gb/s,但是HDD也即是磁盘吞吐量有50MB/s,这样带宽远远不够传输数据,网络瓶颈尤为明显,无奈之举只好把计算任务发到数据所在的位置。众观历史常言道天下分久必合合久必分,随着云计算技术的发展,数据

  10. 0基础学习软件测试有哪些建议 - 2

    其实现在基础的资料和视频到处都是,就是看你有没有认真的去找学习资源了,去哪里学习都是要看你个人靠谱不靠谱,再好的教程和老师,你自己学习不进去也是白搭在正式选择之前,大可以在各种学习网站里面找找学习资源先自己学习一下为什么选择学软件测试?同学们理由众多!大概分这几类:①不受开发语言、行业产品变化限制;②入门更简单,对零基础、女生都友好;③软件项目都需要测试人员,职业生涯稳;④学习周期短,但薪资并不低。要想“肩扛”一条线?需掌握三大技能:技能1:掌握测试流程,熟悉系统框架能提前与开发人员一起制定测试计划,通过测试左移,推动代码评审,代码审计,单元测试,自动化冒烟测试,来保证研发阶段的质量。技能2:

随机推荐