跳转至

进程空洞化

对手可能会将恶意代码注入挂起和空洞化的进程中,以规避基于进程的防御。进程空洞化是一种在单独的活动进程地址空间中执行任意代码的方法。 进程空洞化通常通过在挂起状态下创建进程,然后取消映射/空洞化其内存来执行,随后可以用恶意代码替换。可以使用本机 Windows API 调用(如 CreateProcess)创建受害进程,其中包括一个标志以挂起进程的主线程。此时,可以使用 API 调用(如 ZwUnmapViewOfSectionNtUnmapViewOfSection)取消映射进程,然后通过 VirtualAllocExWriteProcessMemorySetThreadContextResumeThread 分别写入、重新对齐到注入的代码并恢复。(引用: Leitch Hollowing)(引用: Elastic Process Injection July 2017) 这与线程本地存储非常相似,但创建的是新进程,而不是针对现有进程。由于注入的进程是从(并因此继承了安全上下文)注入进程生成的,因此这种行为可能不会导致权限提升。然而,通过进程空洞化执行可能会规避安全产品的检测,因为执行被掩盖在合法进程下。