T1055.003: 线程执行劫持
摘要
攻击者可能将恶意代码注入被劫持的进程,以规避基于进程的防御,并可能提升权限。线程执行劫持是一种在另一个活动进程的地址空间中执行任意代码的方法。 线程执行劫持通常通过以下方式执行:先挂起一个已有进程,然后解除映射/镂空其内存,随后可用恶意代码或 DLL 路径替换。首先使用原生 Windows API 调用(如 <code>OpenThread</code>)创建指向已有受害进程的句柄。此时可以挂起该进程并写入,将其重新对齐到注入的代码,并分别通过 <code>SuspendThread </code>、<code>VirtualAllocEx</code>、<code>WriteProcessMemory</code>、<code>SetThreadContext</code>,然后 <code>ResumeThread</code> 来恢复执行。(Citation: Elastic Process Injection July 2017) 这与 [Process Hollowing](https://attack.mitre.org/techniques/T1055/012) 非常相似,但它针对的是已有的进程,而不是创建一个处于挂起状态的进程。 在另一个进程的上下文中运行代码可能允许访问该进程的内存、系统/网络资源,并可能获得提升的权限。通过线程执行劫持进行的执行也可能规避安全产品的检测,因为执行被掩盖在合法进程之下。
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Windows
战术
Stealth