恶意软件活动试图滥用防御程序二进制文件
2024-4-30 15:59:48 Author: www.freebuf.com(查看原文) 阅读量:2 收藏

近日,Sophos研究人员发现了一起勒索软件活动,它通过修改合法的Sophos可执行文件和DLL的原始内容,覆盖入口点代码,并将解密的有效载荷作为资源插入——换句话说,冒充合法文件试图潜入系统。初步检查表明,所有受影响的Sophos文件都是其Windows Endpoint产品2022.4.3版本的一部分。

可以肯定的是,这种恶意行为对信息安全行业来说并不新鲜——实际上,对任何软件开发人员来说亦是如此。在过去几年间,我们已经看到了其他信息窃取程序冒充安装程序;看到了大量假冒的实用程序,包括一些非品牌的反恶意软件被重新贴上合法的Sophos保护软件的标签;看到了犯罪分子以同样的热情攻击闭源和开源代码。

总的来说,它只是技术领域的“冰山一角”。事实上,在调查这一活动的过程中,研究人员还发现了攻击者在滥用其他防御程序(包括AVG、BitDefender、Emsisoft和微软)发布的文件,以及使用来自另一家公司已过期的数字签名,还有声称是来自另一家公司的软件的虚假“安装程序”,以及数十个恶意下载程序、MSI安装程序和其他妥协指标。

研究人员在调查中看到的最终有效载荷各不相同,涉及Cobalt Strike、Brute Ratel、Qakbot、Latrodectus等等。并且有证据表明不止一个犯罪集团使用了该软件。在下文中,我们将介绍这一最新活动及深入研究时发现的种种细节。

初始发现

最初引起研究人员注意的事件源自一个新的Sophos缓解:2月初,C2拦截器检测并标记了一个来自客户系统的Brute Ratel C2连接尝试,如下所示:

1714463332_6630a264ad8b5c40777df.png!small?1714463333776

【图1:引起研究人员注意的Sophos缓解事件】

最令人吃惊的部分是恶意HealthApi.dll文件的版本信息(如图1所示),该文件声称它是该名称的合法Sophos组件。之后,研究人员开始搜索具有相同特征的样本,并发现了一些似乎来自相同威胁参与者所创建的样本,其中包括一个可追溯到1月份的版本(使用了上述已过期的数字签名)。如上所述,研究发现了各种不同的最终有效载荷,在本文中,我们将重点关注部署Cobalt Strike或Brute Ratel的样本内容。

至少在某些情况下,虚假安装程序似乎是破损文件进入系统的手段。而就初始访问而言,在某些情况下,JavaScript加载程序似乎是通过电子邮件发送给受害者的。

一般特征

在本文回顾的案例中,入口点的代码被恶意加载程序代码覆盖,加密的有效负载作为资源部分中的资源存储。这意味着必须修改原始PE文件结构以容纳额外的恶意资源,如图2所示。

1714463347_6630a273186d914af75a1.png!small?1714463348296

【图2:深入研究被恶意修改的PE文件】

PE结构的更新只是局部的,例如,导出表不是固定的。在这种情况下,DLL样本将会导出不可理解(破损)的代码,因为代码被恶意加载程序代码所覆盖:

1714463356_6630a27cb7fc785a06926.png!small?1714463359804

【图3:覆盖的代码】

另一方面,正确加载可执行文件所需的头字段(例如,图像大小)是函数性的。最值得注意的是,节表(section table)中的资源节大小被修改了,以掩盖原始、干净文件中的所有资源都被包含加密有效负载的资源文件所替换的事实。

图4显示了原始SophosFS.exe与木马版本的比较:

1714463365_6630a2854ef531ab61dca.png!small?1714463369473

【图4:左边是原始Sophos版本;右边是攻击者的作品】

DllRegisterServer

在25e24385719aede7f4e0359b389a9597cc26df20e1b3a6367bbc04d5d4982fe6样本中,该文件是一个DLL,并且DllRegisterServer导出函数的代码正被覆盖。我们可以看到一个密钥被构建到堆栈上。进一步的分析揭示该密钥被用作异或密钥(XOR key)来解码攻击者的混淆PE资源。

1714463382_6630a29638c2c084a6e49.png!small?1714463384841

【图5:攻击者更改DllRegisterServer,密钥呈现在右下角】

研究人员发现,一旦解码,shellcode将最终解密另一层并将其注入内存,然后执行。这个样本最终揭示了一个没有DOS标头的可执行文件——在本例中是Brute Ratel。

1714463390_6630a29e8fe452edadf51.png!small?1714463391781

【图6:2022被调用来发送一个Brute Ratel副本】

同时,对于Cobalt Strike样本,有效载荷是寻常的64位http shellcode:

1714463402_6630a2aa060f01febb0fd.png!small?1714463402754

【图7:寻常的64位http shellcode】

或者是Cobalt Strike信标可执行文件:

1714463415_6630a2b70edc944cb26bc.png!small?1714463415844

【图8:Cobalt Strike信标的可执行标志——左边是最终有效载荷的解密器,右边是提取的Cobalt Strike配置】

在一些与Cobalt Strike相关的案例中,研究人员发现了TitanLdr加载程序,这是一种相当复杂的多功能shell代码,负责加载Cobalt Strike有效载荷。在其他情况下,则由更简单的shellcode复杂处理Cobalt Strike加载过程。如上所述,研究还发现了JavaScript加载程序,它可能通过电子邮件进入客户系统并加载MSIinstaller,而MSIinstaller又加载了虚假的EXE / DLL。

进一步发现

目前,调查仍在继续,截至发布时,IoC文件已经包含了400多个条目。其他更奇怪的发现也相继曝光。例如,在至少一个案例中,研究人员发现攻击者在滥用由已过期证书签名的二进制文件。该有效载荷是Qakbot。对VirusTotal的检查表明,这是由该特定签名签字的唯一文件,这可能意味着攻击者为自己注册了该文件。

攻击原因

理智的人很可能会问攻击者做这些事情是为了什么。毕竟,这些“修改”相当严重地破坏了这些文件上的数字签名,以至于大多数工具根本无法识别已签名的文件。假设Sophos保护在目标机器上运行,这种伪装对其来说是非常明显的,它会关闭该进程并与其他防御程序分享该发现结果。

所以从本质上讲,这类事情的目的可能是迷惑那些粗略浏览文件的人。恶意行为者不想引起别人对自己的注意,所以“笑话”或“133t”之类的名字绝对不是一个好的选择。看起来体面的文件——特别是那些来自知名信息安全公司的文件,更有可能迷惑分析人员,尤其是当修改后的文件中剩余的一些代码都是合法的——字符串、源引用等。

不过,这一切是否意味着软件存在漏洞?答案是没有,这既是一个好消息,因为没有漏洞;又是一个坏消息,因为没有办法阻止它。我们将在下一节中看到,在这种情况下,受影响的文件来自特定包的特定版本——不是因为该包有漏洞,而是因为攻击者能够获得该包的副本。

样本

到目前为止,这项调查已经发现了影响多个Sophos可执行文件或DLL的样本;这在两个文件中发生了不止一次,尽管我们没有发现一个文件有多个受影响的版本。初步检查表明,所有涉及的文件都是2022.4.3版本的Windows Endpoint产品的一部分。

在本节中,研究人员提供了调查过程中发现的文件样本,下述列表按受影响的Sophos文件排序。

SophosCleanup.exe

影响产品:Sophos Clean 3.10.3.1版本

恶意哈希:214540f4440cceffe55424a2c8de1cc43a42e5dcfb52b151ea0a18c339007e37

首次发现时间:2024-03-04 01:50:38 UTC

恶意软件连接到185.219.221.136:443

SophosFSTelemetry.exe

影响产品:Sophos文件扫描器1.10.7.68版本

恶意哈希:021921800888bc174c40c2407c0ea010f20e6d32c596ed3286ebfe7bd641dd79

首次发现时间:2024-03-13 19:15:25 UTC

恶意软件连接到topclubfond.com

SophosFX.exe

影响产品:Sophos文件扫描服务1.10.7.73版本

恶意哈希:18303e4b327cb47d131b0a3f3859e4e90d8fa0c40cf961bad7a34b550160e919

首次发现时间:2024-02-28 17:27:14 UTC

Cobalt Strike配置“C2Server”:http://devs.ambitenergycorporation[.]com:443/samlss/media.jpg

SophosIntelixPackager.exe

影响产品:SophosIntelixPackager 6.0.0.533版本

恶意哈希:617709e9e728b5e556ef7f98c55e99440d93186855b4a09d59bc4526a6fd82ae

首次发现时间:2024-02-15 18:20:45 UTC

托管地址:hxxp://185.117.91.230/download/guard64.exe;Cobalt Strike配置“C2Server”:“realsepnews.com,/lessen.jpgv”“HttpPostUri”: “/enterprise”

SophosNtpUninstall.exe

影响产品:Sophos Network Threat Protection 1.17.1118版本

恶意哈希:28738aac83c5534b5c3228ece92abc3b12c154fdad751a2e73c24633a4d6db71

首次发现时间:2024-02-02 14:48:37 UTC

Cobalt Strike C2地址:hxxps://buygreenstudio.com/build/constants/

研究人员还发现有多个文件被两次不同的破坏企图所滥用。下面是两个例子:

HealthApi.dll

影响产品:Sophos Health API 2.9.137版本

恶意哈希:25e24385719aede7f4e0359b389a9597cc26df20e1b3a6367bbc04d5d4982fe6

首次发现时间:2024-02-23 16:14:10

托管地址:hxxps://du178mamil.com/rtl.dll;C2服务器:azuycomp.com

恶意哈希:ae35666999bd6292bdb0e24aad521c183bac15543d6b4ca27e0c8a3bcc80079c

首次发现时间:2024-02-23 17:44:27

连接到hxxps://businessannually[.]com/persistent.html?lose=true

SophosUninstall.exe

影响产品:Sophos Endpoint Agent 1.15.221.0版本

恶意哈希:6a67cabf6058aa8a2d488a6233d420658eb803cba9da04f14b76e2b028ab30bf

首次发现时间:2024-02-20 20:22:38 UTC

Cobalt Strike配置C2Server:“usaglobalnews.com/Select/play/NX4C69QVQ4I”, “HttpPostUri”:“/design/dumpenv/Z2UC9FG2”

恶意哈希:86ebfe9d8b3c928fcf80642e88ea3b195b2ba23c6a5c17fdb68de13baac75cd1

首次发现时间:2024-02-23 18:05:45 UTC

Cobalt Strike配置C2Server:businessannually.com/persistent.html;HttpPostUri – /execute

行业反应

值得高兴的是,Palo Alto Networks公司也发现了同样的活动,并发布了与此活动相关的信息,包括该活动攻击流程的可视化。此外,一些观察者还报告了一种新的恶意软件菌株,暂定名为“Oyster/CleanUpLoader”,它与该活动一起出现。

目前,Sophos公司已经联系了这篇文章中提到的公司以及其他一些同样受到影响的公司。作为这一过程的一部分,Bitdefender(拥有受影响二进制文件的公司之一)已经审查了与其文件有关的数据,并发布了如下声明:“Bitdefender已被告知这些攻击中存在的二进制文件滥用情况。Bitdefender承认,由于二进制文件是在正常的软件功能之外独立使用的,因此未得到很好的维护。不过,安装在系统上的Bitdefender产品不容易受到这种二进制损坏方法的攻击。”

IoC地址:https://github.com/sophoslabs/IoCs

原文链接:

https://news.sophos.com/en-us/2024/04/26/malware-campaign-abuses-legit-defender-binaries/


文章来源: https://www.freebuf.com/news/399901.html
如有侵权请联系:admin#unsafe.sh