T1134.004: 父 PID 欺骗
摘要
攻击者可能欺骗新进程的父进程标识符(PPID),以规避进程监控防御或提升权限。除非明确指定,新进程通常直接由其父进程(或调用进程)生成。显式分配新进程 PPID 的一种方式是通过 <code>CreateProcess</code> API 调用,它支持一个用于定义要使用的 PPID 的参数。(Citation: DidierStevens SelectMyParent Nov 2009)此功能被 User Account Control(UAC)等 Windows 功能使用,以在请求提升的进程由 SYSTEM(通常通过 <code>svchost.exe</code> 或 <code>consent.exe</code>)生成而非当前用户上下文生成后,正确设置 PPID。(Citation: Microsoft UAC Nov 2018) 攻击者可能滥用这些机制来规避防御,例如那些阻止进程直接从 Office 文档生成的防御,以及针对异常/可能恶意的父子进程关系的分析,例如将 [PowerShell](https://attack.mitre.org/techniques/T1059/001)/[Rundll32](https://attack.mitre.org/techniques/T1218/011) 的 PPID 欺骗为 <code>explorer.exe</code>,而非作为 [Spearphishing Attachment](https://attack.mitre.org/techniques/T1566/001) 投递的 Office 文档。(Citation: CounterCept PPID Spoofing Dec 2018)这种欺骗可以通过恶意 Office 文档中的 [Visual Basic](https://attack.mitre.org/techniques/T1059/005) 或任何可执行 [Native API](https://attack.mitre.org/techniques/T1106) 的代码来执行。(Citation: CTD PPID Spoofing Macro Mar 2019)(Citation: CounterCept PPID Spoofing Dec 2018) 在拥有对父进程适当访问权限的情况下,显式分配 PPID 还可能启用提升的权限。例如,处于特权用户上下文(即管理员)中的攻击者可能生成一个新进程,并将父进程指定为一个以 SYSTEM 运行的进程(如 <code>lsass.exe</code>),从而使新进程通过继承的访问令牌被提升。(Citation: XPNSec PPID Nov 2017)
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Windows
战术
Stealth
参考来源
- https://attack.mitre.org/techniques/T1134/004
- https://blog.xpnsec.com/becoming-system/
- https://web.archive.org/web/20200726110643/https://blog.f-secure.com/detecting-parent-pid-spoofing/
- https://docs.microsoft.com/windows/security/identity-protection/user-account-control/how-user-account-control-works
- https://blog.didierstevens.com/2009/11/22/quickpost-selectmyparent-or-playing-with-the-windows-process-tree/
- https://blog.christophetd.fr/building-an-office-macro-to-spoof-process-parent-and-command-line/