Volatility3内存取证工具使用详解

Volatility 介绍:

Volatility是一款开源的内存取证分析工具,是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证方式。该工具是由python开发的,目前支持python2、python3环境;这里就介绍volatility3的使用。

Volatility 安装:

github项目地址:https://github.com/volatilityfoundation

官方地址:https://www.volatilityfoundation.org/26

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

python3 setup.py install

Volatility 基本用法:

python3 vol.py -h

具体可以参考:https://volatility3.readthedocs.io/en/latest/ 帮助文档

Volatility3内存取证工具使用详解_第1张图片

命令格式: volatility -f [image] --profile=[profile] [plugin]

这里需要注意 :Volatility3Volatility2用法差不多,但不需要指定profile ,只是插件调用方式改变,特定的操作系统有特定的插件

而且可以发现支持很多格式 而且插件也很多 volatility2的话 kali2.0自带 这里我先不写啦
Volatility3内存取证工具使用详解_第2张图片
Volatility3内存取证工具使用详解_第3张图片

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内存映像中存在的链接

实操案例:

1.系统基本信息(windows.info)

Volatility3内存取证工具使用详解_第4张图片

  1. SystemTime可以看出镜像制作的时间 2022-6-10
  2. NTBuildLab 可以看出来是 server2003 Windows操作系统
2. 进程列表(windows.pstree)

Volatility3内存取证工具使用详解_第5张图片

3. 进程命令行参数(windows.cmdline.CmdLine)

Volatility3内存取证工具使用详解_第6张图片

4. 服务运行状态(windows.svcscan)

Volatility3内存取证工具使用详解_第7张图片

5. 进程环境变量(windows.envars)

Volatility3内存取证工具使用详解_第8张图片

6. 动态库列表(windows.dlllist)

Volatility3内存取证工具使用详解_第9张图片

7. 扫描进程(windows.psscan)

Volatility3内存取证工具使用详解_第10张图片

8. 注册表数据(windows.registry.hivelist)

Volatility3内存取证工具使用详解_第11张图片

9.列出缓冲池(windows.bigpools)

Volatility3内存取证工具使用详解_第12张图片

10.列出转存文件(windows.dumpfiles)

Volatility3内存取证工具使用详解_第13张图片

11.扫描文件(windows.filescan)

Volatility3内存取证工具使用详解_第14张图片

总结

因为这个是windows的镜像 所以都是windows命令 大家可以使用Linux插件进行尝试
个人的感觉 还是觉得Volatility2 比较方便好用 看个人爱好,最后感谢大家的支持!!

里出了一期Volatility2的使用方法:https://blog.csdn.net/Aluxian_/article/details/128194996?spm=1001.2014.3001.5501

你可能感兴趣的:(渗透工具,内存取证,volatility,volatility3)