SumedhDawadi/Memory-Forensics-with-Volatility3-

GitHub: SumedhDawadi/Memory-Forensics-with-Volatility3-

Stars: 0 | Forks: 0

# Windows 内存取证速查表 一个用于 Windows 内存转储分析的全面 Volatility 3 命令参考,按调查类别组织。 ## 核心系统识别与初步分类 | 命令 | 描述 | |------|------| | `windows.info` | 识别操作系统版本、构建号、架构、内核基址、DTB 和系统运行时间。**始终首先运行。** | | `windows.pslist` | 列出正在运行的活跃进程(PID、PPID、创建时间、线程数)。 | | `windows.pstree` | 显示带有父子关系的进程树。非常适合检测可疑的祖先关系。 | | `windows.cmdline` | 显示进程的完整命令行参数。揭示恶意执行和编码命令。 | ## 隐藏进程与进程分析 | 命令 | 描述 | |------|------| | `windows.psscan` | 通过池标签扫描查找隐藏的、已终止的或未链接的 EPROCESS 结构。 | | `windows.malware.psxview` | 交叉比较多种进程列举方法以检测隐藏或操纵的进程。 | | `windows.dlllist --pid ` | 列出每个进程加载的 DLL。帮助识别注入或异常的模块。 | | `windows.handles --pid ` | 显示打开的句柄(文件、注册表、互斥体)。适用于互斥体检测和持久性工件分析。 | ## 恶意软件与代码注入检测 | 命令 | 描述 | |------|------| | `windows.malfind --dump` | 通过扫描可疑的 VAD 内存权限(RWX 页面)检测进程注入。 | | `windows.memmap --dump --pid ` | 将进程内存区域转储到磁盘以供进一步分析。 | | `windows.dumpfiles --pid -o output_dir` | 从内存中提取文件、DLL 和可执行文件。 | | `windows.malware.ldrmodules --pid ` | 通过比较 InLoad/InInit/InMemoryOrder 列表检测隐藏的或未链接的 DLL。 | | `windows.malware.hollowprocesses` | 检测进程空洞(Process Hollowing)技术。 | | `windows.malware.processghosting` | 检测进程幽灵(文件在磁盘上已被删除但在内存中仍运行)。 | | `windows.malware.pebmasquerade` | 检测 PEB 伪装(隐藏真实可执行路径/名称)。 | | `windows.malware.suspicious_threads` | 识别具有异常起始地址的线程(APC 注入、线程劫持、反射式加载)。 | ## 网络与 C2 工件 | 命令 | 描述 | |------|------| | `windows.netscan` | 扫描网络连接、套接字及其所属进程。识别 C2 和数据外泄。 | | `windows.netstat` | 用于活动网络连接及其进程上下文的备用插件。 | ## 持久化、注册表与服务分析 | 命令 | 描述 | |------|------| | `windows.registry.hivelist` | 在内存中定位注册表 hive(在使用其他注册表插件前必需)。 | | `windows.registry.printkey --key "Software\Microsoft\Windows\CurrentVersion\Run"` | 转储特定注册表键以获取自动启动持久性项。 | | `windows.registry.scheduled_tasks` | 从内存中提取计划任务。常见的持久化机制。 | | `windows.registry.userassist` | 显示 GUI 程序执行历史记录,包括运行计数和时间戳。 | | `windows.registry.amcache` | 解析 Amcache 以获取已执行的程序和文件元数据。 | | `windows.svcscan` | 扫描 Windows 服务。 | | `windows.malware.svcdiff` | 高亮显示隐藏或异常的服务。 | ## 内核与 Rootkit 检测 | 命令 | 描述 | |------|------| | `windows.driverscan` | 通过池标签扫描内核驱动。 | | `windows.modules` | 列出已加载的内核模块/驱动。 | | `windows.malware.drivermodule` | 帮助检测隐藏或操纵的内核驱动。 | | `windows.malware.unhooked_system_calls` | 检测 SSDT 钩子和系统调用表篡改(Rootkit 行为)。 | ## 高级扫描与工件提取 | 命令 | 描述 | |------|------| | `windows.filescan` | 扫描内存中的打开文件对象。 | | `windows.vadinfo --pid ` | 虚拟地址描述符的详细信息,用于深入内存分析。 | | `yarascan --rules /path/to/rules.yar` | 使用 YARA 规则扫描内存以查找已知恶意软件签名。 | | `windows.hashdump` | 从 SAM hive 提取 NTLM 密码哈希。 | | `windows.lsadump` | 转储 LSA 秘密(服务账户、密码)。 | | `windows.malware.skeleton_key_check` | 检查 Skeleton Key(类似 Mimikatz 的 LSASS 后门)。 | ## 推荐调查流程 1. **初步分类**: `windows.info` → `pslist` → `pstree` → `cmdline` 2. **隐藏进程**: `psscan` → `malware.psxview` 3. **注入探测**: `malfind` → `hollowprocesses` → `processghosting` → `suspicious_threads` 4. **网络分析**: `netscan` 5. **持久化**: 注册表插件 + `scheduled_tasks` + `userassist` 6. **内核/Rootkit**: `driverscan` → `modules` → `unhooked_system_calls` 7. **确认**: YARA 扫描 + 工件提取(`dumpfiles`) **工具**: [Volatility 3 Framework](https://github.com/volatilityfoundation/volatility3)
标签:ATT&CK T1055, ATT&CK T1056, ATT&CK T1078, DAST, DLL 注入, JARM, Ruby on Rails, Volatility 3, Windows 内存取证, 云资产清单, 代码注入检测, 内存分析, 内存取证工具, 内存转储, 取证调查, 句柄检测, 命令行参数分析, 恶意软件分析, 持久性检测, 系统取证, 网络可见性, 进程审计, 进程隐藏, 逆向工程