Volatility3用法

目录

简介

使用要求

可选依赖项

符号表

安装

基本用法

 实例

官方文档


简介

Volatility3是对Volatility2的重写,它基于Python3编写,对Windows 10的内存取证很友好,且速度比Volatility2快很多。对于用户而言,新功能的重点包括:大幅提升性能,消除了对--profile的依赖,以便框架确定需要哪个符号表(配置文件)来匹配内存示例中的操作系统版本,在64位系统(例如Window的wow64)上正确评估32位代码,自动评估内存中的代码,以避免对分析人员进行尽可能多的手动逆向工程。对于开发人员:更加轻松地集成到用户的第三方接口和库中,广泛的API文档,插件可以直接调用其他插件的能力,插件版本控,直接集成自定义符号表和数据结构。

官方网站

GitHub地址

使用要求

  • Python 3.5.3或更高版本。
  • Pefile 2017.8.1或更高版本

可选依赖项

  • yara-python 3.8.0或更高版本。
  • capstone 3.0.0或更高版本

符号表

用于分析相关操作系统数据的内核符号表压缩包。注意:由于Linux内核易于编译且无法唯一区分它们,因此无法轻松提供详尽的Linux符号表集。官方下载地址:

安装

Volatility3目前处于测试阶段,在Kali Linux中无法直接通过apt进行安装,因此需要通过源码进行安装。使用git clone https://github.com/volatilityfoundation/volatility3.git将项目克隆到本地,然后下载符号表,解压之后移动到volatility/symbols目录中即可。如图:

基本用法

Volatility3和Volatility2用法差不多,但不需要指定profile。只是插件调用方式改变,特定的操作系统有特定的插件。

python3 vol.py [plugin] -f [image]

常用插件:
    layerwriter:列出内存镜像platform信息
    linux.bash:从内存中恢复bash命令历史记录
    linux.check_afinfo:验证网络协议的操作功能指针
    linux.check_syscall:检查系统调用表中的挂钩
    linux.elfs:列出所有进程的所有内存映射ELF文件
    linux.lsmod:列出加载的内核模块
    linux.lsof:列出所有进程的所有内存映射
    linux.malfind:列出可能包含注入代码的进程内存范围
    linux.proc:列出所有进程的所有内存映射
    linux.pslist:列出linux内存映像中存在的进程
    linux.pstree:列出进程树
    mac.bash:从内存中恢复bash命令历史记录
    mac.check_syscall:检查系统调用表中的挂钩
    mac.check_sysctl:检查sysctl处理程序的挂钩
    mac.check_trap_table:检查trap表中的挂钩
    mac.ifconfig:列出网卡信息
    mac.lsmod:列出加载的内核模块
    mac.lsof:列出所有进程的所有内存映射
    mac.malfind:列出可能包含注入代码的进程内存范围
    mac.netstat:列出所有进程的所有网络连接
    mac.psaux:恢复程序命令行参数
    mac.pslist:列出linux内存映像中存在的进程
    mac.pstree:列出进程树
    mac.tasks:列出Mac内存映像中存在的进程
    windows.info:显示正在分析的内存样本的OS和内核详细信息
    windows.callbacks:列出内核回调和通知例程
    windows.cmdline:列出进程命令行参数
    windows.dlldump:将进程内存范围DLL转储
    windows.dlllist:列出Windows内存映像中已加载的dll模块
    windows.driverirp:在Windows内存映像中列出驱动程序的IRP
    windows.driverscan:扫描Windows内存映像中存在的驱动程序
    windows.filescan:扫描Windows内存映像中存在的文件对象
    windows.handles:列出进程打开的句柄
    windows.malfind:列出可能包含注入代码的进程内存范围
    windows.moddump:转储内核模块
    windows.modscan:扫描Windows内存映像中存在的模块
    windows.mutantscan:扫描Windows内存映像中存在的互斥锁
    windows.pslist:列出Windows内存映像中存在的进程
    windows.psscan:扫描Windows内存映像中存在的进程
    windows.pstree:列出进程树
    windows.procdump:转储处理可执行映像
    windows.registry.certificates:列出注册表中存储的证书
    windows.registry.hivelist:列出内存映像中存在的注册表配置单元
    windows.registry.hivescan:扫描Windows内存映像中存在的注册表配置单元
    windows.registry.printkey:在配置单元或特定键值下列出注册表项
    windows.registry.userassist:打印用户助手注册表项和信息
    windows.ssdt:列出系统调用表
    windows.strings:读取字符串命令的输出,并指示每个字符串属于哪个进程
    windows.svcscan:扫描Windows服务
    windows.symlinkscan:扫描Windows内存映像中存在的链接

 实例

查看内存镜像是什么平台,如图:

查看OS和内核详细信息,如图:

查看进程列表,如图:

转储进程explorer.exe,对应PID为3492,如图:

查看系统中的文件,如图:

查看注册表配置单元,如图:

查看注册表单元下的注册表项,如图:

扫描windows服务,如图:

官方文档

原文地址:https://www.cnblogs.com/hzcya1995/p/13302346.html