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的使用网络上已有很多教程,不再赘述。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/637127.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Cloud 运维篇1——Jenkins CI/CD 持续集成部署

Jenkins 1、Jenkins是什么? Jenkins 是一款开源 CI/CD 软件,用于自动化各种任务,包括构建、测试和部署软件。 Jenkins 支持各种运行方式,可通过系统包、Docker 或者一个独立的 Java 程序。 Jenkins Docker Compose持续集成流…

政企版 WPS Pro 专业版注册安装教程

政企版 WPS Pro 专业版安装及激活步骤 第 1 步:下载压缩包(内含注册码)【无解压密码】。 第 2 步:解压缩后,运行 exe 文件,默认步骤安装即可。 第 3 步:安装完成后,新建一个 Word …

Mysql学习大纲

文章目录 整体大纲总结 整体大纲 大纲 MySQL在金融互联网行业的企业级安装部署mysql启动关闭原理和实战,及常见错误排查 花钱9.9 订阅了专栏MySQL字符集和校对规则史上最详细的Mysql用户权原理和实战,生产案例InnoDB引擎原理和实战,通俗易懂…

MySQL如何避免全表扫描?

MySQL如何避免全表扫描? 这篇文章解释了何时以及为什么MySQL会执行全表扫描来解析查询,以及如何避免在大型表上进行不必要的全表扫描。 何时会发生全表扫描 MySQL使用全表扫描(在EXPLAIN输出中的type列显示为ALL)来解析查询的几…

web--弱口令安全

字典(一种是产品初始化的密码,一种是改变的密码 对爆破密码进行加密 先这个 对账号和密码同时爆破 设置两个要用这个模式 ssh,rdp远程终端 linux的用户名为root,windows为administrator 这就被爆破了 zip,word文件猜解

kafka实验部署

一、前期准备 二、kafka实验 在zookeeper后继续进行操作 2.1 为ndoe1、node2、node3作出部署 2.1.1 解压kafka压缩包(node1举例) 2.1.2 操作 将解压后的kafka移动到kafka,进入到kafka下的config中,复制文件 2.1.2.1 编辑server.pr…

7. Spring Boot 创建与使用

经过前面的六篇文章,Spring Framework的知识终于大致讲完了,但是Spring AOP还没提到,个人认为Spring AOP更适合放在Spring MVC之后再讲解,而讲解Spring MVC前先学习Spring Boot的目的也是为了在学习Spring MVC的时候直接使用Sprin…

内网云盘如何内网穿透实现公网访问

云盘是一种专业的互联网存储工具,是互联网云技术的产物,它通过互联网为企业和个人提供信息的存储、读取、下载等服务,具有安全稳定、海量存储的特点。随着企业信息化发展,云盘系统需求不断扩大,相关系统软件被广泛应用…

数据分析(1)

数据分析基础(1) 为了让刚开始学习的朋友对数据分析有一个清晰的整体认识,因此笔者在此对数分进行一个较为详细的介绍有助于大家更好的在宏观层面进行理解,避免在后续学习中产生迷茫。 数据分析的概念 定义:数据分析…

java线程-线程池

简介 工作原理 如何获取线程池对象 构造器的参数含义 注意事项 构造器-ThreadPoolExecutor // ArrayBlockingQueue 是一个有界的阻塞队列,它的内部实现是一个数组。有界的意思是它的容量是有限的,我们必须在创建 ArrayBlockingQueue 实例的时候指定容量…

我与C++的爱恋:类和对象(四)

​ ​ 🔥个人主页:guoguoqiang. 🔥专栏:我与C的爱恋 ​ 朋友们大家好!本篇是类和对象的最后一个部分。 一、static成员 声明为static的类成员称为类的静态成员,用static修饰的成员变量,称之…

VR全景:为户外游玩体验插上科技翅膀

随着VR全景技术的愈发成熟,无数人感到惊艳,也让各行各业看到了一片光明的发展前景。尤其是越来越多的文旅景区开始引入VR全景技术,相较于以往的静态风景图,显然现在的VR全景结合了动态图像和声音更加吸引人。 VR全景技术正在逐步改…