Volatility3内存取证工具安装及入门在Linux下的安装教程

简介: Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。

1-1. Volatility3简介

Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。

针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。

以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。


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

2-1 Volatility3在Linux下的安装方法

2-1-1. Volatility3 Kali Linux下安装教程

极安云科专注技能竞赛,包含网络建设与运维和信息安全管理与评估两大赛项,及各大CTF,基于两大赛项提供全面的系统性培训,拥有完整的培训体系。团队拥有国赛选手、大厂在职专家等专业人才担任讲师,培训效果显著,通过培训帮助各大院校备赛学生取得各省 国家级奖项,获各大院校一致好评。


Volatility2.6是基于Python2来实现的,而Volatility3的基于Python3来实现的,所以我们需要Python3的环境,推荐在kali下配置,因为kali自带Python2和Python3的环境。


该项目目前在Github上的开源项目地址以及官网:

https://github.com/volatilityfoundation/volatility3

https://www.volatilityfoundation.org/releases-vol3


Volatility 3需要Python 3.7.0或更高版本。要安装最少量的依赖项集(某些插件无法工作),请使用以下命令:

pip3 install -r requirements-minimal.txt

或者,当使用setup.py安装Volatility 3时,将自动安装最低限度的软件包。但是,如下面的“快速入门”部分所述,在使用Volatility3之前,不需要通过setup.py安装它。


解释:当使用setup.py安装Volatility 3时,相当于最小化安装,很多插件不装,而需要全量安装的话需要使用pip来进行所有插件的安装

python3 setup.py build 
python3 setup.py install


要启用Volatility 3的全部功能,请使用下面这样的命令。对于部分功能,请在运行命令之前,在requirements.txt中注释掉任何不必要的包。

pip3 install -r requirements.txt


2-1-2.下载Volatility

Volatility的最新稳定版本将始终是GitHub存储库的稳定分支。您可以使用以下命令获取最新版本的代码:

git clone https://github.com/volatilityfoundation/volatility3.git

快速入门

从GitHub克隆最新版本的Volatility:

python3 vol.py -h

请参阅可用选项:

python3 vol.py -h

要获得有关Windows内存示例的更多信息并确保Volatility支持该示例类型,请运行

python3 vol.py -f <imagepath> Windows.info

示例:

python3 vol.py -f /home/user/samples/stuxnet.vem windows.info

运行一些其他插件。-f或–single位置不是严格要求的,但大多数插件都需要一个样本。有些人还要求/接受其他选择。

运行python3 vol.py <plugin> -h以获取有关特定命令的更多信息。


3-1. 常用命令以及语法

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

常用插件:
    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内存映像中存在的链接
    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内存映像中存在的进程
相关文章
|
JavaScript
如何使用内存快照分析工具来分析Node.js应用的内存问题?
需要注意的是,不同的内存快照分析工具可能具有不同的功能和操作方式,在使用时需要根据具体工具的说明和特点进行灵活运用。
663 159
|
9月前
|
存储 Ubuntu Linux
内存卡格式化必看!4个格式化工具与注意事项
今天就给大家推荐几款经过实测的内存卡格式化工具,它们不仅使用简单、支持多种格式,而且在修复损坏卡方面也表现稳定,是实用性与安全性兼具的好帮手。
|
Unix Linux Shell
Linux新手入门手册
在Linux或类Unix系统中,掌握一系列基础命令和快捷键是提升工作效率的关键。这些工具和技巧不仅能帮助用户更高效地管理系统,还能在日常使用中带来极大的便利。以下是对这些基础操作与快捷键的详细解析大全。
268 9
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
551 73
|
Ubuntu 安全 Linux
宝塔Linux面板安装教程
这是一篇关于宝塔Linux面板安装教程的文章,支持CentOS/Ubuntu/Deepin/Debian/Fedora系统。文章详细列出了各系统的安装脚本命令,并提供更新升级脚本、安装后操作指南及注意事项。重点包括开放必要端口、解决权限问题、查看安装日志以及推荐的安全设置,如启用登录限制和定期更新面板。若遇问题可参考宝塔官方论坛或寻求技术支持。
922 0
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
Web App开发 JavaScript 前端开发
使用 Chrome 浏览器的内存分析工具来检测 JavaScript 中的内存泄漏
【10月更文挑战第25天】利用 Chrome 浏览器的内存分析工具,可以较为准确地检测 JavaScript 中的内存泄漏问题,并帮助我们找出潜在的泄漏点,以便采取相应的解决措施。
1746 9
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
846 3
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
247 6
|
存储 监控 算法
JVM调优深度剖析:内存模型、垃圾收集、工具与实战
【10月更文挑战第9天】在Java开发领域,Java虚拟机(JVM)的性能调优是构建高性能、高并发系统不可或缺的一部分。作为一名资深架构师,深入理解JVM的内存模型、垃圾收集机制、调优工具及其实现原理,对于提升系统的整体性能和稳定性至关重要。本文将深入探讨这些内容,并提供针对单机几十万并发系统的JVM调优策略和Java代码示例。
443 2