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

news2024/11/26 6:01:34

11月期间,Morphisec在调查一个客户的防范事件时发现了Babuk勒索软件的一个全新变种。Babuk在2021年初首次被发现,当时它开始针对企业进行双重勒索攻击,以窃取和加密数据。这一年晚些时候,一个威胁者在一个讲俄语的黑客论坛上泄露了Babuk的完整源代码。

现在,威胁者将Babuk泄露的源代码与开源规避软件和侧面加载技术结合起来,创造了一个以前未曾见过的变体。在同一个月,趋势科技发布了有关类似勒索软件的细节,错误地将其归于WannaRen,并以目标公司的名字命名该勒索软件。这一次,攻击者使用了一种新的Babuk病毒株,针对一家拥有超过1万台工作站和服务器设备的数十亿美元的制造公司。

攻击者在发动攻击前有两周的网络访问权,进行了充分的侦察。他们破坏了该公司的域控制器,并利用它通过GPO向该组织内的所有设备分发勒索软件。在这个时候,由于正在进行的调查,我们不会公布整个攻击链的细节。相反,我们将深入研究勒索软件本身。

技 术 分 析

部署

在开始在域中大规模感染之前,攻击者在域控制器中部署了以下恶意软件文件:

· <file>.bat 一个BAT脚本,负责检查安全解决方案的存在,并开始执行一个微软安装程序(.msi)

· <file>.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对未知和内存中的攻击提供了无与伦比的保护。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【案例教程】气象数据相关分析:如何使用格点数据分析中国霜冻灾害变化技术

【查看原文】气象数据相关分析及使用系列&#xff1a;如何使用格点数据分析中国霜冻灾害变化技术 霜冻是一种短历时的农业气象灾害&#xff0c;它是由于日最低气温下降&#xff0c;使植物茎、叶处温度下降到0℃以下&#xff0c;导致正在生长的植物受到冻伤的现象。霜冻出现的早…

深度学习——数据增广(笔记)+代码

1.为什么要进行数据增广&#xff1f; ①大型数据集是深度网络的前提条件 ②图像增广对训练数据进行一系列的随机变化&#xff0c;生成相似但不同的训练样本&#xff0c;从而扩大训练集的规模 ③数据增广&#xff1a;可以处理图片和文本和语音。 ④对于图片的处理方式包括&a…

FITC-PEG-DBCO,Fluorescein-PEG-DBCO,荧光素-PEG-DBCO

【产品描述】 DBCO试剂在水性缓冲液中具有快速动力学和稳定性&#xff0c;可用于标记叠氮化物修饰的生物分子&#xff0c;具有高特异性和反应性。FITC具有高吸收率的荧光量子产率和良好的水溶性等特点&#xff0c;是生物学中应用广泛的一种绿色荧光素衍生物&#xff0c;除了用作…

【TypeScript系列】【一篇就够】TypeScript知识点总结(一)

00 TypeScript简介 TypeScript是JavaScript的超集。它对JS进行了扩展&#xff0c;向JS中引入了类型的概念&#xff0c;并添加了许多新的特性。TS代码需要通过编译器编译为JS&#xff0c;然后再交由JS解析器执行。TS完全兼容JS&#xff0c;换言之&#xff0c;任何的JS代码都可以…

神经网络科研绘图可视化工具

本文介绍10种科研绘图可视化工具。 目录1.神经网络框架自带的可视化工具库2.NN-SVG3.PlotNeuralNet4.netron5.ZETANE6.Tensorspace.js7.GRAPHCORE8.nn_vis9.PowerPoint1.神经网络框架自带的可视化工具库 pytorch&#xff1a;pytorchviz库&#xff1b; keras&#xff1a;keras.…

Map和Set

目录 1.搜索 1.1 概念 1.2 模型 2.Map的使用 2.1 Map说明 2.2 Map.Entry说明,v> 2.3 Map的常见方法 2.3.1 V put(K key, V value) 2.3.2 V get(Object key) 2.3.3 V getOrDefault(Object key, V defaultValue) 2.3.4 Set keySet() Collection values() 2.3.5 S…

JavaWeb语法二:Thread类的基本使用

目录 1.创建线程 1.2&#xff1a;run()和start()方法 1.3&#xff1a;Thread的几个常见属性 2.线程的有关操作 2.1&#xff1a;启动一个线程&#xff1a;start() 2.2&#xff1a;中断一个线程 2.2.1&#xff1a;使用自定义的变量来作为标志位 2.2.2&#xff1a;使用Thr…

高校校园网络

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;开发工具IDEA-2020.1,数据库mysql55.527,SSM框架&#xff0c;jdk版本"1.8.0_74"&#xff0c;java语言。 管理员…

小白年薪26万,为什么Python岗位的薪资越来越高?问题解析

人工智能和大数据概念的兴起&#xff0c;带动了Python的快速增长——Python语言逻辑简洁、入门简单、生态丰富&#xff0c;几乎成为几个新兴领域的不二选择。而除了这两个领域&#xff0c;Python还有更多的适用领域&#xff1a;爬虫、web、自动化运维等领域都非常适合Python发挥…

大二学生HTML期末作业、个人主页网页制作作业

&#x1f389;精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业…

代码随想录第八天

专题&#xff1a;字符串 题目&#xff1a; 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所…

CleanMyMacX4.15好用吗?CleanMyMac X2023安全吗?

CleanMyMac x4.15已经正式发布&#xff0c;作为最新的系统清理和应用管理软件&#xff0c;可以让用户一键智能化清理Mac电脑&#xff0c;自动扫描Mac上的所有文件&#xff0c;包括&#xff1a;Mac系统清理、邮件应用程序清理、大和旧型文件清理、itunes文件清理、废纸篓清理、应…

【总结】少信那些个包发论文的营销文案,7场直播讲解如何锻炼基础的学术研究能力...

对于广大研究生甚至本科生来说&#xff0c;发表满足学校或者实验室要求的公开学术论文是毕业要求&#xff0c;多少都会具有一定的压力&#xff0c;尤其是一些学校实验室要求比较高。作为过来人&#xff0c;其中焦虑有三也是懂的&#xff0c;研究生期间为此焦虑过一两年。正应如…

安科瑞ARB5弧光保护装置非电量保护装置故障告警可选配GOOSE

安科瑞 王晶淼/刘芳 一、ARB5系列弧光保护装置概述 ARB5系列弧光保护装置外观时尚、大屏幕液晶显示&#xff0c;图形化多语言菜单&#xff0c;操作快捷方便&#xff1b;具有强大的功能集成&#xff1a;集保护、测量、控制、监测、通讯、故障录波、事件记录等多种功能于一体,准…

时间序列-预测(Forcasting):时间序列预测算法总结

一、背景介绍 绝大部分行业场景,尤其是互联网、量化行业,每天都会产生大量的数据。金融领域股票价格随时间的走势;电商行业每日的销售额;旅游行业随着节假日周期变化的机票酒店价格等; 我们称这种不同时间收到的,描述一个或多种特征随着时间发生变化的数据,为时间序列…

如何完全的卸载ArcGIS?

打开控制面板&#xff0c;找到“卸载程序” 选择卸载程序&#xff0c;在新界面中找到与ArcGIS有关的程序。 右键单击要卸载的内容&#xff0c;并选择“卸载/更改”。按照此方法&#xff0c;把要卸载的软件一个个的卸载掉。 通过以上步骤&#xff0c;我们就把ArcGIS软件从电脑中…

酷早报:12月14日全球Web3加密行业重大资讯大汇总

2022年12月14日 星期三 【数据指标】 加密货币总市值&#xff1a;$0.88万亿 BTC市值占比&#xff1a;39.15% 恐慌贪婪指数&#xff1a;30 恐慌【今日快讯】 1、【政讯】 1.1、拜登&#xff1a;通胀正在下降&#xff0c;一切都在朝着正确的方向发展 1.2.1、贝莱德&#xff1a;11…

ChatGPT:探索RLHF与GPT的完美结合

前言 ChatGPT已经发布一周了热度依旧不减&#xff0c;ChatGPT也各种大显神通&#xff0c;为各大网友“出谋划策”&#xff0c;有写周报的&#xff0c;有写绩效的甚至还有写论文的&#xff0c;作为一个NLP从业者&#xff0c;除了好好体验下其中的乐趣&#xff0c;其背后的原理当…

基于Java实现(APP)智能停车场管理系统【100010044】

移动应用开发系统设计说明书 服务集成流程详细设计 实现功能 序号功能点描述1新增用户2注册用户3修改场地信息4列出场地信息5新增认证车辆6列出认证车辆7删除认证车辆8车辆进入信息录入9停车记录列表展示10出停车场信息录入 参数说明 User 用户信息实体参数 字段名称字段类…

壳聚糖-三聚磷酸钠(CTS-STPP)|SN-117M标记甘露糖偶联葡聚糖胺

壳聚糖-三聚磷酸钠(CTS-STPP)|SN-117M标记甘露糖偶联葡聚糖胺 中文名称&#xff1a;壳聚糖-三聚磷酸钠 英文名称&#xff1a;CTS-STPP 纯度&#xff1a;95% 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 外观:固体或粘性液体 包装&#xff1a;瓶装/袋装…