[240919] 利用 MSI 修复功能进行提权攻击:深度解析与检测 | Linux 内核 6.11 正式发布,都有哪些新特性?

133 阅读5分钟

利用 MSI 修复功能进行提权攻击:深度解析与检测

本文将深入探讨微软 Windows MSI 安装程序修复功能中存在的安全漏洞,该漏洞可被本地攻击者利用,提升权限至 SYSTEM 级别。我们将详细介绍攻击原理、利用技巧、检测方法以及缓解措施,并提供一个名为 "msiscan" 的开源分析工具,用于自动检测潜在的安全问题。

漏洞原理

MSI 安装程序通常用于在 Windows 系统上安装应用程序,其修复功能允许低权限用户执行,但执行上下文却是高权限的 NT AUTHORITY\SYSTEM。攻击者可以利用此功能,在程序执行过程中,通过短暂出现的提升权限窗口,实现权限提升。

攻击步骤

  1. 关闭浏览器。
  2. 以低权限用户身份启动修复过程,例如执行 msiexec.exe /fa <path/to/installer.msi>
  3. 当黑色控制台窗口弹出时,右键单击窗口栏并选择“属性”,阻止窗口关闭。
  4. 点击“旧版控制台模式”,选择浏览器对话框将会打开。
  5. 选择浏览器,例如 Firefox。
  6. 在 Firefox 中按下 Ctrl+O,打开文件对话框。
  7. 在顶部栏输入 cmd.exe 并回车,将打开一个新的命令窗口。
  8. 此时你将拥有一个 SYSTEM 权限的命令窗口。

利用技巧

  • 使用 SetOpLock.exe 工具锁定安装程序访问的文件,可以延长弹出窗口的持续时间,方便操作。
  • 可以使用 ProcMon 工具分析安装程序访问的文件,找到合适的锁定目标。

漏洞检测

  • 手动检测: 使用 ProcMon 工具监控安装程序的进程树,查找以 SYSTEM 权限执行的控制台应用程序。
  • 自动检测: 使用开源工具 "msiscan" 分析 MSI 文件,识别潜在的漏洞。该工具可以识别以高权限执行的自定义操作、调用控制台应用程序的二进制文件以及不安全的脚本或可执行文件。

缓解措施

  • MSI 包开发者: 避免在高权限上下文中执行控制台应用程序,可以使用 WiX Toolset 等工具隐藏窗口,或者将控制台应用程序修改为隐藏窗口的窗口应用程序。
  • IT 管理员: 及时安装微软发布的补丁 (CVE-2024-38014),更新 Windows 系统和所有软件。

检测规则

可以使用以下 Sigma 规则检测潜在的攻击行为:

  • win_application_msi_repair.yml: 检测 MSI 修复过程完成事件 (Event ID 11728)。
  • process_creation_windows_msiexec_repair.yml: 检测使用修复参数执行 msiexec.exe 的行为。
  • process_creation_windows_elevated_msiexec.yml: 检测以 SYSTEM 权限执行 msiexec.exe 的行为。
  • process_creation_windows_elevated_openwith.yml: 检测以 SYSTEM 权限执行 OpenWith.exe 的行为。
  • process_creation_windows_elevated_system_shell_browser_parent.yml: 检测从浏览器进程启动的 SYSTEM 权限 shell。
  • correlation_msi_privesc.yml: 关联高权限 msiexec 进程和高权限 shell 的出现,检测利用 MSI 漏洞进行提权的行为。

MSI 安装程序修复功能中的安全漏洞是一个严重的安全风险,攻击者可以利用该漏洞获取系统最高权限。开发者和系统管理员需要采取相应的措施,防范此类攻击。

来源:
sec-consult.com/blog/detail…

Linux 内核 6.11 正式发布,都有哪些新特性?

Linux 之父 Linus Torvalds 于 9 月 15 日正式发布了 Linux 内核 6.11 稳定版,带来了众多新功能和改进。

Linux 6.11 的亮点包括:

  • 全新驱动子系统: 为高通平台上的蓝牙/WLAN 芯片提供上游支持。
  • getrandom() 支持 vDSO: x86 系统上新增一种 mmap(2) 映射,允许内核在内存压力下随时清零页面。
  • AArch64 (ARM64) ACPI 系统支持虚拟 CPU 热插拔。
  • 创建中断域的新机制。
  • dmaengine_prep_peripheral_dma_vec() 函数: 支持使用 dma 向量进行传输,并提供 AXI dma 文档和用户。
  • 支持 STMicro STM32 DMA3。
  • 支持最低版本的 Rust 工具链。
  • 支持 Arrow Lake 和 Lunar Lake CPU 平台。
  • Loongson-3 CPUFreq 驱动支持。
  • amd-pstate cpufreq 驱动中支持快速 CPPC。
  • ACPI 风扇驱动支持 hwmon 接口。

其他重要更新:

  • KVM 更新: 为 LoongArch 架构提供 ParaVirt steal time 支持、perf kvm-stat 支持和一些虚拟机迁移 增强功能。默认启用 KVM halt poll shrinking。
  • bcachefs 文件系统: 重写磁盘记账方案,将记账信息存储为普通的 btree 键。
  • NFS: 服务器端支持新的 pNFS NVMe 布局类型。
  • 支持用 Rust 编写的块驱动程序。
  • 专用桶 slab 分配器: 防止堆喷射攻击。
  • 初步支持 AMD 的 SEV-SNP 安全加密虚拟化机制。
  • 用于固件加载的 Rust 抽象。
  • RISC-V 架构支持内存热插拔和 STACKLEAK。
  • 统一的 VMware hypercall API 层: 为机密计算解决方案添加 API 支持。
  • 后台块组回收的新逻辑。
  • 删除子卷后自动删除 cgroup。
  • Btrfs 文件系统新增 'rescue=' 挂载选项。
  • RISC-V ACPI 系统支持 NUMA。
  • 众多更新和新增驱动程序,提供更好的硬件支持。

需要注意的是: Linux 内核 6.11 将是一个短期支持版本,仅维护几个月。它的继任者 Linux 内核 6.12 已经开放合并窗口,预计将于 2024 年 11 月中旬或下旬发布,并将成为下一个长期支持 (LTS) 内核系列。

来源:
9to5linux.com/linux-kerne…




更多内容请查阅 : blog-240919


关注微信官方公众号 : oh my x

获取开源软件和 x-cmd 最新用法