当前位置: 首页 > news >正文

使用Windows工具进行内存取证(不进行完全内存转储)

内存取证是分析易失性内存以发现恶意活动、恶意软件行为或系统异常的强大技术。一般情况下调查员会转储全部物理内存,并使用Volatility等工具对其进行分析。然而在许多实际场景中,由于系统限制、安全策略或紧迫性等原因,完全转储可能并不可行。

本文将探讨如何在不创建完整内存转储的情况下,使用内置或免费提供的 Windows 工具执行内存取证。

为什么要避免完全内存转储?

  • 时间限制: 转存数GB的内存可能需要些时间。
  • 权限: 您可能没有使用转储工具的管理员权限或许可。
  • 影响: 完全转储可能会降低系统速度或引发警报。
  • 存储: 完整的内存转储可能会占用数GB的空间,传输它们可能会有风险。

轻量级内存取证的目标

  • 识别正在运行的恶意进程
  • 调查可疑的网络连接
  • 分析加载的模块(DLL)
  • 检查注册表是否存在恶意软件
  • 查看命令历史或痕迹

1. 识别可疑进程

工具:tasklist、WMIC、PowerShell

tasklist /v
wmic process get ProcessId,Caption,Commandline
Get-Process | Select-Object Name, Id, Path

需要注意: 

  • 未知进程名称
  • 从临时文件夹或用户配置文件文件夹运行的可执行文件
  • 被混淆的冗长命令行

2.调查网络连接

工具:Netstat, PowerShell

netstat -ano

将可疑 PID 与任务列表输出相匹配。

Get-NetTCPConnection | Select-Object LocalAddress, RemoteAddress, State, OwningProcess

检查与未知 IP 或国外 IP 的连接。 

3.动态链接库和模块检查

工具: ListDLLs (Sysinternals)

 从 Sysinternals 下载:https://learn.microsoft.com/en-us/sysinternals/downloads/listdlls

listdlls.exe <PID>

查找从可疑路径加载的动态链接库(如 %APPDATA%、临时文件夹)

4.持久化注册表痕迹

 工具:Reg Query, PowerShell

检查 run runonce

reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run

使用 PowerShell 进行更详细的搜索:

Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Run"

查找启动异常的可执行文件或脚本的值。

5.回顾历史命令和prefetch文件

历史命令(cmd):

doskey /history
Get-History

Prefetch文件:
Prefetch文件存储可执行文件的历史记录和加载时间。

位置:C:\Windows\Prefetch

使用PECmd( Eric Zimmerman )等工具来解析它们。

 6.用于单个进程的迷你内存转储

如果无法进行完整的内存转储,则对单个进程进行迷你转储:

工具: ProcDump (Sysinternals)

procdump -ma <PID> <output.dmp>

在 WinDbg 或 Visual Studio 等工具中打开该 .dmp

使用 !strings !peb 分析字符串和加载的模块。

7.分析可疑的计划任务

schtasks /query /fo LIST /v

查找触发隐藏或脚本有效载荷的任务。

8.使用事件日志追踪进程和脚本 

Get-WinEvent -LogName "Security" | Where-Object { $_.Id -eq 4688 } | Select TimeCreated, Message

事件 ID 4688 跟踪进程创建(如果在审计策略中启用)

9.检查 WMI 持久性

Get-WmiObject -Namespace root\subscription -Class __EventFilter
Get-WmiObject -Namespace root\subscription -Class __EventConsumer

查找通过 WMI 事件触发的恶意脚本或二进制文件。

10.不需要完全内存转储的工具

工具目的

Sysinternals (Procmon, 

ListDLLs, Autoruns)

进程和动态链接库分析
Procdump定向进程转储
Netstat网络连接
PowerShell脚本和深层系统查询
事件查看器日志分析

使用恰当的本地工具,无需完整内存转储也可进行内存取证,而且功能相当强大。结合使用命令行实用程序、PowerShell 和 Sysinternals,调查员也能提取可操作的情报,并对威胁做出快速反应。

作者:paritosh  翻译:Doris  转载请注明。

相关文章:

  • C语言:位段
  • 【后端分享】SpringBoot实现接口防刷的5种实现方案!
  • 微软Exchange管理中心全球范围宕机
  • centos-stream-9上安装nvidia驱动和cuda-toolkit
  • C++中std::move的高级应用示例
  • Robot---SPLITTER行星探测机器人
  • VS Code构建C/C++开发环境(Windows with MinGW and CMake)
  • Qt学习笔记——TableWidget的一些学习东西
  • 精品推荐-最新大模型MCP核心架构及最佳实践资料合集(18份).zip
  • Named Entity Recognition with Bidirectional LSTM-CNNs(于双向LSTM神经网络的命名实体识别)论文阅读
  • JDBC驱动autosave缺陷的修复与配置指南
  • 移动端六大语言速记:第10部分 - 标准库与框架
  • c++知识点1
  • AI数据分析的正道是AI+BI,而不是ChatBI
  • 改善 Maven 的依赖性
  • SUNO-听你所想
  • Linux目录探秘:文件系统的核心架构
  • docker部署jar包并启动
  • PyTorch实现二维卷积与边缘检测:从原理到实战
  • idea光标变成白色方块的解决方法
  • 北京网站设计我选柚米/怎么自己做一个网页
  • 古镇建网站公司/关键词百度网盘
  • 一键做网站/新疆疫情最新情况
  • wordpress 加cdn/深圳seo网络优化公司
  • 开发网站步骤/搜索引擎登录入口
  • 项城网站/百度快速收录教程