volatility内存取证

2024-04-21 18:12
文章标签 内存 取证 volatility

本文主要是介绍volatility内存取证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录一道volatility内存取证的题目,第一次遇到,现场把环境搞出来,现记录一些操作指令。

一、安装volatility3

1、新建一个kali虚拟机

新建的过程不再赘述。

2、下载volatility3

GitHub - volatilityfoundation/volatility3: Volatility 3.0 development

可以使用Git下载

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

也可以点击https://codeload.github.com/volatilityfoundation/volatility3/zip/refs/heads/develop下载后拷贝至虚拟机中。

3、安装依赖环境

cd到volatility3文件夹中

安装依赖环境,考虑加上

-i https://pypi.tuna.tsinghua.edu.cn/simple换为国内源增加下载速度
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4、安装volatility3

python3 setup.py build 
sudo python3 setup.py install

5、测试

测试是否已安装成功

python3 vol.py -h

二、volatility3使用

1、查看系统基本信息

第一次要加sudo,会去下载一些文件,比较久,后面再次执行就不用sudo了,也不会很久

sudo python3 vol.py -f /home/kali/WIN-xxx.raw windows.info

2、常用的命令

可以查看操作文档Creating New Symbol Tables — Volatility 3 2.7.0 documentation

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内存映像中列出驱动程序的IRPwindows.driverscan:扫描Windows内存映像中存在的驱动程序windows.envars:进程环境变量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内存映像中存在的链接

 3、查看进程命令行参数

具体一些可疑进程的参数指令

python3 vol.py -f /home/kali/WIN-xxx.raw cmdline

4、查看密码

密码为md5加密过的

python3 vol.py -f /home/kali/WIN-xxx.raw windows.hashdump

5、netscan

python3 vol.py -f /home/kali/WIN-xxx.raw windows.netscan

三、volatility2安装

发现volatility3不太好用,试试把volatility2弄出来

1、安装pip2和依赖环境

# 检查python2
python2 --version
# 下载pip2
curl  https://bootstrap.pypa.io/pip/2.7/get-pip.py  -o get-pip.py
# 安装pip2
sudo python2 get-pip.py
# 检查pip2安装情况
pip2
# 安装依赖环境pycryptodome 
pip2 install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple

2、安装distorm3

git clone https://github.com/vext01/distorm3.git
cd distorm3
sudo python2 setup.py install

3、安装volatility2

退出distorm3文件夹,下载volatility2

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

若无法git,则访问GitHub - volatilityfoundation/volatility: An advanced memory forensics framework

下载zip包后 unzip volatility-master.zip

cd volatility-master
sudo python2 setup.py install

安装完成。测试:

四、volatility2使用

volatility2的使用网络上已有很多教程,不再赘述。

这篇关于volatility内存取证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/923737

相关文章

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

怎样通过分析GC日志来定位Java进程的内存问题

《怎样通过分析GC日志来定位Java进程的内存问题》:本文主要介绍怎样通过分析GC日志来定位Java进程的内存问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、GC 日志基础配置1. 启用详细 GC 日志2. 不同收集器的日志格式二、关键指标与分析维度1.

Java内存分配与JVM参数详解(推荐)

《Java内存分配与JVM参数详解(推荐)》本文详解JVM内存结构与参数调整,涵盖堆分代、元空间、GC选择及优化策略,帮助开发者提升性能、避免内存泄漏,本文给大家介绍Java内存分配与JVM参数详解,... 目录引言JVM内存结构JVM参数概述堆内存分配年轻代与老年代调整堆内存大小调整年轻代与老年代比例元空

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

Java内存区域与内存溢出异常的详细探讨

《Java内存区域与内存溢出异常的详细探讨》:本文主要介绍Java内存区域与内存溢出异常的相关资料,分析异常原因并提供解决策略,如参数调整、代码优化等,帮助开发者排查内存问题,需要的朋友可以参考下... 目录一、引言二、Java 运行时数据区域(一)程序计数器(二)Java 虚拟机栈(三)本地方法栈(四)J

java变量内存中存储的使用方式

《java变量内存中存储的使用方式》:本文主要介绍java变量内存中存储的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、变量的定义3、 变量的类型4、 变量的作用域5、 内存中的存储方式总结1、介绍在 Java 中,变量是用于存储程序中数据

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt