我是靠谱客的博主 无限大树,最近开发中收集的这篇文章主要介绍内存取证工具——volatility 常用命令,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

点击可跳转

      • 前言
      • 正文
          • 猜测镜像系统
          • 调出shell窗口
          • 列举进程
          • 将内存中的某个进程保存出来
          • 列举缓存在内存的注册表
          • 列出SAM表中的用户
          • 获取最后登录系统的用户
          • 获取内存中正运行的程序
          • 列举时间线
          • 查看开启的windows服务
          • 从内存中获取密码哈希
          • 扫描电脑中的文件
          • 导出列举的文件
          • 提取 cmd 命令使用情况
          • 获取到当时的网络连接情况
          • 查看内核驱动
          • 获取 IE 浏览器的使用情况
          • 查看屏幕截图

前言

红帽杯里也做到过内存取证,取证的课又重温了一遍,于是就准备把常用命令记下来。


正文

猜测镜像系统

volatility -f Memory.vmem imageinfo

在这里插入图片描述

在支持的系统里可以看到
在这里插入图片描述

知道系统后,之后的命令就都加上这一段即可
–profile=Win81U1x86


调出shell窗口

这算一个奇淫技巧
volatility -f Memory.vmem --profile=Win81U1x86 volshell
可以测试你猜测的系统是否正确,正确的话就能getshell
在这里插入图片描述

shell的命令:

dt(“内核关键数据结构名称”)

如:

dt("_PEB")
在这里插入图片描述


列举进程

volatility -f mem.vmem --profile=WinXPSP2x86 pslist
在这里插入图片描述

可以看到PID、PPID、启动的时间。

另一个相似的命令是pstree,与pslist差不多,但可以识别子进程以及父进程

在这里插入图片描述

psscan命令可以显示出被隐藏的进程,比如一些隐藏自己的病毒
在这里插入图片描述

最后还有dlllist,可以看到每个进程(程序)
运行所需要的所有动态链接库

在这里插入图片描述


将内存中的某个进程保存出来

以dmp格式保存
volatility -f 内存镜像.dd --profile=WinXPSP2x86 memdump -p [PID] -D [dump 出的文件保存的目录]

在这里插入图片描述

其中memdump可以换成procdump,就可以提取出进程

在这里插入图片描述

同时支持输入 --offset 地址
的方式来提取一些无法从pid提的进程
在这里插入图片描述


列举缓存在内存的注册表

volatility -f Memory.vmem --profile=Win81U1x86 hivelist
在这里插入图片描述

导出注册表
volatility -f Memory.vmem --profile=Win81U1x86 hivedump -o 注册表的 virtual 地址

在这里插入图片描述


列出SAM表中的用户

volatility -f Memory.vmem --profile=Win81U1x86 printkey -K “SAMDomainsAccountUsersNames”
在这里插入图片描述

可以看到有四个用户


获取最后登录系统的用户

volatility -f Memory.vmem --profile=Win81U1x86 printkey -K “SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon”
在这里插入图片描述


获取内存中正运行的程序

volatility -f Memory.vmem --profile=Win81U1x86 userassist
在这里插入图片描述


列举时间线

volatility -f Memory.vmem --profile=Win81U1x86 timeliner
在这里插入图片描述

好家伙,从04年给我往后列


查看开启的windows服务

volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 svcscan
在这里插入图片描述


从内存中获取密码哈希

volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 hashdump -y (注册表 system 的 virtual 地址 )-s(SAM 的 virtual 地址)
该命令能从内存中获得密码hash
但同样我们需要先知道SAM和system的地址
sam表和system表的地址可以根据前面hivelist列出
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

获取不了。。
在这里插入图片描述


扫描电脑中的文件

volatility.exe -f 内存镜像.dd --profile=WinXPSP2x86 filescan
在这里插入图片描述


导出列举的文件

dumpfiles -Q 地址 –D 路径

地址就是上面的0x00000000那堆

在这里插入图片描述


提取 cmd 命令使用情况

volatility -f 内存镜像.dd --profile=WinXPSP2x86 cmdscan
在这里插入图片描述

如果需要看详细情况,输入cmdline
在这里插入图片描述


获取到当时的网络连接情况

volatility -f 内存镜像.dd --profile=WinXPSP2x86 netscan
在这里插入图片描述

可以发现xp系统不支持netscan,但一般题目也不会出xp


查看内核驱动

modules
在这里插入图片描述

隐藏的用modscan或者driverscan

在这里插入图片描述
在这里插入图片描述


获取 IE 浏览器的使用情况

volatility -f 内存镜像.dd --profile=WinXPSP2x86 iehistory

如果没有显示说明没有记录
在这里插入图片描述


查看屏幕截图

screenshot --dump-dir=路径

在这里插入图片描述

命令是没错的,但是提示少了pil插件,因为我是windows环境,用linux应该就不会出现这个问题了,下次用虚拟机做。

最后

以上就是无限大树为你收集整理的内存取证工具——volatility 常用命令的全部内容,希望文章能够帮你解决内存取证工具——volatility 常用命令所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部