内存取证工具(volatility)

2020-01-02 11:46:31 浏览数 (1)

在 kali 下直接使用就好

用到的文件是之前 360 的比赛里面的一个镜像(文件名:xp.raw),本来想自己 dump 一个虚拟机的分析一下,但是太大了就放弃了

确定 profile 的值:

代码语言:javascript复制
volatility -f xp.raw imageinfo

会出现多个结果,一般情况下取第一个结果

列举进程:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 pslist

查看缓存在内存中的注册表:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 hivelist

获取 SAM 表中的用户:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 printkey -K "SAMDomainsAccountUsersNames"

把内存中某个进程的数据以 dmp 的形式保存出来:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 memdump -p [PID] -D [dump 出的文件保存的目录]

把内存中保留的 cmd 的命令打印出来:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 cmdscan

查看内存中的系统密码:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 hashdump -y (注册表 system 的 virtual 地址 )-s (SAM 的 virtual 地址)

首先要获取注册表 system 的 virtual 地址和 SAM 的 virtual 地址,使用 hivelist 查看

再使用:

代码语言:javascript复制
volatility -f xp.raw --profile=WinXPSP2x86 hashdump -y 0xe1035b60 -s 0xe13fbb60

参考:https://www.jianshu.com/p/6438bc3302c8

0 人点赞