1.1 Volatility介绍
Volatility是一款使用python语言开发的且开源的内存取证工具,支持Windows、Linux、Android等多类型的操作系统的内存取证方式。
1.2 Volatility安装
官方公布两种版本:Volatility与Volatility3。Volatility是基于python2环境,Volatility3是基于python3环境。
1.2.1 下载地址
目前这两种版本均可下载:
1.2.2 安装步骤
1)Volatility - python2 安装:
- 克隆Volatility到本地
[路径:/root]git clone https://github.com/volatilityfoundation/volatility
- 安装pip2
[路径:/root]wget https://bootstrap.pypa.io/pip/2.7/get-pip.py
[路径:/root]python2 get-pip.py
- python2安装pycrypto库
[路径:/root]pip2 install pycrypto
//若安装失败,可以在切换国内源下载
[路径:/root]pip2 install pycrypto -i https://pypi.tuna.tsinghua.edu.cn/simple
- 克隆distorm3到本地
[路径:/root]git clone https://github.com/vext01/distorm3
- 编译
[路径:/root]cd volatility
[路径:/root/volatility]python2 setup.py install
[路径:/root]cd distorm3
[路径:/root/distorm3]python2 setup.py install
2)Volatility3 - python3 安装:
1.克隆到本地,并编译
[路径:/root]git clone https://github.com/volatilityfoundation/volatility3.git
[路径:/root]python3 setup.py install
1.3 Volatility 基本用法
1.3.1 Volatility python2 版本
- 查看系统版本
volatility -f 文件 imageinfo
- 查看ie浏览器历史信息
volatility -f 文件 --profile=Win7SP1x64 iehistory
- 查看系统进程
# 列出进程 不能检测到隐藏或者解链的进程
volatility -f 文件 --profile=Win7SP1x64 pslist
# 列出进程 能检测到隐藏或者解链的进程
volatility -f 文件 --profile=Win7SP1x64 psscan
# 列出进程树
volatility -f 文件 --profile=Win7SP1x64 pstree
- 查看服务
volatility -f 文件 --profile=Win7SP1x64 svcscan
- 查看网络连接
volatility -f 文件 --profile=Win7SP1x64 netscan
或
volatility -f 文件 --profile=Win7SP1x64 connscan
或
volatility -f 文件 --profile=Win7SP1x64 connections
- 查看历史cmd命令
volatility -f 文件 --profile=Win7SP1x64 cmdscan
- 查看进程命令行参数
volatility -f 文件 --profile=Win7SP1x64 cmdline
- 查找所有文件列表
volatility -f 文件 --profile=Win7SP1x64 filescan
# 相关信息匹配查询
volatility -f 文件 --profile=Win7SP1x64 filescan | grep ".txt\|.doc\|.zip\|.png"
# CTF 解题比较有用
volatility -f 文件 --profile=Win7SP1x64 filescan | grep flag
- 查看文件内容
#-D 意思一样 输出目录
# 指定偏移量下载文件
volatility -f 文件 --profile=Win7SP1x64 dumpfiles -Q 0x000000001e85f430 -D ./
- 查看曾经编辑过的notepad文本的信息
volatility -f 文件 --profile=Win7SP1x64 editbox
- 提取进程
#指定进程号下载文件
volatility -f 文件 --profile=Win7SP1x64 memdump -p 1234 --dump-dir=./
- 列出配置单元或特定键值下的注册表项
volatility -f 文件 --profile=Win7SP1x64 -o 内存地址 printkey
//查看当前内存镜像中的用户
volatility -f 文件 --profile=Win7SP1x64 -o 内存地址 printkey -K "SAM\Domains\Account\Users\Names"
- 查看userassist键值包含系统或桌面执行文件的信息
volatility -f 文件 --profile=Win7SP1x64 userassist
- 列出内存映像中存在的注册表配置单元
volatility -f 文件 --profile=Win7SP1x64 hivelist
16.扫描Windows内存映像中存在的注册表配置单元
volatility -f 文件 --profile=Win7SP1x64 hivescan
- 获取sam账号密码hash值
volatility -f 文件 --profile=Win7SP1x64 hashdump
18.查看环境变量(搭配grep或findstr可快速查看主机名)
vol -f 文件名 --profile=Win7SP1x64 envars
1.3.2 Volatility python3 版本
- 查看系统基本信息
volatility -f 文件 windows.info
- 查看SID
volatility -f 文件 windows.getsids
- 查看系统进程
# 列出进程 不能检测到隐藏或者解链的进程
volatility -f 文件 windows.pslist
# 列出进程 能检测到隐藏或者解链的进程
volatility -f 文件 windows.psscan
# 列出进程树
volatility -f 文件 windows.pstree
- 查看服务
volatility -f 文件 windows.svcscan
- 查看网络连接
volatility -f 文件 windows.netscan
- 查看历史cmd命令
volatility -f 文件 windows.cmdscan
- 查看进程命令行参数
volatility -f 文件 windows.cmdline
- 查找所有文件列表
volatility -f 文件 windows.filescan
# 相关信息匹配查询
volatility -f 文件 windows.filescan | grep ".txt\|.doc\|.zip\|.png"
# CTF 解题比较有用
volatility -f 文件 windows.filescan | grep flag
- 列出进程打开的句柄
volatility -f 文件 windows.handles
- 列出配置单元或特定键值下的注册表项
volatility -f 文件 windows.registry.printkey
- 查看userassist键值包含系统或桌面执行文件的信息
volatility -f 文件 windows.registry.userassist
- 列出内存映像中存在的注册表配置单元
volatility -f 文件 windows.registry.hivelist
- 查看进程环境变量
volatility -f 文件 windows.envars
- 查看动态库列表
volatility -f 文件 windows.dlllist
- 列出转存文件
volatility -f 文件 windows.dumpfiles
- 获取sam账号密码hash值
volatility -f 文件 windows.hashdump
- 查看lsa密码
volatility -f 文件 windows.lsadump