【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

admin 2024年5月27日15:43:19评论2 views字数 9520阅读31分44秒阅读模式

1.背景

1.1 Babuk勒索家族

Babuk勒索家族最早曝光于2021年1月初,在几个月内,它就跻身于最臭名昭著的勒索软件组织之列。自回归以来,它通过在地下论坛上积极宣传自己而获得了更多的知名度。在策略方面,其加密功能与其他勒索软件组织没有太大区别。随着时间的流逝,勒索软件组织通过发布新变种并致力于改进其攻击机制,成功地制造了混乱。
该加密器使用了多种加密方式:HC-128/ChaCha8 对称加密算法、椭圆曲线 Diffie-Hellman (ECDH)、SHA256 hashing等,特征也极为特殊,会将所有被加密文件后缀修改为.babyk,并且在所有加密文件的加密内容末尾附加字符串“choung dong looks like hot dog!!!”,该字符串的意义是为了标注着勒索软件与 Babuk 有关。
解析Babyk行为文章链接
https://www.acronis.com/en-eu/blog/posts/babuk-ransomware/
以下是针对 Linux/UNIX 和 ESXi 或 VMware 系统的跨平台加密后提取的勒索信内容。
勒索信
 ██████╗  ██████╗ ██████╗ ███████╗    ██████╗ ███████╗██╗      █████╗ ██╗  ██╗    ██╗██╗██╗
██╔═══██╗██╔═══██╗██╔══██╗██╔════╝    ██╔══██╗██╔════╝██║     ██╔══██╗╚██╗██╔╝    ██║██║██║
██║   ██║██║   ██║██████╔╝███████╗    ██████╔╝█████╗  ██║     ███████║ ╚███╔╝     ██║██║██║
██║   ██║██║   ██║██╔═══╝ ╚════██║    ██╔══██╗██╔══╝  ██║     ██╔══██║ ██╔██╗     ╚═╝╚═╝╚═╝
╚██████╔╝╚██████╔╝██║     ███████║    ██║  ██║███████╗███████╗██║  ██║██╔╝ ██╗    ██╗██╗██╗
 ╚═════╝  ╚═════╝ ╚═╝     ╚══════╝    ╚═╝  ╚═╝╚══════╝╚══════╝╚═╝  ╚═╝╚═╝  ╚═╝    ╚═╝╚═╝╚═╝
                                                                                           

What happened?
---------------------------------------------------------------
Your computers and servers have been encrypted, which is fundamentally different from normal file damages.
And you can save yourself the trouble of going to the internet to find a way to decrypt them, because unless you pay the ransom.
Even if God comes, he will not be able to help you recover them!

What guarantees?
---------------------------------------------------------------
We value our reputation. If we do not do our work and liabilities, nobody will pay us. This is not in our interests.
All our decryption software is perfectly tested and will decrypt your data. We will also provide support in case of problems.
You can contact us to test an unimportant encrypted file and we will decrypt it to prove that we have the ability to decrypt them.

How to canotact us?
---------------------------------------------------------------
Your encryption ID:7gui):

You can contact us at the email address below:

[email protected]
[email protected]

How to Pay?
---------------------------------------------------------------
Please pay $20000 worth of bitcoins(BTC) to the address below:

bc1qz23mpc3qdy02jzw64xw9zhe4s275un40efsd2l

We will send you the decryption program after we confirm your payment.
---------------------------------------------------------------
*****WARNING: You have up to 7 days to consider whether or not to make a payment,
so hurry or you may lose your files and data forever,
And, we will make all your data available to the Internet.

1.2 来源

该加密器最初的泄露是来自于一篇Twiter文章,是由其babuk的开发者泄漏的源代码。
Twiter文章:
https://twitter.com/vxunderground/status/1433758742244478982?s=46&t=7D_QCICAVCcsuuaq3z_Tkw
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
源码泄漏地址:
https://github.com/Hildaboo/BabukRansomwareSourceCode/tree/main

其中存在三种针对不同系统类型(Linux系统、NAS系统、Windows系统)的病毒文件,本篇是针对Windows系统的分析。

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

2 总体行为

2.1 行为展示

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

2.2 密钥下发(Builder.exe)

这里可以通过VS生成了Builder.exe来实现对其Builder过程进行分析,可以看到主要是对这部分文件的处理与释放
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

2.3 文件释放

文件释放列表及作用:

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

2.4 流程图

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

2.恶意文件分析

2.1 逻辑分析

1. 读取参数,第一个参数是文件夹路径,第二个是指定密钥文件
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
2. 根据参数1的文件路径,来和kp.curve25519与ks.curve25519进行拼接,用于后续存储密钥
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
3. 利用随机数函数CryptGenRandom来产生一个私钥,再利用该私钥配合curve25519算法生成一个公钥
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
4. 或者看是否存在第三个参数,有指定私钥的文件,利用该文件内的私钥配合curve25519算法生成一个公钥
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
5. 将私钥和外部的note.txt勒索信写入到加密器中,将私钥写入到解密器中
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
这里可以看到是传了2个参数进去,这里被ida识别成了一个,所以上面的那个是释放文件名称,下面的需要修改的。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
6. 将生成的私钥和公钥写入到kp.curve25519和ks.curve25519文件中
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

3.密钥产生程序

3.1 逆向分析(keygen.exe)

1.整体流程就是调用随机数函数SystemFunction036,产生了32位的随机数。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
2.其中systemFunction036是cryptbase.dll中的函数。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
3.之后就是经过了Curve25519算法的密钥生成,得出了一个公钥和一个私钥。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.Windows源代码分析

4.1 流程图

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.1 加密器(e_win)

程序先初始化了一下加密的句柄,使用了CryptAcquireContextW函数,一共获取了两次,第一次就是有现成的加密句柄就用现成的,第二次的话就是保障一下,如果没有就创建一个,然后第三个参数是加密的类型,这里的0x18则是对应的PROV_RSA_AES,意味着支持RSA和AES加密算法。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
最后将加密句柄返回。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
回到主函数,获取了输入的参数,并且判断是否存在debug参数,如果存在则开启调试模式
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
如果是调试模式开启,则创建一个用于记录调试模式的文件
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.2 关闭服务

主要比较有特点的就是,通过使用ControlService函数,来对服务发出停止操作,然后调用sleep函数直到服务成功停止后,再调用。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
所停止的服务有:
vss,sql,svc$,memtas,mepocs,sophos,veeam,,backup,GxVss,,GxBlr,GxFWD,GxCVD,GxCIMgr,DefWatch,ccEvtMgr,ccSetMgr,SavRoam,RTVscan,QBFCService,QBIDPService,Intuit.QuickBooks.FCS,,QBCFMonitorService,YooBackup,YooIT,zhudongfangyu,sophos,stc_raw_agent,VSNAPVSS,VeeamTransportSvc,VeeamDeploymentService,VeeamNFSSvc,veeam,PDVFSService,BackupExecVSSProvider,BackupExecAgentAccelerator,BackupExecAgentBrowser,BackupExecDiveciMediaService,BackupExecJobEngine,BackupExecManagementService,BackupExecRPCService,AcrSch2Svc,AcronisAgent,CASAD2DWebSvc,CAARCUpdateSvc

4.3 停止进程

利用TerminateProcess函数来实现对指定进程的关闭。

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
sql.exe, oracle.exe, ocssd.exe, dbsnmp.exe, synctime.exe, agntsvc.exe, isqlplussvc.exe, 
xfssvccon.exe, mydesktopservice.exe, ocautoupds.exe, encsvc.exe, firefox.exe, tbirdconfig.exe, 
mydesktopqos.exe, ocomm.exe, dbeng50.exe, sqbcoreservice.exe, excel.exe, infopath.exe, msaccess.exe, 
mspub.exe, onenote.exe, outlook.exe, powerpnt.exe, steam.exe, thebat.exe, thunderbird.exe, 
visio.exe, winword.exe, wordpad.exe, notepad.exe

4.4 删除系统的影卷

调用了cmd命令实现:
cmd.exe /c vssadmin.exe delete shadows /all /quiet
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.5 清空了系统的回收站

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
获取了系统的信息,并且获得了系统的处理器的数量,并且创建了参数分别为0和1的两个加密线程。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
StartAddress
一共有两种参数,0的话就是会检查一下当前的文件队列,1的话就直接开始加密。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
获取shares和paths的参数,该程序格式应该是用逗号分开的。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
其中shares代表了加密IPC共享资源中的文件。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
path代表了指定加密磁盘路径,例如c:
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
然后他会调用sub_40AB10来实现对其指定路径的所有文件的加密,甚至还会对驱动盘类型进行判断,如果是网络的驱动盘,该程序甚至会调用WNetGetConnectionW来检索其网络资源。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
如果share和path参数都没有指定,那么就会检查是否存在名为DoYouWantToHaveSexWithCuongDong的互斥体,如果也不存在,则认为程序是第一次运行,就创建一个名为DoYouWantToHaveSexWithCuongDong的互斥体,以保证后续资源的利用不会被抢占。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
之后呢就是一系列的加密网络上的资源了,例如映射本机的NAS之类的这种驱动器,还有遍历本机的操作了。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
迭代遍历文件过程中会写入勒索信
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
并且会检查文件的后缀和文件的名称,名称是勒索信和后缀是.exe、.dll、.babyk的不加密。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
等所有的磁盘遍历和文件加密完毕后,就是资源的释放了,外加又一次清除了系统的影卷。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.5.1 加密流程

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
首先这个恶意程序会先初始化一下加密的标志“choung dong looks like hot dog!!”,之后会再修改一下文件的名称。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.6 加密分析

该恶意程序使用了Curve25519算法来实现密钥的生成,之后使用了sha256来加密了密钥,并且将其分开当作后续加密的密钥,最后文件的加密是采用了AES来实现的。
https://cr.yp.to/ecdh.html这篇文章中基本介绍了使用Curve25519加密算法的使用方法。
总结一下要使用Curve25519加密算法的方法:
1 .要生成 32 字节的 Curve25519 密钥,首先从加密安全源生成 32 个密钥随机字节
2 .利用生成的32个随机字节的密钥和一个常数序列来生成公钥
3 .利用生成的私钥和对方的公钥来生成共享密钥
4 .使用sha512来生成共享密钥对应的sha512,一分两半,当作加密的Key和IV
5 .计算sha512的crc用于解密时对密钥的校验
6 .最后使用生成的KEY和IV进行HC-128流加密
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.6.1 算法分析

这里可以写一个Python脚本来验证一下这个过程,首先假设我们有Alice和Bob两个人

4.6.1.1 流程图

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

1 .先生成一对随机的密钥,然后再生成对应的公钥

当然这里不见得非得需要33-126,因为我是想保持密钥由明文组成。
import random
import donna25519
private_key = ''
for i in range(0,32):
    private_key+= chr(random.randint(33,126))
donna = donna25519.PrivateKey(secret=private_key)
public_key = donna.get_public().public
print 'private_key: '+private_key.encode('hex')
print 'public_key: '+public_key.encode('hex')
Alice Key:
private_key: 3840763b6b2a68583f7e3d7076224a5b7571217423236f6b233a6b6e68586649
public_key: 0b495944de1f2fa6dfa9fba7f73d53fc47d0c43592a52d4f80e4d7ae34a54556
Bob Key:
private_key: 705078776a2f316747502573447255492a513a3653385a3f213674482c495753
public_key: 30c1df51602efdd0eaa2d9f51e87851ecb351d2d555f3ec32cbb76916c74e43b

2 .实现一下这个交换的过程,这里先让Alice给Bob做密钥交换。

import donna25519
Alice_private_key = '3840763b6b2a68583f7e3d7076224a5b7571217423236f6b233a6b6e68586649'.decode('hex')
Bob_public_key  = '30c1df51602efdd0eaa2d9f51e87851ecb351d2d555f3ec32cbb76916c74e43b'.decode('hex')
donna = donna25519.PrivateKey(secret=Alice_private_key)
public_key = donna25519.PublicKey(public=Bob_public_key)
share_key = donna.do_exchange(public_key=public_key)
print 'share_key: '+share_key.encode('hex')
可以得到:
Alice_public_key: 0b495944de1f2fa6dfa9fba7f73d53fc47d0c43592a52d4f80e4d7ae34a54556
share_key: 7ef8f5be057f00fed06c3b993c0d5b6102d86680c124ebf12f005cf1c22c1f27

3 .假设Bob接收到了这个Alice的公钥后,然后来实现一下Bob对Alice的密钥交换。

import donna25519
Bob_private_key = '705078776a2f316747502573447255492a513a3653385a3f213674482c495753'.decode('hex')
Bob_public_key = '30c1df51602efdd0eaa2d9f51e87851ecb351d2d555f3ec32cbb76916c74e43b'.decode('hex')
Alice_public_key = '0b495944de1f2fa6dfa9fba7f73d53fc47d0c43592a52d4f80e4d7ae34a54556'.decode('hex')
donna = donna25519.PrivateKey(secret=Bob_private_key)
public_key = donna25519.PublicKey(public=Alice_public_key)
share_key = donna.do_exchange(public_key=public_key)
print 'Bob_public_key: '+Alice_public_key.encode('hex')
print 'share_key: '+share_key.encode('hex')
可以得到:
Bob_public_key: 0b495944de1f2fa6dfa9fba7f73d53fc47d0c43592a52d4f80e4d7ae34a54556
share_key: 7ef8f5be057f00fed06c3b993c0d5b6102d86680c124ebf12f005cf1c22c1f27
通过这个过程我们了解此恶意程序的密钥生成与交换完全一样,而我们可以是Bob也可以是Alice,黑客也可以是Alice也可以是Bob,当我们根据对方的公钥和自己的私钥生成共享的密钥之后,后面的加密流程几乎都是依赖此密钥继续的。
密钥生成完毕之后,会根据文件的大小来选择是否是全加密或者是部分加密等,之后就会进入到合适的加密函数,但都是一个加密函数
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
文件内容的加密则会利用刚才的Key和IV进入到HC128的密钥流生成,最后将生成的密钥和原文进行异或后,即完成加密。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

4.6.2 加密标志写入

最后就是对文件的末尾进行公钥、CRC32和加密标志"choung dong looks like hot dog!"的写入了,该标志也是作为目前Babuk家族的主要识别标志了。
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇
当黑客拿到文件末尾的公钥后,即可使用自己的私钥来产生出对应的共享密钥,然后实现后面的解密,其中crc32是对共享密钥的校验,来对其完整性进行了验证。

5.总结

Windows这部分的加密的执行主要采用了多线程的方式,其中加密算法采用了Curve25519算法作为其加密算法,每个文件都是使用了同一个黑客的公钥来实现的密钥交换,但每个文件都会生成一个属于自己的私钥和公钥,而且整体发现此款恶意程序以加密速度为目标,为的就是用最短的时间来实现对中招电脑的资料进行加密。
以下是solar安全团队近期处理过的常见勒索病毒后缀:
.live勒索病毒, .locked勒索病毒, .rmallox勒索病毒, .mallox 勒索病毒,.jopanaxye勒索病毒, .2700勒索病毒, .elbie勒索病毒, .mkp勒索病毒, .dura勒索病毒, .halo勒索病毒, .DevicData勒索病毒, .faust勒索病毒, ..locky勒索病毒, .cryptolocker勒索病毒, .cerber勒索病毒, .zepto勒索病毒, .wannacry勒索病毒, .cryptowall勒索病毒, .teslacrypt勒索病毒, .gandcrab勒索病毒, .dharma勒索病毒, .phobos勒索病毒, .lockergoga勒索病毒, .coot勒索病毒, .lockbit勒索病毒, .nemty勒索病毒, .contipa勒索病毒, .djvu勒索病毒, .marlboro勒索病毒, .stop勒索病毒, .etols勒索病毒, .makop勒索病毒, .mado勒索病毒, .skymap勒索病毒, .aleta勒索病毒, .btix勒索病毒, .varasto勒索病毒, .qewe勒索病毒, .mylob勒索病毒, .coharos勒索病毒, .kodc勒索病毒, .tro勒索病毒, .mbed勒索病毒, .wannaren勒索病毒, .babyk勒索病毒, .lockfiles勒索病毒, .locked勒索病毒, .DevicData-P-XXXXXXXX勒索病毒, .lockbit3.0勒索病毒, .blackbit勒索病毒, .360勒索病毒, .360勒索病毒
勒索攻击作为成熟的攻击手段,很多勒索家族已经形成了一套完整的商业体系,并且分支了很多团伙组织,导致勒索病毒迭代了多个版本。而每个家族擅用的攻击手法皆有不同,TellYouThePass勒索软件家族常常利用系统漏洞进行攻击;Phobos勒索软件家族通过RDP暴力破解进行勒索;Mallox勒索软件家族利用数据库及暴力破解进行加密,攻击手法极多防不胜防。
而最好的预防方法就是针对自身业务进行定期的基线加固、补丁更新及数据备份,在其基础上加强公司安全人员意识。
如果您想了解有关勒索病毒的最新发展情况,或者需要获取相关帮助,请关注“solar专业应急响应团队”。

6.安全建议

6.1 风险消减措施

资产梳理排查目标:根据实际情况,对内外网资产进行分时期排查

服务方式:调研访谈、现场勘查、工具扫描

服务关键内容:流量威胁监测系统排查、互联网暴露面扫描服务、技术加固服务、集权系统排查

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

6.2 安全设备调优

目标

通过对安全现状的梳理和分析,识别安全策略上的不足,结合目标防御、权限最小化、缩小攻击面等一系列参考原则,对设备的相关配置策略进行改进调优,一方面,低无效或低效规则的出现频次;另一方面,对缺失或遗漏的规则进行补充,实现将安全设备防护能力最优化。

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

主要目标设备

网络安全防护设备、系统防护软件、日志审计与分析设备、安全监测与入侵识别设备。

6.3 全员安全意识增强调优

目标:

通过网络安全意识宣贯、培训提升全方位安全能力

形式:

培训及宣贯

【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇线下培训课表

若无法组织线下的集体培训,考虑两种方式:

1.提供相关的安全意识培训材料,由上而下分发学习

2.组织相关人员线上开会学习。线上培训模式。

原文始发于微信公众号(solar专业应急响应团队):【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月27日15:43:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【病毒分析】Babuk勒索家族babyk后缀系列分析--Windows篇https://cn-sec.com/archives/2782869.html

发表评论

匿名网友 填写信息