在 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