CVE-2024-38100 Fake potato LPE漏洞分析

渗透技巧 1个月前 admin
125 0 0

在探索“SilverPotato”滥用的DCOM对象时,我偶然发现了“ShellWindows” DCOM应用程序。这个应用程序和“ShellBrowserWindows”一样,在进攻性安全社区中广为人知,可以通过远程实例化这些对象并具有管理员权限来进行横向移动。

然而,我好奇是否普通用户可以在本地滥用它们。

DCOM应用程序“ShellWindows”的应用程序ID为{9BA05972-F6A8-11CF-A442-00A0C90A8F39},配置为以“Interactive”用户的身份运行:

CVE-2024-38100   Fake potato LPE漏洞分析

图1

该应用程序的权限设置为默认值,这意味着交互用户至少可以在本地启动和激活DCOM应用程序:

CVE-2024-38100   Fake potato LPE漏洞分析

图2

CVE-2024-38100   Fake potato LPE漏洞分析

图3

让我们看看DCOM应用程序是如何配置的,多亏了类型库,我们可以获取很多有用的信息:

CVE-2024-38100   Fake potato LPE漏洞分析

图4

该类由explorer.exe注册,激活器将使用这个。公开了几个方法:

CVE-2024-38100   Fake potato LPE漏洞分析

图5

我们要找的是*ShellExecute()*方法,因为它允许执行外部命令或应用程序。

现在,借助Oleview工具,让我们看看explorer.exe进程中的访问安全性:

CVE-2024-38100   Fake potato LPE漏洞分析
图6

看起来很有希望,经过身份验证的用户具有执行权限(!!!???)

总结一下,我们有这个DCOM应用程序模拟交互用户。它由explorer进程托管,该进程授予经过身份验证的用户执行权限。

现在,如果我们能执行跨会话激活,非特权用户可以代表连接到不同会话的另一个用户激活对象并调用**ShellExecute()**方法以执行任意操作?

让我们在PowerShell中快速且脏地做一下 😉

我们是user1,而administrator连接在会话2中。我们可以使用*BindToMoniker()调用在会话2中激活DCOM对象并执行ShellExecute()*方法,例如,从Administrator那里获取一个反向shell:

CVE-2024-38100   Fake potato LPE漏洞分析
图7

成功了!🙂

$obj = [System.Runtime.InteropServices.Marshal]::BindToMoniker("session:2!new:9BA05972-F6A8-11CF-A442-00A0C90A8F39")
$p=$obj.item(0).document.application
$p.ShellExecute("c:tempreverse.bat", "", "c:windows", $null, 0)

现在有趣的部分来了:我在另一个没有管理员权限的用户上尝试了这个方法……结果呢?

CVE-2024-38100   Fake potato LPE漏洞分析
图8

访问被拒绝!这真的很奇怪,但对访问安全性进行快速检查解释了为什么我们会被拒绝访问:

CVE-2024-38100   Fake potato LPE漏洞分析
图9

在这种情况下,explorer进程上缺少经过身份验证的用户权限。如果进程在中等完整性级别运行,这是用户的标准行为——即使是管理员组的成员,因为启用了UAC——他们将缺少该组的权限。

CVE-2024-38100   Fake potato LPE漏洞分析
图10

然而,真正的管理员,禁用了UAC,所有进程都在高完整性级别(High IL)下运行,在这种情况下,这些权限被设置!

这显然是一个错误。问题是,这个问题存在了多久?有可能没有人发现它吗?也许是由于高IL的限制?

很难说……

explorer.exe中还有其他注册的类,可能会被滥用:

CVE-2024-38100   Fake potato LPE漏洞分析

图11

我玩弄了Desktop Wallpaper,能够更改管理员的桌面背景图片🙂

这个案例(显然)提交给了MSRC,并在2024年7月的补丁星期二中修复了这个安全漏洞,编号为CVE-2024-38100,标记为重要的本地权限提升漏洞(LPE)。

CVE-2024-38100   Fake potato LPE漏洞分析
图12

现在,高IL下explorer.exe进程的正确设置也被应用。

你可能想知道为什么我称之为“假”土豆。起初,我以为可以使用与*Potato系列相同的技术进行利用,但事实证明在这种情况下它不同且更简单🙂

附带说明:这个漏洞类似于James Forshaw在2018年报告的漏洞,已在CVE-2019-0566中修复*

就这些😉


原文始发于微信公众号(3072):CVE-2024-38100 Fake potato LPE漏洞分析

版权声明:admin 发表于 2024年8月5日 上午10:08。
转载请注明:CVE-2024-38100 Fake potato LPE漏洞分析 | CTF导航

相关文章