volatility内存取证问题,命令总结,解题思路汇总

volatility 内存取证的简单用法

一、常用命令格式

命令格式:volatility -f 文件名 --profile=dump的系统版本 命令

volatility -f win7.raw imageinfo       ##检测目标系统信息

volatility -f win7.raw --profile=Win7SPIx64 pslist ##查看运行的进程信息

volatility -f /root/桌面/mem.dump imageinfo ##获取dump的版本

volatility -f WIN2012R2x64.raw --profile=Win8SP0x64 filescan ##扫描内存中的文件

volatility -f WIN2012R2x64.raw --profile=Win8SP0x64 hivelist ##列举缓存在内存中的注册表

volatility -f WIN2012R2x64.raw --profile=Win8SP0x64 printkey -K "SAM\Domains\Account\Users\Names" ##查看系统用户名

volatility -f win7.raw --profile=Win7SPIx64 filescan |grep txt ##查看文件列表

volatility -f win7.raw --profile=Win7SPIx64 dumpfile -Q 0x000007 -D dir ##下载感兴趣的文件,#dir你保存的路径

volatility -f win7.raw --profile=Win7SPIx64 hashdump ##提取系统的账号密码

volatility -f win7.raw --profile=Win7SPIx64 netscan |grep ESTABLISHED ##查看网络通信连接

volatility -f win7.raw --profile=Win7SPIx64 cmdscan ##查看cmd历史记录

volatility -f win7.raw --profile=Win7SPIx64 memdump -p 352 -D dir ##导出nc进程传输的文件,352为nc的进程号 dir 为保存的路径

foremost 352.dmp ##分割dmp文件

volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep -E 'jpg|png|jpeg|bmp|gif' ##查找镜像中的文件

volatility -f mem.vmem --profile=WinXPSP2x86 userassist ##查看userassist键值包含系统或桌面执行文件的信息,如名称、路径、执行次数、最后一次执行时间等

二、常用命令插件
可以先查看当前内存镜像中的用户printkey -K

“SAM\Domains\Account\Users\Names”
volatility -f 1.vmem –profile=Win7SP1x64 printkey -K “SAM\Domains\Account\Users\Names”

查看用户名密码信息(密码是哈希值,需要john爆破) hashdump

volatility -f 1.vmem --profile=Win7SP1x64 hashdump

查看当前操作系统中的 password hash,例如 Windows 的 SAM 文件内容(mimikatz插件可以获取系统明文密码)

如果john爆破不出来,就使用 lasdmp 查看强密码 lsadmp

volatility -f 1.vmem --profile=Win7SP1x64 lsadump

查看进程pslist

volatility -f 1.vmem --profile=Win7SP1x64 pslist

pslist:该插件列举出系统进程,但它不能检测到隐藏或者解链的进程,psscan可以

查看已知进程pslist

volatility -f 1.vmem --profile=Win7SP1x64 pslist -p 2588

隐藏或解链的进程psscan

volatility -f 1.vmem --profile=Win7SP1x64 psscan

psscan:可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程

查看服务 查询服务名称svcscan

volatility -f 1.vmem --profile=Win7SP1x64 svcscan

svcscan:扫描 Windows 的服务

查看浏览器历史记录,获取当前系统浏览器搜索过的关键词 iehistory

volatility -f 1.vmem --profile=Win7SP1x64 iehistory

查看网络连接 获取当前系统 ip netscan

volatility -f 1.vmem --profile=Win7SP1x64 netscan

有一些版本 这个命令是使用不了 这里我们就要使用(connscan,connections)

查看网络连接connscan

volatility -f 1.vmem --profile=Win7SP1x64 connscan

connscan:查看网络连接

查看网络连接connections

volatility -f 1.vmem --profile=Win7SP1x64 connections

connections:查看网络连接

查看命令行操作,显示cmd历史命令 cmdscan

volatility -f 1.vmem --profile=Win7SP1x64 cmdscan

cmdscan:可用于查看终端记录

查看进程命令行参数(具体一些可疑进程的参数指令)cmdline

volatility -f 1.vmem --profile=Win7SP1x64 cmdline

扫描所有的文件列表 filescan

volatility -f 1.vmem --profile=Win7SP1x64 filescan

(linux配合 grep 命令进行相关字符定向扫描,如:grep flag、grep -E ‘png|jpg|gif|zip|rar|7z|pdf|txt|doc’)

   volatility -f 1.vmem --profile=Win7SP1x64 filescan grep "flag.txt"
cat system.txt|grep -i computername

查看文件内容dmpfiles

volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./

需要指定偏移量 -Q 和输出目录 -D

dumpfiles:导出某一文件(指定虚拟地址)

查看当前展示的notepad内容 notepad

volatility -f 1.vmem --profile=Win7SP1x64 notepad

查看当前展示的 notepad 文本(–profile=winxp啥的低版本可以,win7的不行,可以尝试使用editbox)

显示有关编辑控件(曾经编辑过的内容)的信息 editbox

volatility -f 1.vmem --profile=Win7SP1x64 editbox

editbox:显示有关编辑控件(曾经编辑过的内容)的信息 查看内存中记事本的内容

提取进程memdump

volatility -f 1.vmem --profile=Win7SP1x64 memdump -p xxx --dump-dir=./

memdump:提取出指定进程,常用foremost 来分离里面的文件

需要指定进程-p [pid] 和输出目录 -D

memdump -p 332 -D XX/

提取进程 -p 进程号 -D 当前输出路径(导出为332.dmp)

dump出来的进程文件,可以使用 foremost 来分离里面的文件,用 binwak -e 不推荐

strings -e l 2040.dmp | grep flag 查找flag

屏幕截图screenshot

volatility -f 1.vmem --profile=Win7SP1x64 screenshot --dump-dir=./

screenshot:保存基于GDI窗口的伪截屏

查看注册表配置单元hivelist

volatility -f 1.vmem --profile=Win7SP1x64 hivelist

hivelist: 列出所有的注册表项及其虚拟地址和物理地址

查看注册表键名hivedmp

volatility -f 1.vmem --profile=Win7SP1x64 hivedump -o 0xfffff8a001032410

查看注册表键值printkey

volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

获取主机名 printkey

volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

列出用户名 pringkey

volatility -f 1.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等。serassist

volatility -f 1.vmem --profile=Win7SP1x64 userassist

最大程序提取信息timeliner

volatility -f 1.vmem --profile=Win7SP1x64 timeliner

timeliner: 将所有操作系统事件以时间线的方式展开

查看剪贴板信息clipboard

volatility -f 1.vmem --profile=Win7SP1x64 clipboard

clipboard:查看剪贴板信息

显示关于计算机及其操作系统的详细配置信息(插件)systeminfo

volatility -f 1.vmem --profile=Win7SP1x64 systeminfo

systeminfo:显示关于计算机及其操作系统的详细配置信息(插件)

恢复被删除的文件mftparser

volatility -f 1.vmem --profile=Win7SP1x64 mftparser

mftparser:恢复被删除的文件

查看环境变量envars

volatility -f 1.vmem --profile=Win7SP1x64 envars

envars:查看环境变量

列出某一进程加载的所有dll文件dlllist

volatility -f 1.vmem --profile=Win7SP1x64 dlllist -p 2588

dlllist: 列出某一进程加载的所有dll文件

需要指定进程-p [pid]

程序版本信息 verinfo

volatility -f 1.vmem --profile=Win7SP1x64 verinfo

列出PE|程序版本信息

产看进程树,可以轻松了解各进程之间的关系:父进程与子进程 pstree

volatility -f 2008.raw –profile=Win2008R2SP1x64 pstree

在进程中PPID比PID还大,那就可能这个进程有异常程序

从内存文件中找到异常程序植入到系统的开机自启痕迹 shimcache

volatility -f 2008.raw –profile=Win2008R2SP1x64 shimcache

三、部分问题解题思路:

(一)、浏览器cookie信息中找flag

volatility -f Browser.raw imageinfo


volatility -f Browser.raw --profile=Win7SP1x64 pslist


volatility -f Browser.raw --profile=Win7SP1x64 pslist |find "chrome.exe"

##使用find查找所有谷歌浏览器进程


volatility.exe -f Browser.raw --profile=Win7SP1x64 memdump -p {对应的PID} -D ./

##把每一个谷歌浏览器进程的数据保存为dmp格式的文件(这里的PID需要自己指定使用010editer查找flag逐一筛选,在2608.dmp文件中找到flag

(二)、基本命令 hashdump

volatility -f mem.vmem --profile=WinXPSP2x86 volshell #直接获取volshell

volatility -f mem.vmem --profile=WinXPSP2x86 pslist #查看进程:

volatility -f mem.vmem --profile=WinXPSP2x86 printkey -K "SAM\Domains\Account\Users\Names" ##获取SAM表中的用户

volatility -f mem.vmem –profile=WinXPSP2x86 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" ##获取最后登录系统的账户

volatility -f mem.vmem --profile=WinXPSP2x86 userassist ##提取出内存中记录的,当时正在运行的程序有哪些,运行过多少次,最后一次运行的时间等信息

root@kali:~/CTF$ mkdir ctfmon
root@kali:~/CTF$ volatility -f mem.vmem --profile=WinXPSP2x86 memdump -p 1736 -D ctfmon/  #将内存中的某个进程数据以 dmp 的格式保存出来

volatility -f mem.vmem --profile=WinXPSP2x86 iehistory ##获取 IE 浏览器的使用情况

volatility -f easy_dump.img --profile=Win7SP1x64 hashdump timeliner ##获取内存中的系统密码,获取内存中的系统密码,我们可以使用 hashdump 将它提取出来 。

volatility -f mem.vmem –profile=WinXPSP2x86 timeliner ##最大程度上将内存中的信息提取出来,那么你可以使用 timeliner 这个插件。它会从多个位置来收集系统的活动信息
  • 12
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值