一、工具安装
Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。Volatility2.6需要python2,pip安装模块也需要2版本
安装pip2
Volatility2.6需要python2,pip安装模块也需要2版本,所以首先安装pip2
(1)检查python2(已安装)
(2)下载pip2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py
(3)安装pip2
sudo python2 get-pip.py
(4)检查安装情况
pip2 -h
安装依赖环境
(1)安装pycryptodome(我这里已经安装)
pip2 install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple
(2)安装distorm3
git clone https://github.com/vext01/distorm3.git cd distorm3 sudo python2 setup.py install
安装volatility
(1)退出distorm3文件夹,下载volatility2
git clone https://github.com/volatilityfoundation/volatility.git
(2)进volatility,判断是否安装成功
如果缺少插件的话,会出现好多行报错的
二、例题解析
CTF金砖技能大赛的一道题目
1、分析镜像
python2 vol.py -f /home/kali/桌面/worldskills3.vmem imageinfo
2、从内存中获取到用户admin的密码并且破解密码,以flag{admin,password}形式提交(密码为6位)
(1)查看系统用户
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"
(2)转储内存中的Windows帐户密码哈希
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 hashdump
发现没有解密成功;使用mimikatz插件获得密码(自行下载插件)
则Flag{admin:.dfsddew}
3、获取当前系统IP地址以及主机名,以Flag{ip:主机名}形式提交
(1)获取主机名
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 hivelist
(2)查看注册表信息
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 -o 0xfffff8a000024010 printke y
答案为:WIN-9FBAEH4UV8C
(3)获取IP地址
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 netscan
IP地址为:192.168.85.129
则Flag{WIN-9FBAEH4UV8C.192.168.85.129}
(4)获取当前系统浏览器搜索过的关键词,作为Flag提交
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 iehi story
则Flag{admin@file:///C:/Users/admin/Desktop/flag.txt}
(5)当前系统中存在挖矿进程,请获取指定的矿池地址,以Flag{}提交
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 pslist
则flag{54.36.109.161:2222}
(6)eyi进程在系统中注册了服务,请将服务名称以Flag{服务名}提交
上题已知eyi进程号为2588,找到process ID为3036
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 pslist -p 2588
根据process ID为3036,查找服务
python2 vol.py -f /home/kali/桌面/worldskills3.vmem --profile=Win7SP1x64 svcscan|grep 3036
则flag{VMnetDHCP}