volatility

简介:

volatility(挖楼推了推) 是一个开源的框架,能够对导出的内存镜像进行分析,能够通过获取内核的数据结构,使用插件获取内存的详细情况和运行状态,同时可以直接dump系统文件,屏幕截图,查看进程。

官网下载地址:https://www.volatilityfoundation.org/26

这个软件的安装真的让我很烦,刚开始在github上面下载的源文件是需要python2环境运行,需要安装pycrypto distorm3模块

然后再我python2 -m pip install distorm3python2 -m pip install distorm3均报错,在windows和Linux中均报错,

最后在官网竟然有windowslinux系统的可执行文件,直接下载就可以执行???????,好的扯淡结束,总之很烦,我很傻



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为选择字符的大小,l32bit为一个字符

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的使用的更多相关文章

  1. volatility内存取证

    最近参加了45届世界技能大赛的山东选拔赛,样题里有一个题如下: 师傅好不容易拿到了压缩包的密码,刚准备输入,电脑蓝屏 了... = =",题意简单明了,易于理解.一看就是内存取证的题并且已经 ...

  2. 内存取证工具-volatility、foremost

    内存取证 1. 内存取证工具volatility 猜测dump文件的profile值 root@kali:~/CTF# volatility -f mem.vmem imageinfo Volatil ...

  3. volatility内存取证学习

    工具下载: Linux环境 apt-get install volatility 各种依赖的安装,(视情况安装) #Distorm3:牛逼的反编译库 pip install distorm3 ​ #Y ...

  4. 一道ctf-内存取证volatility的学习使用

    环境:kali 0x00 volatility官方文档 https://github.com/volatilityfoundation/volatility 在分析之前,需要先判断当前的镜像信息,分析 ...

  5. 苹果内存取证工具volafox

    苹果内存取证工具volafox volafox是一款针对苹果内存取证的专用工具.该工具使用Python语言编写.该工具内置了overlay data数据,用户可以直接分析苹果10.6-10.11的各种 ...

  6. 利用Volatility对Linux内存取证分析-常用命令翻译

    命令翻译 linux_apihooks - 检查用户名apihooks linux_arp - 打印ARP表 linux_aslr_shift - 自动检测Linux aslr改变 linux_ban ...

  7. v&n赛 内存取证题解(已更新)

    题目是一个raw的镜像文件 用volatility搜索一下进程 有正常的notepad,msprint,还有dumpit和truecrypt volatility -f mem.raw --profi ...

  8. windows下的volatility取证分析与讲解

    volatility(win64) 1.下载 volatility 下载地址:(我下载的版本2.6,并把名字稍微改了一下) Release Downloads | Volatility Foundat ...

  9. 【干货】Windows内存获取和分析---查找恶意进程,端口

    来源:Unit 5: Windows Acquisition 5.1 Windows Acquisition Windows Memory Acquisition and Analysis 调查人员检 ...

  10. 【干货】Linux内存数据的获取与转存 直捣密码

    知识源:Unit 2: Linux/Unix Acquisition 2.1 Linux/Unix Acquistion Memory Acquisition 中的实验demo部分  小白注意,这是网 ...

随机推荐

  1. HDFS文件块

    知识点补充 HDFS优缺点: 优点 (1)高容错性.节点存放的副本比较多. (2)适合处理大数据. GB.TB.PB级别的数据都可以处理. (3)可以构建在廉价的机器上,通过多副本机制来提高可靠性. ...

  2. ssh反向通信

    ##先决条件为:一个有公网IP的VPS(虚拟主机),我使用的是国内的腾讯云,您也可以选择阿里云,亚马逊等各种厂商产品.这台机器的操作系统为 centos 7.0 ,IP 为 A.A.A.A #双内网主 ...

  3. 七牛云服务器debug

    400{ResponseInfo:com.qiniu.http.Response@16fd3806,status:400, reqId:uzcAADGFlzHUE-kW, xlog:-, xvia:, ...

  4. Linux 使用vsftpd服务传输文件

    文件传输协议 FTP是一种在互联网中进行文件传输的协议,基于客户端/服务器模式,默认使用20.21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命 ...

  5. 安装ELK(Elasticsearch、Kibana、Logstash)

    1.首先准备两台centos7虚拟机(关闭防火墙)(到步骤3为止都是两台虚拟机都要准备的) 2.传入安装包 3.解压ELK.进入解压后ELK文件.解压jdk文件 4.在ip为41的虚拟机上安装Elas ...

  6. Vue3引用全局js

    在vue3中引入全局js: 1,创建一个js文件: 2,在main.js中引入该js文件: import comm from './utils/comm' app.config.globalPrope ...

  7. JS笔记(三):函数与对象

    镇楼图 Pixiv:torino 四.Function类型 Rest语法 一些函数如Math.max可以支持任意数量的参数,JS中对于这样的参数可以简单使用...来实现,使用剩余参数,它支持收集剩余的 ...

  8. Verilog中端口的连接规则

    摘自于(15条消息) Verilog中端口应该设置为wire形还是reg形_CLL_caicai的博客-CSDN博客, 以及(15条消息) Verilog端口连接规则_「已注销」的博客-CSDN博客_ ...

  9. centos7.2 64位安装php7.2.12

    1 安装php所需要的扩展 yum -y install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel curl curl ...

  10. File类----> FileFilter接口:实现方法

    1创建一个类 继承 FileFilter接口 在类中重写boolean accept方法 写出要实现的条件2在main方法中创建File对象 代表了D盘File file = new File(&qu ...