0
点赞
收藏
分享

微信扫一扫

volatility取证

前言

volatility是一款开源的内存取证分析工具,由python编写,支持各种操作系统,能够对导出的windows,linux,mac osx,android等系统内存镜像进行分析。可以通过插件来拓展功能。

私信助安社区公众号发送 取证 领取相关文件工具

常见命令

命令格式:

volatility -f [镜像文件] --profile=[操作系统] [插件参数]

volatility -f 文件名 imageinfo                  得到镜像的基本信息。
volatility -f 文件名 --profile=系统 pslist 查看进程信息
volatility -f 文件名 --profile=系统 pstree 查看进程树
volatility -f 文件名 --profile=系统 hashdump 查看用户名密码信息
volatility -f 文件名 --profile=系统 john 爆破密码
volatility -f 文件名 --profile=系统 lsadump 查看用户强密码
volatility -f 文件名 --profile=系统 svcscan 查看服务
volatility -f 文件名 --profile=系统 iehistory查看IE浏览器历史记录
volatility -f 文件名 --profile=系统 netscan 查看网络连接
volatility -f 文件名 --profile=系统 cmdscan cmd历史命令
volatility -f 文件名 --profile=系统 consoles 命令历史记录
volatility -f 文件名 --profile=系统 cmdline 查看cmd输出, 获取命令行下运行的程序
volatility -f 文件名 --profile=系统 envars 查看环境变量,一般很多配合grep筛选,可也是使用-p指定pid
volatility -f 文件名 --profile=系统 filescan 查看文件
volatility -f 文件名 --profile=系统 notepad 查看当前展示的notepad内容
volatility -f 文件名 --profile=系统 hivelist 查看注册表配置单元
volatility -f 文件名 --profile=系统 userassist查看运行程序相关的记录,比如最后一次更新时间,运行过的次数等。
volatility -f 文件名 --profile=系统 clipboard 查看剪贴板的信息
volatility -f 文件名 --profile=系统 timeliner最大程序提取信息
volatility -f 文件名 --profile=系统 Dumpregistry提取日志文件
volatility -f 文件名 --profile=系统 dlllist 进程相关的dll文件列表
volatility -f 文件名 --profile=系统 memdump -p xxx --dump-dir=./ 提取进程
volatility -f 文件名 --profile=系统 dumpfiles -Q 0xxxxxxxx -D ./ 提取文件
volatility -f 文件名 --profile=系统 procdump -p pid -D ./ 转存可执行程序
volatility -f 文件名 --profile=系统 screenshot --dump-dir=./ 屏幕截图
volatility -f 文件名 --profile=系统 hivedump -o 0xfffff8a001032410 查看注册表键名
volatility -f 文件名 --profile=系统 printkey -K "xxxxxxx" 查看注册表键值

OtterCTF取证11题

在分析之前,都需先查看当前镜像的信息,获取是哪个操作系统,使用imageinfo命令查看

volatility取证_volatility

然后使用volatility各类工具进行分析即可


获取密码

volatility -f OtterCTF.vmem --profile=Win7SP1x64 hashdump 查看用户名密码信息

volatility -f OtterCTF.vmem --profile=Win7SP1x64 lsadump 查看用户强密码

使用john爆破密码不出密码尝试lsadump查看用户强密码

lsadump:从注册表中提取LSA密钥信息,显示加密以后的数据用户密码

volatility取证_取证_02

pc的名称

查看主机名

hivelist查看注册表信息,查看到system

所有用户信息都会存储到注册表,SYSTEM系统信息  

hivelist查看注册表第一级信息  

第一级只是目录,路径代表文件名

volatility取证_安全工具_03

如果东西不多可以 hivedump  下来查看,如果很多可以用printkey一步步查看

所以文件的位置使用偏移量来表示,0x开头,使用 printkey打印出来,参数-o,然后根据得到的偏移量,找到系统注册表包含的值  

volatility -f OtterCTF.vmem --profile=Win7SP1x64 printkey -o 0xfffff8a000024010

volatility取证_安全工具_04

继续寻找直到找到ComputerName关键词,后面的路径要使用 -K 参数使用一步步来,深入路径

volatility取证_取证_05

volatility取证_安全工具_06

含有目录两层\ComputerName\ComputerName,增加混淆  

volatility取证_vol_07

内存正在运行什么游戏,游戏连接哪个服务器

游戏应该会连接服务器,所以查看网络

寻找可疑进程,连接外部网络的进程  

volatility -f OtterCTF.vmem --profile=Win7SP1x64 netscan 对所有网络连接进程扫描  

volatility取证_volatility_08


账户登录过Lunar-3频道,账户名是什么

寻找登录游戏频道的游戏账户名。

需要在游戏进程中查看,用户登录到进程中的话,那么内存应该有登录用户名

使用strings过滤可打印字符串,grep过滤含有关键字Lunar-3频道字符串

strings OtterCTF.vmem | grep Lunar-3 -A 5 -B 5

(-A 查看关键词前几行,-B查看关键词后几行,也可以使用-C查看前后几行)

volatility取证_volatility_09

都尝试一下发现是0tt3r8r33z3

strings命令在对象文件或二进制文件中查找可打印的字符串。

寻找登录名在0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2} 后的游戏名

意思是用户名总在这个签名之后:0x64 0x??{6-8} 0x40 0x06 0x??{18} 0x5a 0x0c 0x00{2}

先将LunarMS.exe进程转存出来;-p pid号

volatility -f OtterCTF.vmem --profile=Win7SP1x64 memdump -p 708 -D ./ 提取进程

可以使用010查看 5A 0C 00 片段

也可以使用:hexdump -C 708.dmp |grep "5a 0c 00" -C 3

volatility取证_vol_10

寻找5a 0c 00 片段眼都快找花了,太多了


volatility -f OtterCTF.vmem --profile=Win7SP1x64 yarascan -Y "/\x64(.{6,8})\x40\x06(.{18})\x5a\x0c\x00\x00/i" -p 708

这个需要安装yarascan插件是最好找的


寻找经常复制粘贴的账号密码

volatility -f OtterCTF.vmem --profile=Win7SP1x64 clipboard

clipboard  查看剪贴板的信息

volatility取证_vol_11


寻找恶意软件名

一般是使用pslist来查看进程寻找可疑进程名,但也有可能进程名进行了混淆分辨不出来或者被合法进程隐藏了

使用 pstree 命令可以查看进程树,可以查看所有进程和依赖关系

pstree代表查看带树结构的进程列表。

寻找可疑进程:通过寻找PPID大于PID的进程,或查看进程依赖寻找可疑的

volatility取证_计算机取证_12

这里mvware-tray.exe是ppid大于pid的并且很奇怪的是Rick And Morty的子进程  

dlllist代表查看使用的动态链接库是否合法, 查看一下进程相关的dll文件列表  。-p指定pid号

volatility取证_volatility_13

发现是在temp目录下进行的,一看就不是正经程序, 因为temp这是一个临时目录  


恶意软件是如何进入电脑的

可以查看和恶意软件相关的文件

volatility -f 1.vmem --profile=Win7SP1x64 filescan 查看文件

直接查看文件太多,要加过滤,恶意进程的父进程是Rick And Morty

volatility -f 1.vmem --profile=Win7SP1x64 filescan | grep 'Rick And Morty'

volatility取证_安全工具_14

三个种子文件和三个exe文件;寻找来源要关注种子文件,里面可能含有地址信息

volatility -f 1.vmem --profile=Win7SP1x64 dumpfiles -Q 0xxxxxxxx -D ./ 查看文件内容

volatility取证_volatility_15

在这个文件里发现 website可疑,后面就是flag


恶意软件种子从哪来

查看进程可以发现有很多chrome浏览器进程,种子可能是在浏览器中下载的

先把所有chrome进程转存下来

memdump -n chrome(指定所有chrome进程) -D ./

再查找 download.exe.torrent

volatility取证_vol_16

通过恶意软件寻找进攻者的货币地址

题目描述说进攻者在恶意勒索软件中留下了货币地址,是多少呢? 

首先可以把恶意进程转存到一个可执行文件,使用IDA查看寻找金钱,钱包,支付等关键词,定位地点

也可以使用dnSpy进行逆向分析  

也可以把转出的文件使用strings -e l 进行搜索

strings -e l 3720.dmp | grep -i -A 5 "ransomware"  

volatility取证_volatility_17


恶意软件的图像的隐藏信息

procdump  命令代表转存可执行程序  

volatility取证_vol_18

使用foremost分离图片

volatility取证_计算机取证_19

volatility取证_volatility_20

或者使用反编译查看图片

volatility取证_volatility_21

举报

相关推荐

0 条评论