【勒索防护】BabLock,游离于主流杀软之外的新型勒索病毒

2023-05-16 11,814


恶意文件名称:

BabLock(又名 Rorschach)

威胁类型:

勒索病毒

简单描述:

该勒索病毒通常通过电子邮件漏洞进行传播,利用三个组件包执行勒索加密功能,它的家族加密速度相当之快,是目前观察到的加密速度最快的勒索软件之一。它会加密受感染计算机上的文件,并要求受害者支付赎金以获取解密。


恶意文件分析

事件描述

深信服深盾终端实验室在近期的运营工作中,捕获了一款特殊的勒索病毒,该病毒似乎属于新的勒索家族,但是部分逻辑结构与多个勒索家族相似,如Lockbit2.0、Babuk等。根据提交到VirusTotal 上的样本,发现该家族曾对欧洲、中东、亚洲发动了攻击。在其中一次攻击案例中,发现攻击者使用了电子邮件软件 Zimbra Collaboration (ZCS) 8.8.15 和 9.0 中的远程代码执行 (RCE) 漏洞,即CVE-2022-41352使威胁行为者能够远程执行任意代码。

当勒索软件在具有域管理员权限的域控上启动时,会通过创建组策略对象(GPO)在局域网传播。

该勒索病毒的攻击流程图如下所示:


恶意文件分析


 ATT&CK


TA阶段

T技术

S技术

动作

初始访问

TA0001

T1190

利用面向公众的应用程序

N/A

利用了电子邮件软件 Zimbra 中的漏洞远程命令执行

执行

TA0002

T1059

系统服务

T1059.003

Windows Command Shell

使用一系列Windows命令,如bcdedit.exenet1.exe

T1047 WMI

N/A

使用WMIC删除卷影副本

T1106

原生API

N/A

使用直接系统调用 (syscall) 来启动系统API 函数

T1574

劫持执行流程

T1574.002

DLL侧加载

使用合法的exe程序加载dll文件

防御规避

TA0005

T1562

削弱防御

T1562.004

禁用或修改系统防火墙

关闭并禁用系统防火墙

T1562.001

禁用或修改工具

终止杀毒软件实时监控程序(Defwatch.exe)

T1497

虚拟化/沙箱规避

T1497.002

基于用户活动

只有当—run=xxxx参数正确时,才会执行加密操作

T1140

解密或解混淆文件和信息

N/A

勒索软件的有效负载动态在运行时,才会被解码

T1070

指标清除

T1070.001

清除Windows事件日志

清除系统中应用程序、安全、系统、PowerShell的事件日志

T1070.004

文件删除

勒索程序执行后,删除勒索相关文件

T1055

进程注入

T1055.002    

PE文件注入

注入经VMP加壳后的PE文件

隐藏工件

T1564

T1564.010

进程参数欺骗

修改进程内存以隐藏进程命令行参数

发现TA0007

T1057

枚举进程

N/A

枚举当前系统环境中所有正在运行的进程

T1083

文件和目录发现

N/A

查询指定的文件、文件夹和文件后缀

T1082

系统信息发现

N/A

查询系统默认语言环境

影响

TA0040

T1490

禁止系统恢复

N/A

删除卷影副本,禁用Windows系统恢复功能

T1489

终止服务

N/A

终止与数据库、服务器、备份相关的进程和服务

T1485

数据销毁

N/A

使用SHEmptyRecycleBinA清空回收站

T1486

为影响而加密的数据

N/A

加密计算机上的文件。

该病毒的编译时间早于2022年3月,截止到本文发布,国内外主流50家杀毒软件厂商仍无法识别该勒索病毒的威胁,基于威胁情报和动静态规则的防护软件或安全平台,在面临此类新型病毒时,全部失效。



读取配置文件命令行如下图所示:



功能分析


样本启动后,会立即删除三个勒索相关文件,随后加密系统中的文件,并释放勒索信以诱使受害者通过勒索信中的联系方式与攻击者进行沟通及缴纳赎金,被加密文件添加特定扩展k1k2k3(0- 99),勒索信文件名“_r_e_a_d_m_e.txt”,勒索信中展示受害者可以通过邮箱与攻击者取得联系,其中勒索信中并未表明赎金金额及支付方式。


_r_e_a_d_m_e.txt勒索信内容如下所示:



被加密后文件系统情况:



勒索病毒执行的三个相关程序如下所示:


其中winutils.dll 程序使用魔改后的UPX3.96进行加壳,无法通过标准版本的 UPX 对其进行解包,动态调试进行解包。


信息收集


1、查询系统的UUID

UUID用于标识受感染的计算机,以便攻击者对其进行跟踪和管理。



2、查询系统语言

使用GetSystemDefaultUILanguage和GetUserDefaultUILanguage根据系统或用户的默认语言环境,判断当前系统的国家或地区编码,避免加密 CIS 独立国家联合体。

防御规避


1、固定参数启动

只有当必选参数—run的值正确时,勒索程序才会执行加密操作,如果密码参数不正确,则不执行任何操作。

cy.exe  -run=xxxx 
--pt=C:UsersJohnDesktopFileFolder
winutils.dll 
--cg=C:UsersJohnDesktopFileFolderconfig.ini 
--we=C:UsersJohnDesktopFileFoldercy.exe


除了必选参数外,该样本还支持余下可选参数形式:


2、Side-Loads(DLL侧载)/“白”+“黑”免杀

使用合法的添加数字证书的软件cy.exe来加载winutils.dll,其中cy.exe是由网络安全公司Palo Alto Networks开发,用于将Cortex XDR平台上的数据转储到本地存储设备中,最初的程序名为cydump.exe。


3、白进程注入

调用如下API函数将shellcode注入白进程notepad.exe的内存中,从而实现在目标进程的上下文中执行任意代码,该操作能够绕过一些杀毒软件、防火墙等的安全措施。


勒索样本启动notepad.exe后,将notepad.exe设置为suspend的状态,注入notepad.exe的shellcode头部填充了一些垃圾字符,清除掉垃圾字符后为PE文件,该PE文件依然是被加壳的,采用VMProtect的壳。勒索软件向notepad.exe内存中一次写入64Kb的数据,如下图所示:



第一个写入内存的未知中的数据dump下来后,采用VMP的壳,如下图所示:


4、进程参数欺骗技术

将要执行的进程设置为挂起状态并初始化PEB结构,将执行的命令替换成合法参数(与命令参数同等长度的1),随后通过PEB定位进程参数的地址,使用WriteProcessMemory()在内存中重写为真实参数,最后恢复被注入进程,从而能够规避基于程序内存的分析。如执行命令“bcdedit.exe /set {default} recoveryenabled no”其中“/set {default} recoveryenabled no”字符串长度为33,所以替换成33个1来执行命令。


下图为动态调试过程中解密出的执行的真实命令



下面为执行的具体命令:


(1)终止与数据库相关的一些服务,防止程序占用文件时,导致文件损坏或加密不成功。

  • 终止用于管理分布式事务的Microsoft分布式事务协调器服务。

  • 止用于执行SQL Server代理作业和管理多个SQL Server实例的SQL Server代理服务。 

  • 终止SQL Server数据库引擎服务。

  • 终止用于管理虚拟磁盘和卷的虚拟磁盘服务。

  • 终止用于支持卷影副本服务的SQL Server VSS Writer服务。

  • 终止用于帮助客户端定位SQL Server实例SQL Server浏览器服务。

  • 终止指定名称为CONTOSO1的SQL Server实例的服务。


(2)删除系统备份及阻止系统恢复。

  • 删除所有卷影副本。

禁用Windows恢复环境。

  • 忽略所有启动故障。

  • 删除系统状态备份。

  • 删除最初的系统状态备份。

  • 删除备份目录。

  • 删除备份。

  • 删除所有系统状态备份。

  • 删除卷影副本的命令应为WMIC.exe shadowcopy delete /nointeractive,该命令缺少delete。

 

(3)清除事件日志,防止安全人员通过事件日志溯源病毒的操作记录。

  • 清除应用程序日志。

  • 清除安全日志。

  • 清除系统日志。

  • 清除Windows PowerShell日志。

 

(4)关闭并禁用Windows防火墙,使得攻击者更容易地访问受害计算机并执行恶意代码。

  • 关闭Windows防火墙。

  • 禁用Windows防火墙。

 

5、系统直接调用syscall

该勒索病毒并不直接通过调用API实现相应功能,而是模拟相应API在ntdll中的行为,然后指定syscall ID,直接调用syscall,同样可以实现直接调用系统API的作用,同时可以规避基于API的检测技术。



横向移动


当勒索软件在具有管理员权限的域控制器上启动时,它会通过创建AD组策略实现对域环境主机的访问并在局域网中传播,这种实现方式与 LockBit 2.0 类似。

 

勒索软件通过创建多个组策略对象从而实现一系列功能,如修改域主机磁盘的共享访问权限、通过修改系统注册表相关参数来禁用主机上的Windows Defender、将勒索相关文件从共享的Active Directory文件目录SYSVOL复制到主机的%Public%目录下,

最后通过创建计划任务执行勒索病毒。

 

影响


1、终止进程

终止 wxServer.exe,supervise.exe 等数据库、服务器、远程管理工具、虚拟机监控程序、时间同步程序等进程


2、终止服务

终止 SQLPBDMS,SQLBrowser 等 SQL Server 数据库系统的核心组件相关的服务


3、清空回收站

调用 SHEmptyRecycleBinA() API,恶意软件会删除回收站中所有的文件,以确保用户无法恢复回收站中的数据。



4、文件加密

(1)避免加密的文件后缀



(2)避免加密的文件和目录



避免加密的目录如下所示:


bootmgr

AppData

Boot

Windows

WINDOWS

Windows.old

Ahnlab

Tor Browser

Internet Explorer

Google

Opera

Opera Software

Mozilla

Mozilla Firefox

$Recycle.Bin

ProgramData

All Users

BOOTNXT

ntldr

Program Files

Program Files (x86)

#recycle

..

Documents and Settings

Policies

SYSVOL

NETLOGON

scripts


避免加密的文件如下所示:


autorun.inf

boot.ini

bootfont.bin

bootsect.bak

bootmgr.efi

bootmgfw.efi

desktop.ini

iconcache.db

ntuser.dat

ntuser.dat.log

ntuser.ini

thumbs.db

NTUSER.DAT

ntuser.dat.LOG1

ntuser.dat.LOG2

AUTOEXEC.BAT

autoexec.bat

config.ini

1_config.ini

begin.txt

finish.txt

_r_e_a_d_m_e.txt

<injected notepad.exe's PID>_l.log

<injected notepad.exe's PID>_e.log

Config.Msi


(3)加密操作

勒索软件采用Curve25519和HC-128结合的加密算法,利用I/O完成端口(IOCP)实现高性能多线程加密。


对于每一个要加密的文件,使用Crypto API 函数 CryptGenRandom生成一个 32 字节的私钥。



该勒索软件的加密操作如下所示:

 

1)在每个遍历的目录中创建勒索信。

2) 判断当前文件是否属于避免加密的目录、是否属于避免加密的文件、是否包含避免加密的扩展,如果符合任意一个条件时,则继续遍历下一个文件;当不符合条件时,继续下述操作。

3)使用Curve25519算法生成一对公钥和私钥,其中公钥用于加密,私钥用于解密。

4)勒索软件为每个将要加密的文件生成一个256位随机的HC-128密钥和一个32位随机的IV(Initialization Vector)作为加密文件的参数。这些参数被硬编码在勒索软件的代码中。

5)勒索软件使用4)步骤生成的HC-128密钥和IV对目标文件进行加密,其中将加密后的HC-128密钥附加到被加密的文件中,以便在解密时使用。

6)将被加密的文件添加扩展名" k1k2k3[00-99]"。

IOC


文件MD5


cy.exe

2237ec542cdcd3eb656e86e43b461cd1

winutils.dll

f02ff25c2169c6575bdf3cd6f120c324

config.ini

57880c0d50028600ed9557a1cb1f60f2

3e3d20f82c4ce395b4a1d1ab60363fc6

cebb3c09bf4bd725ba482822aa1b6e0e

7d0995e365786a0372f61ca25e297ddc

解决方案

处置建议


预防勒索攻击措施:

  • 避免打开可疑或来历不明的邮件中的链接和附件。

  • 进行定期备份,并将这些备份保存在离线状态或单独的网络中。

  • 安装知名的防病毒和 Internet 安全软件包。

当遭遇勒索攻击后:

  •  对受感染设备进行断网。

  • 断开外部存储设备(如果已连接)。

  • 检查系统日志中是否存在可疑事件。

深信服解决方案


【深信服终端安全管理系统EDR】已支持查杀拦截此次事件使用的病毒文件,EDR全新上线“动静态双AI引擎”,静态AI能够在未知勒索载荷落地阶段进行拦截,动态AI则能够在勒索载荷执行阶段进行防御,通过动静态AI双保险机制可以更好地遏制勒索蔓延。请更新软件(如有定制请先咨询售后再更新版本)和病毒库至最新版本。



【深信服下一代防火墙AF】的安全防护规则更新至最新版本,接入深信服安全云脑,“云鉴” 服务即可轻松抵御此高危风险。

【深信服安全感知管理平台SIP】建议用户及时更新规则库,接入深信服安全云脑,并联动【深信服下一代防火墙AF】实现对高危风险的入侵防护。

【深信服安全托管服务MSS】以保障用户网络安全“持续有效”为目标,通过将用户安全设备接入安全运营中心,依托于XDR安全能力平台和MSSP安全服务平台实现有效协同的“人机共智”模式,围绕资产、脆弱性、威胁、事件四个要素为用户提供7*24H的安全运营服务,快速扩展持续有效的安全运营能力,保障可承诺的风险管控效果。




本文作者:Further_eye

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/200456.html

Tags:
评论  (0)
快来写下你的想法吧!

Further_eye

文章数:319 积分: 2105

深信服科技旗下安全实验室,致力于网络安全攻防技术的研究和积累,深度洞察未知网络安全威胁,解读前沿安全技术。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号