本文展示的raw为beginctf-学取证咯系列,以及西湖论剑easy_rawraw题目附件,有了这些能做大部分题目了,其他就刷刷题就好了。
获取基本信息
python2 vol.py -f 1.raw imageinfo
#f:指定分析的内存镜像文件名
上述输出中,Suggested Profile(s) 显示了 Volatility 推荐的几个内存镜像分析配置文件,可以根据这些配置文件来选择合适的插件进行内存分析
AS Layer2 显示了使用的内存镜像文件路径
KDBG 显示了内存镜像中的 KDBG 结构地址
Number of Processors 显示了处理器数量
Image Type 显示了操作系统服务包版本
Image date and time 显示了内存镜像文件的创建日期和时间
获取正在运行的任务
python2 vol.py -f 1.raw --profile=Win7SP1x64 pslist
这里我们用Win7SP1x64配置文件进行分析,Volatility 的 pslist 插件可以遍历内存镜像中的进程列表,显示每个进程的进程 ID、名称、父进程 ID、创建时间、退出时间和路径等信息
提取正在运行的程序
python2 vol.py -f 1.raw --profile=Win7SP1x64 procdump -p 1596 -D ./
p:pid进程号 __codelineno-16-3
D:提取程序后保存的地址,./指的是当前shell正在运行的文件夹地址,输入pwd命令可以查看shell当前的地址,简单来说就是保存到当前文件夹
其中,框起来的是提取后的名称
蓝色的就是提取出来的文件了
查看在终端里执行的命令
python2 vol.py -f 1.raw --profile=Win7SP1x64 cmdscan
他输出了flag{Cmd_1in3_109_i5_imp0rt@nt}
查看在终端里运行的命令
Volatility中的cmdline插件可以用于提取进程执行的命令行参数和参数值
python2 vol.py -f 1.raw --profile=Win7SP1x64 cmdline
查找内存中的文件
python2 vol.py -f 1.raw --profile=Win7SP1x64 filescan | grep docx
如果说没有加grep的话,就会输出所有文件了,就像下图且不止这点
提取内存中的文件
这里就要用到dumpfiles插件了,比如说我要提取这个"机密文件.docx"
python2 vol.py -f 1.raw --profile=Win7SP1x64 dumpfiles -Q 0x000000001e742dd0 -D ./
Q:内存位置
D:提取程序后保存的地址,./指的是当前shell正在运行的文件夹地址,输入pwd命令可以查看shell当前的地址,简单来说就是保存到当前文件夹
提取出来的文件名是包含内存地址的,更改一下后缀名即可运行(我一般是看有个today来判断我所提取的文件是哪个的)
查看浏览器历史记录
iehistory插件可以用于提取Internet Explorer浏览器历史记录(很刺激的功能呢)
python2 vol.py -f 1.raw --profile=Win7SP1x64 iehistory
提取用户密码hash值及其爆破
python2 vol.py -f 1.raw --profile=Win7SP1x64 hashdump
然后找网站去解密即可https://crackstation.net/,但是,我一般使用mimikatz脚本来进行解密,安装过程自行百度即可,github有些mimikatz是无法在volatility2使用的,多去尝试即可安装。
以下是mimikatz的使用,很清晰得展示出来了
python2 vol.py -f 1.raw --profile=Win7SP1x64 mimikatz
查看剪切版里得东西
python2 vol.py -f 1.raw --profile=Win7SP1x64 clipboard
很可惜这里是空的,于是我找了西湖论剑里的easy_rawraw题目来展示
data里即是粘贴板里的内容
查看正在运行的服务
python2 vol.py -f 1.raw --profile=Win7SP1x64 svcscan
执行了svcscan之后,每列代表服务的一些信息,包括服务名、PID、服务状态、服务类型、路径等等
查看网络连接状态
python2 vol.py -f 1.raw --profile=Win7SP1x64 netscan
该命令将显示所有当前打开的网络连接和套接字。输出包括本地和远程地址、端口、进程ID和进程名称等信息
查看注册表信息
python2 vol.py -f 1.raw --profile=Win7SP1x64 printkey
确定注册表的地址
python2 vol.py -f 1.raw --profile=Win7SP1x64 hivelist
查看注册表software项
python2 vol.py -f 1.raw --profile=Win7SP1x64 hivedump -o 0xfffff8a00121c010
若要提取具体内容,这里我以SAM\Domains\Account\Users\Names为例
python2 vol.py -f 1.raw --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
查看程序版本信息
python2 vol.py -f 1.raw --profile=Win7SP1x64 verinfo
其余插件
对着插件名直接用或者查一下即可
amcache 查看AmCache应用程序痕迹信息
apihooks 检测内核及进程的内存空间中的API hook
atoms 列出会话及窗口站atom表
atomscan Atom表的池扫描(Pool scanner)
auditpol 列出注册表HKLMSECURITYPolicyPolAdtEv的审计策略信息
bigpools 使用BigPagePoolScanner转储大分页池(big page pools)
bioskbd 从实时模式内存中读取键盘缓冲数据(早期电脑可以读取出BIOS开机密码)
cachedump 获取内存中缓存的域帐号的密码哈希
callbacks 打印全系统通知例程
clipboard 提取Windows剪贴板中的内容
cmdline 显示进程命令行参数
cmdscan 提取执行的命令行历史记录(扫描_COMMAND_HISTORY信息)
connections 打印系统打开的网络连接(仅支持Windows XP 和2003)
connscan 打印TCP连接信息
consoles 提取执行的命令行历史记录(扫描_CONSOLE_INFORMATION信息)
crashinfo 提取崩溃转储信息
deskscan tagDESKTOP池扫描(Poolscaner)
devicetree 显示设备树信息
dlldump 从进程地址空间转储动态链接库
dlllist 打印每个进程加载的动态链接库列表
driverirp IRP hook驱动检测
drivermodule 关联驱动对象至内核模块
driverscan 驱动对象池扫描
dumpcerts 提取RAS私钥及SSL公钥
dumpfiles 提取内存中映射或缓存的文件
dumpregistry 转储内存中注册表信息至磁盘
editbox 查看Edit编辑控件信息 (Listbox正在实验中)
envars 显示进程的环境变量
eventhooks 打印Windows事件hook详细信息
evtlogs 提取Windows事件日志(仅支持XP/2003)
filescan 提取文件对象(file objects)池信息
gahti 转储用户句柄(handle)类型信息
gditimers 打印已安装的GDI计时器(timers)及回调(callbacks)
gdt 显示全局描述符表(Global Deor Table)
getservicesids 获取注册表中的服务名称并返回SID信息
getsids 打印每个进程的SID信息
handles 打印每个进程打开的句柄的列表
hashdump 转储内存中的Windows帐户密码哈希(LM/NTLM)
hibinfo 转储休眠文件信息
hivedump 打印注册表配置单元信息
hivelist 打印注册表配置单元列表
hivescan 注册表配置单元池扫描
hpakextract 从HPAK文件(Fast Dump格式)提取物理内存数据
hpakinfo 查看HPAK文件属性及相关信息
idt 显示中断描述符表(Interrupt Deor Table)
iehistory 重建IE缓存及访问历史记录
imagecopy 将物理地址空间导出原生DD镜像文件
imageinfo 查看/识别镜像信息
impscan 扫描对导入函数的调用
joblinks 打印进程任务链接信息
kdbgscan 搜索和转储潜在KDBG值
kpcrscan 搜索和转储潜在KPCR值
ldrmodules 检测未链接的动态链接DLL
lsadump 从注册表中提取LSA密钥信息(已解密)
machoinfo 转储Mach-O 文件格式信息
malfind 查找隐藏的和插入的代码
mbrparser 扫描并解析潜在的主引导记录(MBR)
memdump 转储进程的可寻址内存
memmap 打印内存映射
messagehooks 桌面和窗口消息钩子的线程列表
mftparser 扫描并解析潜在的MFT条目
moddump 转储内核驱动程序到可执行文件的示例
modscan 内核模块池扫描
modules 打印加载模块的列表
multiscan 批量扫描各种对象
mutantscan 对互斥对象池扫描
notepad 查看记事本当前显示的文本
objtypescan 扫描窗口对象类型对象
patcher 基于页面扫描的补丁程序内存
poolpeek 可配置的池扫描器插件
printkey 打印注册表项及其子项和值
privs 显示进程权限
procdump 进程转储到一个可执行文件示例
pslist 按照EPROCESS列表打印所有正在运行的进程
psscan 进程对象池扫描
pstree 以树型方式打印进程列表
psxview 查找带有隐藏进程的所有进程列表
qemuinfo 转储 Qemu 信息
raw2dmp 将物理内存原生数据转换为windbg崩溃转储格式
screenshot 基于GDI Windows的虚拟屏幕截图保存
servicediff Windows服务列表(ala Plugx)
sessions _MM_SESSION_SPACE的详细信息列表(用户登录会话)
shellbags 打印Shellbags信息
shimcache 解析应用程序兼容性Shim缓存注册表项
shutdowntime 从内存中的注册表信息获取机器关机时间
sockets 打印已打开套接字列表
sockscan TCP套接字对象池扫描
ssdt 显示SSDT条目
strings 物理到虚拟地址的偏移匹配(需要一些时间,带详细信息)
svcscan Windows服务列表扫描
symlinkscan 符号链接对象池扫描
thrdscan 线程对象池扫描
threads 调查_ETHREAD 和_KTHREADs
timeliner 创建内存中的各种痕迹信息的时间线
timers 打印内核计时器及关联模块的DPC
truecryptmaster Recover 恢复TrueCrypt 7.1a主密钥
truecryptpassphrase 查找并提取TrueCrypt密码
truecryptsummary TrueCrypt摘要信息
unloadedmodules 打印卸载的模块信息列表
userassist 打印注册表中UserAssist相关信息
userhandles 转储用户句柄表
vaddump 转储VAD数据为文件
vadinfo 转储VAD信息
vadtree 以树形方式显示VAD树信息
vadwalk 显示遍历VAD树
vboxinfo 转储Virtualbox信息(虚拟机)
verinfo 打印PE镜像中的版本信息
vmwareinfo 转储VMware VMSS/VMSN 信息
volshell 内存镜像中的shell
windows 打印桌面窗口(详细信息)
wintree Z顺序打印桌面窗口树
wndscan 池扫描窗口站
yarascan 以Yara签名扫描进程或内核内存