虹科技术 | 终端入侵防御 | 在重大攻击中发现新的Babuk勒索软件

11月期间,morphisec在调查一个客户的防范事件时发现了babuk勒索软件的一个全新变种。babuk在2021年初首次被发现,当时它开始针对企业进行双重勒索攻击,以窃取和加密数据。这一年晚些时候,一个威胁者在一个讲俄语的黑客论坛上泄露了babuk的完整源代码。
现在,威胁者将babuk泄露的源代码与开源规避软件和侧面加载技术结合起来,创造了一个以前未曾见过的变体。在同一个月,趋势科技发布了有关类似勒索软件的细节,错误地将其归于wannaren,并以目标公司的名字命名该勒索软件。这一次,攻击者使用了一种新的babuk病毒株,针对一家拥有超过1万台工作站和服务器设备的数十亿美元的制造公司。
攻击者在发动攻击前有两周的网络访问权,进行了充分的侦察。他们破坏了该公司的域控制器,并利用它通过gpo向该组织内的所有设备分发勒索软件。在这个时候,由于正在进行的调查,我们不会公布整个攻击链的细节。相反,我们将深入研究勒索软件本身。
技 术 分 析部署在开始在域中大规模感染之前,攻击者在域控制器中部署了以下恶意软件文件:
· .bat 一个bat脚本,负责检查安全解决方案的存在,并开始执行一个微软安装程序(.msi)
· .msi 我们在下面更详细地讨论这个安装程序
攻击者使用域控制器的netlogon文件夹--存放组策略登录脚本文件的共享文件夹。这确保了.bat文件在整个域中执行。
执行
msi安装程序包含四个文件:
· sapphireimsclient.exe,这个可执行文件是ntsd.exe--一个用于windows的符号调试器工具。它是一个合法的工具,但容易受到dll侧面加载的影响:
 · dbgeng.dll是主要的恶意软件组件,它冒充ntsd.exe使用的合法dll,并利用dll侧面加载漏洞。
· 两个加密的文件sc.ocs和config.ocs 
.bat文件将:
· 在注册表中设置一个uac旁路
 · 检查安全解决方案并通过添加新的防火墙规则阻止与它们的通信
 · 执行安装程序,负责将文件解压到c:\users\public\sapphireimsclient\文件夹中。
之后,.bat会执行以下命令行:
c:\users\public\sapphireimsclient\sapphireimsclient.exe
c:\users\public\sapphireimsclient\sc.ocs
c:\users\public\sapphireimsclient\config.ocs 
将开源工具注入合法的dll中
如前所述,ntds.exe(sapphireimsclient.exe)是一个合法的可执行文件,它加载了一个名为dbgeng.dll的已知核心dll,而没有验证其路径。攻击者在同一目录下投放了同名的恶意dll。这导致了合法的微软签名进程的执行。攻击者之前也在使用有漏洞的word office应用程序。我们目前的假设是,他们的目标是微软签名的应用程序,因为这大大降低了机器学习的可疑分类阈值。(没有厂商想杀死微软的进程)。
dbgeng.dll中的恶意代码有两个职责:
1、将.ocs文件读入内存
a) sc.ocs 一个加密的shellcod--最终有效载荷的实际反射性装载器
b) config.ocs 一个加密的二进制文件--最终的有效载荷
2、执行下一个阶段
第一个任务是在一个新的线程中完成的,如以下片段所示:
 该恶意软件从微软应用程序执行期间交付的命令行参数中读取.ocs文件路径,并对内容进行解密。
虽然这种逻辑在网上广为流传,但dll中的代码与开源项目:pe-loader
(https://github.com/polycone/pe-loader/blob/master/loader/src/system/system.cpp)中的代码有高度的相似性。
 如前所述,执行过程分为两个例程。第一个,由上图表示,位于dll加载例程中,负责读取.ocs文件并解密sc.ocs文件(即shellcode)。第二个例程是debugcreate导出的函数。它以一个长的 sleep 开始,等待读取任务结束,然后再继续。
在debugcreate中,恶意软件将保护权限调整为rwx,解密有效载荷,并将执行转移到解密的shellcode。
 反射式加载器shellcode
该shellcode作为一个反射性加载器。该代码是由stephen fewer(https://github.com/stephenfewer)首次发布的,但我们注意到了修改。原始技术有几十种实现和修改,但深入挖掘后发现,攻击者使用的shellcode与以下github项目之间有很高的相关性:malisal/loaders/pe.c (https://github.com/malisal/loaders/blob/master/pe/pe.c)
 攻击者编辑了一些函数,如windows api散列函数,但整体结构和代码流是相同的。看起来攻击者从这个开源项目中获得了 灵感。
最后付费:修改后的babuk勒索软件
最后的有效载荷是由去年泄露的源代码编译的babuk勒索软件。
hildaboo/babukransomwaresourcecode (https://github.com/hildaboo/babukransomwaresourcecode)
 有了以下要停止的进程列表:
sql.exe               dbeng50.exe 
oracle.exe            sqbcoreservice.exe 
ocssd.exe             excel.exe 
dbsnmp.exe            infopath.exe 
synctime.exe          msaccess.exe 
agntsvc.exe           mspub.exe 
isqlplussvc.exe       onenote.exe 
xfssvccon.exe         outlook.exe 
mydesktopservice.exe  powerpnt.exe 
ocautoupds.exe        steam.exe 
encsvc.exe            thebat.exe 
firefox.exe           thunderbird.exe 
tbirdconfig.exe       visio.exe 
mydesktopqos.exe      winword.exe 
ocomm.exe             wordpad.exe 
dbeng50.exe           notepad.exe
相似性
· 代码结构:整体执行流程和代码结构与babuk勒索软件所呈现的结构相关。
· 相同的加密算法:任何勒索软件最具有特征的功能之一是加密方法。我们验证了我们案例中的有效载荷与babuk源代码中的有效载荷相匹配。
· 配置:原始和变种的配置和使用是重叠的。
下面的截图显示了某些代码块在源码和反编译中的匹配情况。
注意:编译器在某些情况下会发挥它的魔力,这可能导致不同的代码定位和代码减少。
修改
我们注意到影子拷贝的删除程序与源代码中的不同。
babuk勒索软件
泄露的babuk源代码显示,通过创建新的cmd.exe进程删除的影子副本将执行vssadmin.exe工具:
 修改后的babuk勒索软件:最终使用的有效载荷
恶意软件通过使用执行wmi查询的com对象来遍历可用的影子副本。下面的代码片段显示了恶意软件如何执行wmi查询以获得每个影子副本的id,然后使用com,按id删除每个影子副本。
 值得注意的是,blackmatter和conti勒索软件等恶意软件也表现出类似的行为。
为什么防御babuk勒索软件是如此困难
现代ngav、epp和edr/xdr对运行时的可见性有限。它们通常被限制在使用钩子和/或windows的事件跟踪(etw)。假设钩子和etw没有被篡改,它们只是应用程序生命周期内执行活动的沧海一粟。这意味着如果一个应用程序被成功加载,大多数时候安全监控解决方案将对应用程序的执行保持盲目,直到对系统的重大影响可见。
应用程序的虚拟化运行时地址空间要比单个文件大得多。因此,在应用程序执行期间应用传统的扫描方法是一场失败的战斗。此外,这种扫描大大降低了可用性,必须尽可能地减少。
攻击者知道监控和扫描解决方案的这些弱点,并努力在应用程序的内存中保持隐蔽。这适用于这个新的babuk变体,它实现了侧面加载,在合法的应用程序内执行,并实现了反射性加载功能以隐藏其余的执行步骤。攻击者对其初始访问和横向移动步骤实施类似的规避技术,我们将在下一篇博客中介绍。
移动目标防御技术
由于这些威胁具有高度的规避性,而且主要存在于设备内存中,任何级别的ngav或最佳edr都无法可靠地检测和阻止它们。morphisec革命性的、获得专利的移动目标防御(mtd)技术是一个行业领先的解决方案,可以阻止无法检测到的攻击。它对内存攻击提供了一种超轻量级、高度有效的防御。
mtd以不可预测的方式改变运行时的内存环境,以隐藏应用程序和操作系统的目标,不让对手发现。这导致了攻击面的大幅减少,使目标无法找到。mtd在不影响可用性的情况下提出诱饵来欺骗和诱捕威胁。它阻止并暴露了依赖内存中动态执行的隐蔽性的攻击者。
通过在运行期间对设备内存进行变形,morphisec的mtd增强了业现有的安全堆栈,以阻止和归因于无文件攻击,否则就不可能检测到。
攻击的结果
该公司使用下一代反病毒(ngav)解决方案和morphisec guard来保护他们的端点。勒索软件躲过了该公司端点上的ngav,但morphisec的移动目标防御(mtd)技术阻止了攻击,防止了任何损害。
市场领先的edr,如crowdstrike和sentinelone,在攻击发生时无法阻止新的babuk变体。sentinelone更新了其签名,在赎金软件被上传到一个开放资源库72小时后检测到加密的壳码参数,crowdstrike现在也更新了其检测。
正如babuk勒索软件的这个新变种所显示的,mtd对未知和内存中的攻击提供了无与伦比的保护。

变压器是由什么组成
三星Galaxy A20s开启预售搭载骁龙450平台最大支持512GB存储卡扩展
简述Spring Boot数据校验
运营商携号转网或将改变竞争格局,与5G发展如何进行取舍
物联网PAAS平台服务的十大趋势说明
虹科技术 | 终端入侵防御 | 在重大攻击中发现新的Babuk勒索软件
什么是元组
去耦电容和旁路电容区别
书架式音箱的设计制作,Sound Box design
滤波器分类及特点
电源纹波对芯片工作的影响
技术为王!普渡科技获评2022年度深圳市知识产权优势单位
国产机器人突破的关键:减速器
Type-C分线器双重工艺产品耐用
CAD快速绘图的几种基本方法
延时关灯器电路原理
javascript中输出到控制台的代码
电烙铁加热原理和电磁炉一样吗
射频信号三种抗干扰设计方法
BP网络在蓄电池电压监测模块设计与应用