首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 归档 标签 关于

MSI Center – 如何在几秒钟内获得SYSTEM权限

2026-07-04 1 阅读 约6分钟阅读 MrBruh
分享:
字号:
MSI Center - 如何在几秒钟内获得系统权限在AMD和华硕的OEM软件中发现严重漏洞后,我想通过在更多游戏产品中发现问题来扩展我的视野。我最终选择了 MSI Center,因为它似乎预装在他们所有的笔记本电脑和预建台式机上,这意味着我发现的任何漏洞都可能会产生广泛的影响。下载和解压 此过程的第一步是始终下载离线安装程序。许多这些公司要么阻止安装程序在不受支持的硬件上运行,要么只允许安装一小部分软件。一旦您获得了离线安装程序的副本,您需要通过 Detect-It-Easy 运行它并祈祷。如果幸运的话,它可能会告诉您正在使用什么软件来打包 MSI Center。在我们的例子中,我们很幸运,它告诉我们 MSI Center 是使用一种名为 Inno Setup 的东西进行打包的。有一个专门针对这种情况的工具,称为 innoextract 。提取安装程序和其中包含的 .appxbundle(它只是一个 .zip 文件)后,是时候反编译可执行文件了。反编译总共有170个可执行文件(包括DLL),其中大部分是使用C#编写的。对于他们,我制作了一个 bash 脚本来使用 ilspycmd 反编译所有这些脚本。寻找 。 ( -name "*.exe" -o -name "*.dll" ) -exec 文件 {} + | grep 单声道 | wc -l 查找 . ( -name "*.exe" -o -name "*.dll" ) -exec 文件 {} + | grep -v 单声道 | wc -l 对于用 C++ 编写的其余部分,我选择了前 10 个最有趣的文件并将它们放入 IDA 中,然后将其完整反编译导出为 .c 文件。完成所有这些之后,我得出的结论是,文件太多,无法单独查看每个文件。相反,我只能寻找共同的弱点,并希望能找到一些东西。我要查找的内容之一是 CreateNamedPipe 。 (命名管道是计算机上不同进程相互通信的一种方式。)该漏洞 MSI 的“Notebook Foundation”服务在启动时生成一个命名管道,任何经过身份验证的用户都可以与之交互。 CreateNativePipeSecurity("D:(A;OICI;GRGW;;;AU)(A;OICI;GA;;;BA)"); CreateNamedPipe("\\\\.\\pipe\\MSI_SERVICE_2", PIPE_ACCESS_DUPLEX);它提供了以下可以触发的命令: 握手 要调用/与以下命令交互,您需要“注册”您的应用程序。您只需提供任意客户端名称,然后在调用其他命令时将其作为参数提供。注册表 这允许您以本地系统(最高权限)的身份读取、写入和删除任何注册表项。 WMI(Windows 管理规范)允许您监视系统硬件并更改系统设置(例如 Windows Defender 设置和排除)。 PC REXE - 将任何带有任何参数的可执行文件作为 LocalSystem 运行。 KEXE - 终止系统上的任何可执行文件(再次以 LocalSystem 身份运行)。正如您可能已经猜到的,这些工具对于任何授权用户(包括没有本地管理员的用户)来说都是极其危险的工具。它们可能被恶意软件滥用来禁用 Windows Defender 或获得系统级权限。 PoC(概念验证) 从历史上看,MSI 主要依靠默默无闻的安全性来防止被利用。他们创建了一个用于与管道通信的自定义协议,并要求使用 3DES(按照当今标准,这是一种过时且不安全的密码)对所有消息进行加密。打开与 MSI_SERVICE_2 命名管道的连接。使用随机字符串(例如 ABCD123)注册应用程序。使用 3DES 加密您的 PC:REXE 命令并使用客户端名称作为密钥。 Notebook Foundation 服务尝试通过尝试所有已注册的客户端名称来强制解密,直到其中一个有效为止。如果解密成功,它将作为 LocalSystem 运行有效负载。对于我创建的概念验证,我仅让它启动 cmd.exe 以表明它可用于升级权限。但是,恶意软件可能会运行任意 PowerShell 命令或脚本。你的浏览器不支持视频 lmao 我最近发现这个漏洞也可以通过 LAN 上的 SMB 远程触发,从而导致远程代码执行 (RCE)。但是,由于命名管道仅响应经过身份验证的用户,因此成功利用该漏洞需要目标计算机的有效登录凭据。报告 当我通过 MSI 通过 PSIRT 电子邮件向 MSI 发送此漏洞的报告时,我收到了令人担忧的回复:远程服务器返回 '554 5.2.2 邮箱已满; STOREDRV.Deliver.Exception:QuotaExceededException.MapiExceptionShutoffQuotaExceeded;'这基本上意味着接收漏洞报告的邮箱已满,并且拒绝接受任何其他电子邮件。它不仅拒绝接受我的漏洞报告,而且很可能已经这样持续了一段未知的时间,并丢弃了其他人的漏洞
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱