内存取证之Volatility

Volatility是一款顶级的开源内存取证分析工具,支持Windows,Linux,MaC,Android等系统的内存取证,它由Python编写成,通过本实验学习内存取证的思想与方法,掌握volatility的使用。


关于volatility
Volatility是开源的Windows,Linux,MaC,Android的内存取证分析工具,由python编写成,命令行操作,支持各种操作系统。

注册表
注册表是Microsoft Windows中的一个重要的数据库,用于存储系统和应用程序的设置信息。早在Windows 3.0推出OLE技术的时候,注册表就已经出现。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。

实验目的
通过该实验了解内存取证的思想与方法,深入掌握volatility的技巧与使用。

实验步骤一
打开volatility




启动后看到的supported flugin command都是volatility可用的插件




左边是插件的命令右边是插件的效果

所有的操作系统都将信息存储在RAM,然后不同的操作系统可能存储在不同的路径下,在volatility中,根据操作系统的不同,我们必须选择合适的profile来帮助volatility识别数据存储的位置以及有用的信息

为了选择格式的profile,我们先用imageinfo插件查看一下系统的版本等信息

volatility -f cridex.vmem imageinfo




建议的profile也在回显中给出

选择好合适的profile之后我们就可以进行下一步的分析了

实验步骤二
进程识别及分析

为了识别内存镜像中的相关的进程、PID、开始时间等信息我们可以ps相关的插件

volatility --profile=WinXPSP3x86 -f cridex.vmem pslist




pslist命令不仅显示了所有正在运行的进程,而且给出了有价值的信息,比如PID、PPID、启动的时间。

volatility --profile=WinXPSP3x86 -f cridex.vmem pstree




另一个相似的命令是pstree。与pslist命令不同的地方在于还可以识别子进程以及父进程

volatility --profile=WinXPSP3x86 -f cridex.vmem psscan




psscan命令可以显示出被恶意软件比如rootkit为了躲避用户或杀毒软件而隐藏的进程

2.   分析网络服务及连接

volatility可以用来分析和识别隐藏的、终止的、活跃的连接以及相应的端口和进程。可以使用下列的命令

volatility --profile=WinXPSP3x86 -f cridex.vmem connections




connections命令列出活跃的连接和端口,以及本地和远程的ip、PID、端口等

volatility --profile=WinXPSP3x86 -f cridex.vmem connscan



volatility --profile=WinXPSP3x86 -f cridex.vmem sockets





sockets插件可以被用来展示出额外的连接信息监听的sockets,sockets插件支持所有的协议。

3.   分析DLL
dll是windows特有的,包含可以被大量程序同时使用的代码,通过了解进程正在运行的dll和版本信息有助于分析关联的进程信息

相关的插件有:

volatility --profile=WinXPSP3x86 -f cridex.vmem verinfo




verinfo插件可以列出PE文件的版本信息

volatility --profile=WinXPSP3x86 -f cridex.vmem dlllist




dlllist插件可以列出所有正在运行的dll。

实验步骤三
注册表分析

关于用户、设置、程序以及操作系统的信息都可以在注册表中找到,甚至被散列了的密码也可以找到,在分析windows注册表时,我们可以使用下面的插件

volatility --profile=WinXPSP3x86 -f cridex.vmem hivescan




hivescan插件显示了可用的注册表配置单元的物理地址

volatility --profile=WinXPSP3x86 -f cridex.vmem hivelist




更加详细的信息可以通过hivelist命令查看,这条命令会显示虚拟地址、物理地址的细节以及更容易识别的路径等

timeliner插件

volatility --profile=WinXPSP3x86 -f cridex.vmem timeliner




timeliner插件可以通过提供所有时间发生时的时间线来帮助取证。

恶意软件分析

volatility --profile=WinXPSP3x86 -f cridex.vmem malfind


malfind插件用于寻找可能注入到各种进程中的恶意软件。使用malfind时也可以使用-p直接指定进程,比如

volatility --profile=WinXPSP3x86 -f cridex.vmem malfind -p 608

从上图中可以看到pid是608对应的进程是winlogon.exe

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Windows 2003是微软公司发布的一款操作系统,其内存取证是指通过分析和提取Windows 2003操作系统的内存数据来获取相关的取证证据。 在进行Windows 2003内存取证的过程中,需要借助一些专门的工具和技术。首先,需要使用内存取证工具,如Volatility Framework等,来对内存进行分析和提取。这些工具可以从内存镜像中提取出进程、线程、打开的文件、网络连接等信息,从而帮助取证人员获取到被研究系统的相关证据。 其次,需要了解Windows 2003操作系统的内存管理机制和数据结构。这样可以更好地理解内存中存储的数据的结构和格式,有助于提取和解释相关证据。例如,Windows 2003使用的是物理内存和虚拟内存的管理方式,需要理解这两种内存的分配与释放机制。 此外,还需要注意在进行内存取证时可能遇到的一些挑战和限制。例如,Windows 2003在32位系统上的内存限制为4GB,如果目标系统中的内存大于4GB,可能需要采取特殊的处理方式。另外,操作系统的版本和补丁等也会影响内存数据的分析和提取。 最后,进行内存取证时需要保持数据的完整性和可靠性,确保所提取的证据在法庭上具有可信度。因此,需要采用专业的取证工具和方法,并遵循取证规范和程序进行操作,记录下相关的过程和操作步骤。 综上所述,Windows 2003内存取证是通过分析和提取内存数据来获取相关证据的过程,需要借助专门的工具和技术,同时需要了解操作系统的内存管理机制和数据结构,保证数据的完整性和可靠性。这一过程在数字取证领域具有重要的应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嘟嘟彬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值