T1546.011: 应用程序填充(Shim)

权限提升

摘要

攻击者可能通过执行由应用程序填充(shim)触发的恶意内容来建立持久化和/或提升权限。Microsoft Windows 应用程序兼容性基础设施/框架(应用程序填充/Shim)的创建是为了在操作系统代码库随时间变化时允许软件的向后兼容。例如,应用程序填充功能允许开发人员对为 Windows XP 创建的应用程序应用修复(而无需重写代码),使其能够在 Windows 10 上运行。(Citation: Elastic Process Injection July 2017) 在该框架内,创建填充(shim)以在程序(或更具体地说,导入地址表)与 Windows OS 之间充当缓冲。当程序执行时,会引用填充缓存以确定该程序是否需要使用填充数据库(.sdb)。如果是,则填充数据库使用挂钩(hooking)根据需要重定向代码,以便与 OS 通信。 默认 Windows 安装程序(sdbinst.exe)当前安装的所有填充(shim)列表保存在: * <code>%WINDIR%\AppPatch\sysmain.sdb</code> 和 * <code>hklm\software\microsoft\windows nt\currentversion\appcompatflags\installedsdb</code> 自定义数据库存储在: * <code>%WINDIR%\AppPatch\custom & %WINDIR%\AppPatch\AppPatch64\Custom</code> 和 * <code>hklm\software\microsoft\windows nt\currentversion\appcompatflags\custom</code> 为使填充(shim)保持安全,Windows 将其设计为用户模式运行,因此它们无法修改内核,并且您必须具有管理员权限才能安装填充。然而,某些填充可用于[绕过用户账户控制](https://attack.mitre.org/techniques/T1548/002)(UAC 和 RedirectEXE)、将 DLL 注入进程(InjectDLL)、禁用数据执行保护(DisableNX)和结构化异常处理(DisableSEH),以及拦截内存地址(GetProcAddress)。 利用这些填充(shim)可能允许攻击者执行若干恶意行为,如提升权限、安装后门、禁用 Windows Defender 等防御措施。(Citation: FireEye Application Shimming) 填充(shim)也可能被滥用,通过被受影响程序持续调用来建立持久化。

来源归属

来源:MITRE ATT&CK · 置信度:high

平台

  • Windows

战术

权限提升

参考来源