利用内存取证技术进行恶意软件狩猎
在当今数字化的时代,恶意软件的威胁无处不在。内存取证作为一种强大的技术手段,可以帮助我们深入了解系统内存中的恶意活动,从而更好地应对恶意软件的攻击。本文将介绍一些利用内存取证技术检测和分析恶意软件的方法和工具。
1. 检测隐藏的 DLL
从三个 PEB 列表中获取模块信息存在一个问题,即它们容易受到 DKOM 攻击。这三个 PEB 列表都位于用户空间,攻击者可以将恶意 DLL 加载到进程的地址空间中,并将其从一个或所有 PEB 列表中解除链接,以躲避依赖遍历这些列表的工具的检测。为了解决这个问题,可以使用 ldrmodules 插件。
1.1 ldrmodules 插件的工作原理
ldrmodules 插件将进程内存中三个 PEB 列表的模块信息与内核内存中名为 VADs(虚拟地址描述符)的数据结构中的信息进行比较。内存管理器使用 VADs 来跟踪进程内存中已保留(或空闲)的虚拟地址。VAD 是一种二叉树结构,用于存储进程内存中虚拟连续内存区域的信息。对于每个进程,内存管理器维护一组 VADs,每个 VAD 节点描述一个虚拟连续的内存区域。如果进程内存区域包含一个内存映射文件(如可执行文件、DLL),则 VAD 节点会存储其基地址、文件路径和内存保护信息。
1.2 示例
以下是一个使用 ldrmodules 插件检测隐藏 DLL 的示例:
$ python vol.py -f tdl3
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



