十种注入技巧 | 通用性进程注入技巧研究
发布网友
发布时间:2024-09-30 05:03
我来回答
共1个回答
热心网友
时间:2024-09-30 21:52
进程注入是恶意软件和无文件攻击中的一种逃避技术,允许在另一个进程的地址空间内运行自定义代码。这种隐蔽性提高了攻击的效率。本文将介绍十种常见的进程注入技术,以及如何通过这些技术在现实场景中注入恶意代码。
1. **DLL注入方式**:利用`CREATEREMOTETHREAD`和`LOADLIBRARY`进行注入是常用方法。恶意软件将恶意动态链接库(DLL)路径写入目标进程的虚拟地址空间,并通过创建远程线程确保其加载。图1显示了此过程的屏幕截图。
2. **PE文件注入**:此技术允许恶意软件直接在其代码中注入PE文件,而无需在磁盘上创建额外的DLL。内存中执行的优势在于无需额外文件,但缺点是PE文件的新基址可能不可预测,需要动态计算其绝对地址。图3展示了这一技术的结构。
3. **进程HOLLOWING**:恶意软件可以直接替换宿主进程的内存空间,用恶意可执行文件覆盖合法代码,从而实现隐蔽的注入。图5演示了Ransom.Cryak如何实现进程hollowing。
4. **线程执行劫持**:通过劫持现有线程避免进程或线程创建操作的噪声,提高隐蔽性。图7给出了通用木马程序利用此技术的实例。
5. **SETWINDOWSHOOKEX注入**:利用挂钩技术拦截特定线程事件,加载恶意DLL。Locky Ransomware是使用此技术的一个例子。图9展示了其注入过程。
6. **注册表注入**:通过修改`AppInit_DLLs`、`AppCertDlls`和`IFEO`注册表项实现注入和维持注入。图10和11分别展示了木乃伊和Diztakun木马如何利用这些技术。
7. **APC注入与AtomBombing**:通过异步过程调用控制线程执行,注入自定义代码。图12展示了Amanahe恶意软件使用APC注入的实例。
8. **窗口内存注入 (EWMI)**:PowerLoader等恶意软件利用资源管理器托盘窗口的额外窗口内存注入代码。图13显示了注入过程。
9. **SHIMS注入**:恶意软件利用Shims技术实现注入,通过修改API调用路径实现隐蔽。图14展示了广告软件“Search Protect by Conit”使用Shims进行注入和维持的例子。
10. **IAT和INLINE HOOKING**:通过修改导入地址表或直接修改API函数本身,实现隐蔽的注入。图15演示了FinFisher通过IAT HOOKING技术注入恶意代码。
总结,本文详细介绍了十种不同的进程注入技术,涵盖了直接代码注入、DLL加载、内存注入、注册表修改、API钩子和隐藏执行等多种方法。这些技术在恶意软件中广泛使用,以提高其隐蔽性和持久性。通过理解这些技术,研究人员和安全专家可以更有效地检测和防御针对这些技术的攻击。