内存采集与易失性取证框架
使用 WinPmem 采集 RAM 映像,并使用 Volatility 3 列出进程、网络连接和注入的代码。
内存采集与易失性取证框架 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。
内存分析为何重要
RAM 中包含正在运行的进程、网络连接、加密密钥、密码、注入的代码和攻击者留下的痕迹,其中一些可能从未接触磁盘。无文件恶意软件只存在于内存中。内存分析能够捕获磁盘取证完全无法发现的证据。
使用 WinPmem 采集内存
WinPmem 是一款免费开源的 Windows 内存采集工具。它会创建 Volatility 可以分析的原始内存转储。请以管理员身份运行,以捕获包括内核结构在内的全部物理内存。
winpmem_mini.exe -o memory.raw
# Verify size matches installed RAM使用 LiME 采集 Linux 内存
Linux 内存提取器(LiME)是一个用于采集 RAM 并将其写入文件或通过网络发送的内核模块。在实时事件响应中,请使用网络方式,以避免将转储写入可能已受入侵的系统。
Volatility 3 简介
Volatility 3 是领先的内存取证框架。它需要目标 OS 版本对应的符号表,才能解释内核结构。关键命令包括:windows.pslist、windows.pstree、windows.netstat、windows.dlllist、windows.malfind。
vol -f memory.raw windows.pslist
vol -f memory.raw windows.pstree
vol -f memory.raw windows.netstat进程分析
windows.pslist 会列出正在运行的进程。请将结果与已知良好基线进行比较。重点查找:从异常路径(%TEMP%、%APPDATA%)运行的进程、父子关系异常(winword.exe 启动 cmd.exe),以及没有关联磁盘文件的进程(进程镂空的指标)。
内存中的网络连接
windows.netstat 会从内存中提取 TCP 连接,包括实时 netstat 输出中不可见的近期已关闭连接。请识别命令与控制连接:解析到已知恶意 IP 的外部地址,或常见进程名称使用异常端口的情况(例如 svchost.exe 连接外部 IP)。
检测 DLL 注入
windows.dlllist 会显示每个进程加载的 DLL。请将其与已知良好的 DLL 列表进行比较。explorer.exe 或 svchost.exe 中出现异常 DLL、没有路径的 DLL,或系统进程中出现可疑名称的 DLL,都表明可能存在注入。
Malfind:检测代码注入
windows.malfind 会识别具有 PAGE_EXECUTE_READWRITE 保护且没有磁盘文件作为后备的内存区域,这是进程注入或 shellcode 的典型迹象。它会转储可疑内存区域,并显示开头的字节供分析。
从内存中提取字符串
请对内存转储运行 strings,或对由 Volatility 提取的特定进程转储运行 strings。内存字符串通常包含命令与控制 URL、加密密钥、解码后的载荷和凭据,而这些内容在执行期间从未写入磁盘。
内存中的句柄和注册表
windows.handles 会显示每个进程打开的文件句柄、注册表项、互斥体和事件。互斥体名称是重要的 IOC:一旦在某起事件中识别出某个互斥体,在其他内存转储中搜寻相同互斥体,就能发现环境中相关的恶意软件。
内存取证工作流程
系统化工作流程:(1)识别配置文件;(2)枚举进程并检测异常;(3)检查网络连接;(4)扫描 DLL 注入;(5)运行 Malfind;(6)转储可疑进程;(7)提取字符串;(8)提取 IOC 并生成报告。
知识检查
为什么无文件恶意软件对传统取证方法尤其具有挑战性?
总结
内存取证能够捕获磁盘分析无法看到的易失性证据。使用 WinPmem 进行采集、使用 Volatility 3 进行分析,并检查进程、网络连接、注入代码和 DLL 异常,可以发现无文件恶意软件及攻击者活动,否则这些活动可能一直不会被检测到。
常见问题解答
「内存采集与易失性取证框架」课时是免费的吗?
是的 — 「内存采集与易失性取证框架」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。
「内存采集与易失性取证框架」这节课中我会学到什么?
使用 WinPmem 采集 RAM 映像,并使用 Volatility 3 列出进程、网络连接和注入的代码。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Cyber Security Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。
「内存采集与易失性取证框架」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Cyber Security Academy 课中编写并运行代码吗?
能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 磁盘映像与文件系统取证
- 内存采集与易失性取证框架
- 时间线分析与伪迹关联
- 使用 Wireshark 进行网络取证