T1055.009: Proc 内存
摘要
攻击者可能通过 /proc 文件系统将恶意代码注入进程,以规避基于进程的防御,并可能提升权限。Proc 内存注入是一种在另一个活动进程的地址空间中执行任意代码的方法。 Proc 内存注入涉及通过 /proc 文件系统(<code>/proc/[pid]</code>)枚举进程的内存,然后用可用的 gadget/指令构造返回导向编程(ROP)载荷。每个运行中的进程都有自己的目录,其中包含内存映射。Proc 内存注入通常通过以下方式执行:使用 /proc 文件系统提供的内存映射覆盖目标进程的栈。该信息可用于枚举偏移(包括栈)和 gadget(或程序中可用于构建恶意载荷的指令),这些信息本会被进程内存保护(如地址空间布局随机化 ASLR)所隐藏。枚举后,可以使用 dd 覆盖 <code>/proc/[pid]/maps</code> 中目标进程的内存映射。(Citation: Uninformed Needle)(Citation: GDS Linux Injection)(Citation: DD Man) 其他技术,如 [Dynamic Linker Hijacking](https://attack.mitre.org/techniques/T1574/006),可用于为目标进程填充更多可用的 gadget。与 [Process Hollowing](https://attack.mitre.org/techniques/T1055/012) 类似,proc 内存注入可能针对子进程(如后台运行的 sleep 副本)。(Citation: GDS Linux Injection) 在另一个进程的上下文中运行代码可能允许访问该进程的内存、系统/网络资源,并可能获得提升的权限。通过 proc 内存注入进行的执行也可能规避安全产品的检测,因为执行被掩盖在合法进程之下。
来源归属
来源:MITRE ATT&CK · 置信度:high
平台
- Linux
战术
Stealth