Volatility 工具分析

0x01 Volatility 介绍

volatility 是一款内存取证和分析工具,可以对 Procdump 等工具 dump 出来的内存进行分析,并提取内存中的文件。该工具支持 Windows 和 Linux,Kali 下面默认已经安装。

0x02 安装过程

利用Volatility进行Windows内存取证分析(一):初体验

0x03 概念

0x03a Vtypes

Vtypes 是 Volatility 框架中数据结构定义以及解析的语言,大部分操作系统底层都是使用 C 语言编写的,其中大量使用数据结构来组织和管理相关的变量以及属性。

因为 Volatility 是用 Python 语言编写的,所以我们需要一种方式在Python 源文件中表示 C 语言的数据结构。

VTypes 正是用于实现这一点的。

eg:

C

struct process{
    
    
int pid;
int parent_pid;
char name[10];
char* command_line;
void* ptv;
};

vtype

'process' : [ 26, {
    
    
'pid' : [ 0, ['int']],
'parent_pid' : [ 4, ['int']],
'name' : [ 8, ['array', 10, ['char']]],
'command_line' : [ 18, ['pointer', ['char']]],
'ptv' : [ 22, ['pointer', [' void']]],
}]

0x03b Profiles

profile 是特定操作系统版本以及硬件体系结构(x86,x64,ARM)中VTypes,共用体,对象类型的集合.除了这些组件以外,profile 还包括如下:

元数据:操作系统的名称(例如:“windows”,“mac”,“linux”),内核版本,以及编译号.
系统调用信息:索引以及系统调用的名称
常量值:全局变量-在某些操作系统中能够在硬编码的地址处找到的全局变量
系统映射:关键全局变量和函数的地址(仅限 Linux 和 Mac)

每个 profile 有个一个唯一的名称,通常是由操作系统的名称,版本,服务包,系统结构等信息组成.例如:Win7SP1x64 是 64 位的 Windows 7 SP1 系统配置文件的名称。

扫描二维码关注公众号,回复: 13119558 查看本文章

不同版本的操作系统,其中的内核数据结构成员以及偏移可能会发生改变,因此产生了 profiles 配置选项。

eg:

python   vol.py  -f  <文件名> --profile=<配置文件>  <插件>  [插件参数]

python vol.py -f /opt/cuckoo/storage/analyses/9/memory.dmp --profile=Win7SP1x86 volshel

链接

github 仓库
https://github.com/volatilityfoundation/volatility
官方网站
https://www.volatilityfoundation.org/

猜你喜欢

转载自blog.csdn.net/single7_/article/details/113177669