【volatality 3】使用说明文档

由于volatility2.6 和3.0 版本之间略有差异,所以特写本文档用来学习参考。

在vol3 中不需要指定profile,而是在命令中指定系统。 如windows.info、Windows.pslist

使用示例

文档说明

本文作者:SwBack
创作时间:‎2022‎年‎6‎月‎14‎日,‏‎15:47:05
知乎:https://www.zhihu.com/people/back-88-87
CSDN:https://blog.csdn.net/qq_30817059
百度搜索: SwBack

系统信息

┌──(root💀kali)-[~/tool/volatility3-1.0.0]
└─# python3 vol.py -f /root/1/mem.dump windows.info                                     
Volatility 3 Framework 1.0.0
Progress:  100.00		PDB scanning finished                     
Variable	Value

Kernel Base	0xf8017aa7d000
DTB	0x1ab000
Symbols	jar:file:/root/tool/volatility3-1.0.0/volatility3/symbols/windows.zip!windows/ntkrnlmp.pdb/A0011F02EE8442749E83E5180D8B19A6-1.json.xz
Is64Bit	True
IsPAE	False
primary	0 WindowsIntel32e
memory_layer	1 FileLayer
KdVersionBlock	0xf8017adb7ff0
Major/Minor	15.15063
MachineType	34404
KeNumberProcessors	1
SystemTime	2019-08-05 08:36:09
NtSystemRoot	C:\Windows
NtProductType	NtProductWinNt
NtMajorVersion	10
NtMinorVersion	0
PE MajorOperatingSystemVersion	10
PE MinorOperatingSystemVersion	0
PE Machine	34404
PE TimeDateStamp	Sat Jun  3 08:53:36 2017

image-20220614154705475

查看系统进程列表

python3 vol.py -f /root/1/mem.dump windows.pslist

image-20230705141314280

查看系统进程树

python3 vol.py -f /root/1/mem.dump windows.pstree

image-20230705141513138

查看系统命令行参数

获取到exe程序的运行时所带的参数(偶尔也有意外收获)

python3 vol.py -f /root/1/mem.dump windows.cmdline

image-20220614155925919

独特的思考方式

众所周知,Downloads目录是下载目录,该目录下的文件均不是系统自带,而这里存在lass.exe的 程序,所以根据题目来判断,这个程序很有可能是恶意程序. 然后可以导出程序进行逆向分析。

image-20220614160236755

列出已加载的dll模块

python3 vol.py -f 1/mem.dump windows.dlllist

查看系统中存在的文件

一般通过grep 来进行筛选,根据进程中的程序及题目要求来筛选,grep “png|jpg|gif|jpeg|zip|rar|7z|txt|Downloads|Desktop”

python3 vol.py -f ../1/mem.dump  windows.filescan |grep lass.exe

image-20220615085239448d

独特的思考方式

有些题目答案自己无法找到,比如找不到用户的创建时间,在注册表中无法找到,那么可以尝试搜索 Security.evtx文件 找到系统的安全日志,然后下载下来进行读取。其中包含用户的创建、删除、登录等包含用户操作的所有信息

如下图示例

┌──(root??kali)-[~/volatility]
└─# python3 vol.py -f ../1/mem.dump  windows.filescan |grep "evtx"    

image-20220615090250773

下载系统中的文件

这个插件和2.6中的差异较大, 在3.0的版本中,已经找不到 memdump procdump等插件了

只有一个dumpfiles 我们可以通过-h 来查看下参数 在3.0的版本中一定要指定物理地址进行下载

可以发现,不仅可以通过虚拟地址还可以通过PID物理地址进行下载文件. 也不再通过-D 指定保存的路径

image-20220615090841241

#我这边下载的是Security.evtx文件 | 默认保存在当前目录
python3 ../volatility/vol.py -f Windows7.mem windows.dumpfiles --physaddr="0x23e2dcf20"

image-20220621141445454

#我们只需要evtx.dat 文件 vacb是缓存对我们没有帮助.
将evtx.dat 重命名删除.dat后缀后 ,放到与镜像同版本的系统中(window7\window10)因为兼容问题,简单测试 win7日志无法在win10打开
然后根据Window 日志系统的事件ID来筛选出我们想要获取的信息即可。

image-20220621141831196

查看进程环境变量

 python3 ../volatility/vol.py -f mem.dump  windows.envars

image-20220615104355597

独特的思考方式

环境变量中基本上都有系统的名称 及当前使用的用户 等信息。如果题目要求提交电脑名称,注册表地址不记得那么可以到此处找一找。

查看注册表[重点]

与注册表相关的信息均为重点,这里将会稍微详细一点,所以将其设为一级目录

#这和2.6版本 差不多,不同的是后面的参数
python3 ../volatility/vol.py -f mem.dump  windows.registry.hivelist
# 还有一个参数是hivescan 不过它只列出虚拟地址,这里我们在做题的时候基本用不到,就省略不讲了.有兴趣可以自己尝试

image-20220615104933448

打印注册表地址

注册表的地址我们一般不会完全记住,通常都是记部分。那么列取指定路径的注册表就很有必要

这里差异比较大,2.6 是通过-K 参数来指定路径。

#2.6 打印路径
volatility -f mem.dump --profile=Win7SP1x64 printkey -K "SAM"
#3.0 打印路径 为了方便对比,这里我将实际的路径进行了删除
 python3 vol.py -f windows.mem windows.registry.printkey --key "SYSTEM" 

image-20220615144131590

#或者通过虚拟地址直接指定需要列取的注册表 然后通过key打印子项
python3 vol.py -f Windows7.mem windows.registry.printkey --offset="0xf8a000a85420" --key "SAM\Domains"

image-20220615144644432

下方示例为打印该内存中存在多少用户

image-20220615144734304

下载注册表到本地

之前通过windows.registry.hivelist 命令查看了注册表,有时候通过注册表无法直观的获取到我们想要得到的信息。那么我们只能将其下载到本地,然后借助第三方工具进行分析.

#下载所有注册表到本地
python3 ../volatility/vol.py -f Windows7.mem windows.registry.hivelist --dump 

image-20220615145216344

注意事项

1.导出的注册表在本地查看发现是乱码,因为经过了rot13加密
2.日志文件无法导出(无关版本问题,正在测试镜像是否存在问题)
3.遇到window10的内存镜像,采用vol3.0版本,3.0版本对windows10 非常友好.2.6有可能无法识别profile。
4.Windows系统之间很有可能出现不兼容的情况,从window7 导出的日志,在window11下会出现报错,但是在window10下会成功解析。

获取用户名密码密文

python3 /root/tools/volatility3/vol.py -f OtterCTF.vmem windows.lsadump

image-20220627140540331

命令汉化翻译(仅供参考,不全)

常用插件:
    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.dumpfiles.DumpFiles 下载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内存映像中存在的链接
Volatility 是一款用于数字取证和线下广告分析的开源框架。它被广泛用于分析恶意软件和黑客活动,以获取有关计算机系统和网络的信息。Volatility 可以分析内存转储文件,以便恢复已删除的信息、查找潜在的入侵痕迹,并确定系统中运行的进程和服务。这个工具对于研究人员和调查人员来说非常有用,可以帮助他们理解和解决各种安全威胁。 要下载 Volatility,可以访问其官方网站或在 GitHub 上找到正确的下载链接。根据自己的操作系统和需求,选择适当的版本进行下载。一旦下载完成,解压缩文件并按照提供的文档说明进行安装和配置。 Volatility 需要一些额外的工具和库来正常运行,如 Python 和相关的依赖项。确保系统中已安装这些必要的组件,以免出现任何运行时错误。当所有配置都完成后,即可开始使用 Volatility 进行内存分析。 通过命令行或脚本,使用 Volatility 启动内存分析。通过指定正确的参数和选项,可以运行各种分析插件和脚本,以获取所需的结果。这些结果可以是进程列表、网络连接、注册表项、文件列表等。分析结果可以导出为文本、CSV 或 HTML 格式,以供进一步的处理和研究。 总之,Volatility 是一个功能强大且广泛使用的数字取证和广告分析工具。下载并正确安装它后,你可以使用其内置的分析插件来研究计算机系统的内存转储,并得出有关系统状态和安全威胁的有价值信息。它对于提高数字安全和解决安全问题的能力非常有帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SwBack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值