黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

admin 2022年8月21日23:40:40评论55 views字数 5185阅读17分17秒阅读模式
黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


恶意文件名称:

BlackCat

威胁类型:

勒索病毒

简单描述:

BlackCat 是第一个广为人知的用 Rust 编写的勒索病毒,该病毒带有一个加密配置,其中包含要终止的服务/进程列表、避免加密的目录/文件/文件扩展名列表以及来自受害者环境的被盗凭证列表。它会删除所有卷影副本,使用 CMSTPLUA COM 接口执行权限提升,并在受害者机器上启用“远程到本地”和“远程到远程”符号链接。


恶意文件分析

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

1.恶意文件描述

近期,深信服深盾终端实验室在运营工作中发现一起勒索病毒事件,样本隶属家族 BlackCat。该家族最近几个月动作频频,下文将针对该样本进行详细分析。


BlackCat(又名 ALPHV)是一个勒索软件家族,BlackCat 采用勒索软件即服务 (RaaS) 商业模式,在已知的网络犯罪论坛中招揽附属公司,允许附属公司利用勒索软件并保留 80-90% 的赎金,其余部分将支付给 BlackCat 作者。其恶意软件本身是用 Rust 编程语言编写的。


BlackCat 采用三重勒索模式,不仅会加密数据、感染网络和系统,还会通过其他的工具进行窃取敏感数据,然后使用被盗数据勒索受害者支付要求的赎金,还会在他们的泄密网站上列出了部分受害者,如果不支付赎金,攻击者将在数据泄露站点上泄露被盗数据。而且如果受害者没有在最后期限支付赎金,他们还会进行分布式拒绝服务 (DDoS) 攻击。

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

2.恶意文件分析

通过分析发现该样本使用 32 位不唯一的访问令牌进行启动,在程序启动初始阶段便会对参数进行强校验,样本通过正确参数启动后便会进行加密勒索操作,为加密后的文件添加后缀名 “.7dulptm”,提示信息文件名为 “RECOVER-7dulptm-FILES”,内容如下,通过该样本的勒索信息可以锁定勒索解密页面,当前还未有任何交互信息。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

网络行为

暂未发现网络行为


行为分析

该样本的行为如下所示


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


BlackCat 是一个命令行启动的勒索程序,该样本采用定制化的参数选项帮助攻击者轻松地配置程序执行过程。这些配置包括以子进程方式运行、拖拽启动、记录日志、是否探索 Windows 系统的共享网络、是否在 Windows 上繁殖传播、是否传播到未定义的服务器上、是否关闭 ESXI 虚拟机、是否删除 ESXI 虚拟机快照、是否更新 Windows桌面等等。


其中大多数参数是可选项,但是 --access-token 参数是必选的,用来绕过沙箱自动执行的动态分析。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


当该样本无参数启动或者以一个无效的 access token 启动时,控制台均会输出错误信息。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

根据配置,该样本使用 ChaCha20Aes 或 Aes 加密算法对文件进行加密。在自动模式下,软件会检测是否有 AES 硬件支持(存在于所有现代处理器中)并使用它。如果没有 AES 支持,软件会对文件进行 ChaCha20 加密。

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


前期准备工作


允许“远程到远程”文件共享:


fsutil behavior set SymlinkEvaluation R2R:1


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


关闭系统所有 Internet 服务:


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


将注册表中网络请求服务器服务的值修改为最大即65535,这样能够避免在加密过程中因同时访问太多文件而出现的问题。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


信息收集


1、通过注册表 SOFTWARE\Microsoft\Cryptography 来查询机器 Guid


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


2、调用 WMI 获取主机目标设备的通用唯一标识符 UUID


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


3、在缓存中读取 IP 地址和 mac 地址的对应关系表


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


4、枚举磁盘驱动器


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


检索磁盘驱动器


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


5、查询受害者系统的计算机名


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


6、查询计算机用户名


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


7、查询 AD 域名


调用 SHTestTokenMenbership 函数,判断当前用户是否属于本域中的管理员组(0x220 = DOMAIN_ALIAS_RID_ADMINS),识别当前用户是否具有域管理员权限,以便加密更多的设备。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


调用 NtQueryInformationToken 函数检索与当前令牌 (0x2 = TOKEN_GROUPS ) 关联的组账号,并且检查TOKEN_GROUPS 中是否包含管理员组:


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


8、使用 net use 控制共享网络连接

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

9、枚举文件


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


防御规避


该样本为了避免数据的恢复及取证溯源工作,做了如下的工作: 


1、该样本使用了 TLS 回调函数


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


2、命令行参数启动

该样本通过 GetCommandLineW 函数获取该程序的命令行参数


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


3、关闭某些进程和服务

为了尽可能多得加密文件,避免文件被占用,勒索程序还会关闭一些进程和服务。配置中设置了需要关闭的进程列表和服务列表:


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


(1)关闭服务

调用 OpenScManagerW 查询服务控制管理数据库


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


枚举服务存活状态的服务 (0x1 = SERVICE_ACTIVE)


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


终止目标服务器 (0x1 = SERVICE_CONTROL_STOP)


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


(2)关闭进程


枚举所有进程


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索
黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


中断进程


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


4、调用 vssadmin.exe 和 wmic 删除系统备份


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索
黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


5、关闭系统 BCDedit 中的自动修复功能


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


6、枚举服务器/客户端中所有的事件日志列表,然后清除系统中所有的事件日志


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


提权

 

1、绕过 UAC

该恶意软件尝试使用 CMSTPLUA COM 接口绕过 UAC,如调用 CoInitializeEx 函数来初始化当前线程的COM 库 (0x2 = COINIT_APARTMENTTHREADED)

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


调用 CoGetObject 函数,将显示名称修改并绑定为一个自提权 CMSTPLUA  的接口interfaceElevation:Administrator!new:{3E5FC7F9-9A51-4367-9063-A120244FBEC7}


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


从下图可以看出,初始低权限样本启动了一个提权后的“自己”,随后退出程序


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


2、API 提权

 

获取当前进程的令牌句柄 (0x80000000 = GENERIC_READ)


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


查看系统权限 SeTakeOwnershipPriviledge 的特权值


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


在指定的访问令牌 SeTakeOwnershipPriviledge 上启动该权限


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


所有提升的权限如下所示:


SeIncreaseQuotaPrivilege,SeSecurityPrivilege,SeTakeOwnershipPrivilege,SeLoadDriverPrivilege,SeSystemProfilePrivilege,SeSystemtimePrivilege,SeProfileSingleProcessPrivilege,SeIncreaseBasePriorityPrivilege,SeCreatePagefilePrivilege,SeBackupPrivilege,SeRestorePrivilege,SeShutdownPrivilege,SeDebugPrivilege,SeSystemEnvironmentPrivilege,SeChangeNotifyPrivilege,SeRemoteShutdownPrivilege,SeUndockPrivilege,SeManageVolumePrivilege,SeImpersonatePrivilege,SeCreateGlobalPrivilege,SeIncreaseWorkingSetPrivilege,SeTimeZonePrivilege,SeCreateSymbolicLinkPrivilege,SeDelegateSessionUserImpersonatePrivilege


持久化

 

为了避免影响系统和勒索软件的正常运行,对一些关键的系统、应用程序文件夹和一些关键组件不进行加密操作


1、配置中包含避免加密的文件扩展列表


themepack,nls,diagpkg,msi,Ink,exe,cab,scr,bat,drv",rtp","msp","prf","msc","ico","key","ocx","diagcab","diagcfg","pdb","wpx","hlp","icns","rom",dll","msstyles","mod","ps1","ics","hta","bin","cmd","ani","386","lock","cur","idx","sys","com",deskthemepack","shs","Idf","theme","mpa","nomedia","spl","cpl","adv","icl","msu


2、避免加密的文件夹,包括但不限于


systemvolume information, intel, $windows.~ws, application data, $recycle.bin, mozilla, $windows.~bt, public, msocache, windows, default, all users, tor browser, programdata, boot, config.msi, google, perflogs, appdata, windows.old


3、避免加密的文件名,包括但不限于


desktop.iniautorun.infntldrbootsect.bakthumbs.dbboot.inintuser.daticoncache.dbbootfont.binntuser.inintuser.dat.log


文件加密


调用 BCryptGenRandom 函数生成 16 个随机字节,用来生成 AES 密钥


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索
黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


从文件头开始遍历文件


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


被加密文件添加后缀


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


写入勒索信


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


Json 格式文件包含 AES 加密算法,用于加密文件的 AES密钥,调用 BCryptGenRandom 函数生成 0x82(130)个随机字节,与 json 配置文件中的密钥总共占用缓冲区大小为256 字节


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


调用 bcryptGenRandom 生成随机四字节,将被加密文件的内容与 AES 密钥使用四字节分开


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


包含 AES 密钥的缓冲区被配置文件中的 RSA 公钥加密,加密密钥大小为 0x100,写入文件,文件内容使用 aesenc and aesenclast 命令进行 AES-128 算法加密,使用writeFile 将加密后的内容写入文件


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


内嵌配置信息

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


Json 配置中包含:


1 被加密文件的扩展

2 AES密钥加密的RSA公钥

3 勒索信名称和内容

4 受害者环境被盗的凭据

5 AES加密算法

6 终止的服务和进程列表

7 避免加密的文件夹、文件和文件扩展

8 网络发现、横向移动、桌面壁纸设置、终止VMware ESXI虚拟机、清除VMware ESXI虚拟机快照、从终端中排除VMware ESXI


横向移动


枚举所有连接到网络中的服务器,该进程首先会广播 NetBIOS 名称服务 (NBNC) 消息来检查这些附加的设备,然后试图通过PsExec使用配置文件中的凭据复制自身到响应的服务器中。


调用 SHTestTokenMenbership 函数,判断当前用户是否属于本域中的管理员组(0x220 = DOMAIN_ALIAS_RID_ADMINS),识别当前用户是否具有域管理员权限,以便加密更多的设备。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索


调用 NtQueryInformationToken 函数检索与当前令牌(0x2 = TOKEN_GROUPS )关联的组账号,并且检查 TOKEN_GROUPS 中是否包含管理员组:

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

解决方案

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

处置建议

1. 避免将重要服务在外网开放,若一定要开放,需增加口令复杂度,避免使用弱口令。

2. 避免打开可疑或来历不明的邮件,尤其是其中的链接和附件等,如一定要打开未知文件,请先使用杀毒软件进行扫描。

3. 安装信誉良好的防病毒/反间谍软件,定期进行系统全盘扫描,并删除检测到的威胁,按时升级打补丁。

4. 使用官方和经过验证的下载渠道,使用正版开发人员提供的工具/功能激活和更新产品,不建议使用非法激活工具和第三方下载器,因为它们通常用于分发恶意内容。

5. 重要的数据最好双机备份或云备份。

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

深信服解决方案

【深信服终端安全管理系统EDR】已支持查杀拦截此次事件使用的病毒文件,请更新软件(如有定制请先咨询售后再更新版本)和病毒库至最新版本,及时查杀新威胁;

黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

【深信服下一代防火墙AF】的安全防护规则更新至最新版本,接入深信服云平台,“云鉴” 服务即可轻松抵御此高危风险。
【深信服安全感知管理平台SIP】建议用户及时更新规则库,接入云图,并联动【深信服下一代防火墙AF】实现对高危风险的入侵防护。
【深信服安全托管服务MSS】以保障用户网络安全“持续有效”为目标,通过将用户安全设备接入安全运营中心,依托于XDR安全能力平台和MSSP安全服务平台实现有效协同的“人机共智”模式,围绕资产、脆弱性、威胁、事件四个要素为用户提供7*24H的安全运营服务,快速扩展持续有效的安全运营能力,保障可承诺的风险管控效果。


黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索



原文始发于微信公众号(深信服千里目安全实验室):“黑猫”又伸出恶魔之手?揭秘BlackCat病毒的三重勒索

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月21日23:40:40
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   黑猫又伸出恶魔之手?揭秘BlackCat病毒的三重勒索http://cn-sec.com/archives/1246442.html

发表评论

匿名网友 填写信息