内存取证 volatility的使用
volatility
简介:
volatility(挖楼推了推) 是一个开源的框架,能够对导出的内存镜像进行分析,能够通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump系统文件,屏幕截图,查看进程。
官网下载地址:https://www.volatilityfoundation.org/26
这个软件的安装真的让我很烦,刚开始在github上面下载的源文件是需要python2环境运行,需要安装pycrypto distorm3模块
然后再我python2 -m pip install distorm3和python2 -m pip install distorm3均报错,在windows和Linux中均报错,
最后在官网竟然有windows和linux系统的可执行文件,直接下载就可以执行???????,好的扯淡结束,总之很烦,我很傻

volatility可以直接分析VMware的暂停文件,后缀名为vmem

imageinfo 获取内存镜像的操作系统版本信息
volatility -f 文件名 imageinfo,这里我得文件名为easy_dump.img

会获取推荐我们使用的镜像,一般第一个最为准确,可多次测试来确定最为准确的,这里为Win7SP1x64
pslist 列出内存中的进程
可以列出内存中运行的进程的pid,ppid等信息
volatility -f easy_dump.img --profile=Win7SP1x64 pslist

类似的也有dlllist,可以看到进程的位置

netscan 查看网络连接状态
可以通过这个获取本机的IP地址,类似于netstat -an
volatility -f easy_dump.img --profile=Win7SP1x64 netscan

hivelist 列出缓存在内存中的注册表
volatility -f easy_dump.img --profile=Win7SP1x64 hivelist

filescan 扫描内存中的文件
volatility -f easy_dump.img --profile=Win7SP1x64 filescan,会查找所有文件

由于列出文件较多,可以使用grep使用
volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep "txt\|jpg\|png"

如果是在windows中运行,配合findstr使用

在CTF中,我们常搜索flag
volatility -f easy_dump.img --profile=Win7SP1x64 filescan | grep flag
dumpfiles 导出内存中的文件
在我们filescan后,会给出文件在内存中的代号,指定代号就可以将文件导出
volatility -f easy_dump.img --profile=Win7SP1x64 dumpfiles -Q 0x000000002408c460 -D ./ -u

-Q:指定文件在内存中的地址。-D:指定文件导出的地址。-u:指定原文件名导出
这虽然指定原文件名导出,但是并没有原文件名导出,不知道为什么
memdump 导出指定的进程
在我们pslist会后,会给出进程的PID,只需要指定PID就可以将进程导出

例如这里notepad.exe的进程为2616
/volatility -f easy_dump.img --profile=Win7SP1x64 memdump -p 2616 -D ./

导出的文件名进程的PID,后缀名为dmp
可以使用strings -e l 2616.dmp | grep flag,筛选其中的flag
-e为选择字符的大小,l为32bit为一个字符

cmdscan 历史命令
扫描命令历史获取历史命令

类似的也有cmdlist,相对于cmdscan像是的较多一点

screenshot 获取截图
从内存中获取截图,这截图怎么说呢,黑白的,貌似没什么用,但万一flag就藏在其中呢

pringkey列出SAM表用户,大概就是查看用户名
volatility -f easy_dump.img --profile=Win7SP1x64 printkey -K "SAM\Domains\Account\Users\Names"

其实使用hashdump就可以获取用户名,这个也可以试一试
printkey获取主机名
volatility -f easy_dump.img --profile=Win7SP1x64 printkey -K "ControlSet001\Control\ComputerName\ComputerName"

iehistory 获取系统浏览器历史

可以看到用户通过系统浏览器在某个时间线干了什么
timneliner 列举时间线
可以获取在某个时间线做了写什么

verinfo 列出PE,程序版本信息

editbox 查看内存中记事本的内容

自动找到记事本记得进程号,进行内容提取
内存取证 volatility的使用的更多相关文章
- volatility内存取证
最近参加了45届世界技能大赛的山东选拔赛,样题里有一个题如下: 师傅好不容易拿到了压缩包的密码,刚准备输入,电脑蓝屏 了... = =",题意简单明了,易于理解.一看就是内存取证的题并且已经 ...
- 内存取证工具-volatility、foremost
内存取证 1. 内存取证工具volatility 猜测dump文件的profile值 root@kali:~/CTF# volatility -f mem.vmem imageinfo Volatil ...
- volatility内存取证学习
工具下载: Linux环境 apt-get install volatility 各种依赖的安装,(视情况安装) #Distorm3:牛逼的反编译库 pip install distorm3 #Y ...
- 一道ctf-内存取证volatility的学习使用
环境:kali 0x00 volatility官方文档 https://github.com/volatilityfoundation/volatility 在分析之前,需要先判断当前的镜像信息,分析 ...
- 苹果内存取证工具volafox
苹果内存取证工具volafox volafox是一款针对苹果内存取证的专用工具.该工具使用Python语言编写.该工具内置了overlay data数据,用户可以直接分析苹果10.6-10.11的各种 ...
- 利用Volatility对Linux内存取证分析-常用命令翻译
命令翻译 linux_apihooks - 检查用户名apihooks linux_arp - 打印ARP表 linux_aslr_shift - 自动检测Linux aslr改变 linux_ban ...
- v&n赛 内存取证题解(已更新)
题目是一个raw的镜像文件 用volatility搜索一下进程 有正常的notepad,msprint,还有dumpit和truecrypt volatility -f mem.raw --profi ...
- windows下的volatility取证分析与讲解
volatility(win64) 1.下载 volatility 下载地址:(我下载的版本2.6,并把名字稍微改了一下) Release Downloads | Volatility Foundat ...
- 【干货】Windows内存获取和分析---查找恶意进程,端口
来源:Unit 5: Windows Acquisition 5.1 Windows Acquisition Windows Memory Acquisition and Analysis 调查人员检 ...
- 【干货】Linux内存数据的获取与转存 直捣密码
知识源:Unit 2: Linux/Unix Acquisition 2.1 Linux/Unix Acquistion Memory Acquisition 中的实验demo部分 小白注意,这是网 ...
随机推荐
- ES6 - 参数默认值
1.形参初始值, 具有默认值的参数,一般位置要靠后(潜规则) function add(a,b,c=10){ return a + b + c; } let resutl = add(1,2); // ...
- 065_VFPage中CallBack回调函数的解释
关于JS 的回调函数解释: https://blog.csdn.net/baidu_32262373/article/details/54969696 https://www.cnblogs.com/ ...
- 大数据分析——matplotlib
参考链接:https://blog.csdn.net/xavier_muse/article/details/83859272 fig,ax = plt.subplots()等价于: fig = pl ...
- JWT & 用户身份认证演变过程
一.起源 0.HTTP无状态 HTTP是无状态的,服务端和客户端如何保持登录状态? 工程师在服务端搞了亿点事情, 就有了下面的解决方案. 1.session认证 (1)什么是session? 服务器为 ...
- [2007年NOIP普及组] 纪念品分组
元旦快到了,校学生会让乐乐负责新年晚会的纪念品发放工作.为使得参加晚会的同学所获得 的纪念品价值相对均衡,他要把购来的纪念品根据价格进行分组,但每组最多只能包括两件纪念品, 并且每组纪念品的价格之和不 ...
- java中BIO、NIO、AIO区别
ava中的IO主要源自于网络和本地文件 IO的方式通常分为几种,同步阻塞的BIO.同步非阻塞的NIO.异步非阻塞的AIO 在JDK1.4出来之前,我们建立网络连接的时候采用BIO模式,需要先在服务端启 ...
- Luogu P3368 【模板】树状数组 2 [区间修改-单点查询]
P3368 [模板]树状数组 2 题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表 ...
- Flutter基于Mac的环境配置
1.下载Flutter SDK git clone https://github.com/flutter/flutter.git 2.配置Flutter镜像+Flutter环境变量 ( 先创建.bas ...
- win10 系统 腾讯云服务器 部署网站 并进行访问
1.首先需要一个服务器 我是用的Windows系统 我用的是腾讯云的服务器(因为便宜) 然后给服务器重置密码 然后用重置后的密码 用户名 用远程桌面连接登录试试 远程桌面连接成功 然后回到服务器网站 ...
- wpf 使用了 template 了的 combobox 中,displaymemberpath 有 bug,仅在 popup 中生效
需求是:仅想改变combobox的默认样式,所以 template 是直接在属性窗口点击转化为本地值的. using System.Collections.Generic; using System. ...