欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > volatility2工具的使用vol2工具篇

volatility2工具的使用vol2工具篇

2025/2/22 2:02:47 来源:https://blog.csdn.net/chinese_cabbage0/article/details/144634812  浏览:    关键词:volatility2工具的使用vol2工具篇

vol2工具

命令格式:vol.py -f [image] --profile=[profile] [plugin]

1、查看系统的操作版本,系统镜像信息

2.查看用户名密码信息,当前操作系统中的password hash,例如SAM文件内容

3.从注册表提取LSA密钥信息(已解密)

这里没有,有的镜像可疑从这里直接提取到密码,flag等

4.列出系统进程,但它不能检测到隐藏或者解链的进程

5.可以找到先前已终止(不活动)的进程以及被rootkit隐藏或解链的进程

命令没错,只是镜像中没有这个隐藏的进程

6.以树的形式查看进程列表,和pslist一样,也无法检测到隐藏或解链的进程

7.提取进程,-p是进程号,-D存储的文件夹,提取指定进程

这里是dump下来2096的进程

vol.py -f Target.mem --profile=Win7SP0x64 memdump -p xxx --dump-dir=./   //这个一样

8.查看服务,里面有内存地址,有服务名(进程名)

9.查看ie浏览器记录,这里没有浏览器记录,所以为空

10.查看网络连接,排查挖矿进程,恶意进程

11.查看历史命令记录

12.查看并过滤txt或者jpg的文件

13.提取文件

14.查看当前notepad的内容

vol.py -f Target.mem --profile=Win7SP0x64 notepad

15.查看屏幕截图

16.查看注册表单元

17.导出注册表

18.获取注册表,-K“键值” -o是索引值

19.查看运行程序相关记录

20.查看时间栈信息

21.查看剪切板信息

这里剪切板信息为空

22.恢复或被删除的文件

23.查看环境变量

24.程序版本信息

25.从内存文件中找到异常程序植入到系统的开机自启痕迹-恶意开机自启

26.使用mimikatz来查看系统密码,这里缺少插件

27.看命令行参数看它是如何启动的

28.下载内存进程exe程序,用来逆向分析,也可直接运行

29.查看数据库元数据信息

这里是提示镜像中无信息

30.检测和分析windows系统中存在API钩子

36.查看转储原子表文件内容,识别恶意窗口

37.发现潜在的恶意活动,隐藏窗口或篡改窗口资源

38.查找可能被注入或隐藏的恶意代码,看恶意进程和内存地址

39.进程虚拟地址空间的数据结构

40.如果如下则操作系统版本没错,否则会报错并提示

命令详细使用和插件解释等

操作系统查看

./vol.py -f file.dmp imageinfo

哈希/密码提取:SAM哈希、域缓存凭据和LSA密码

./vol.py --profile=Win7SP1x86_23418 hashdump -f file.dmp #获取常见的 Windows 哈希(SAM+SYSTEM)
./vol.py --profile=Win7SP1x86_23418 cachedump -f file.dmp #提取注册表中的域缓存哈希
./vol.py --profile=Win7SP1x86_23418 lsadump -f file.dmp #提取 LSA 密码

内存转储

./vol.py -f file.dmp --profile=Win7SP1x86 memdump -p 2168 -D conhost/

进程信息

尝试查找可疑进程(通过名称)或意外的子进程(例如,cmd.exe 作为 iexplorer.exe 的子进程)。将 pslist 的结果与 psscan 的结果进行比较,以识别隐藏的进程

volatility --profile=PROFILE pstree -f file.dmp # 获取进程树(非隐藏)
volatility --profile=PROFILE pslist -f file.dmp # 获取进程列表(EPROCESS)
volatility --profile=PROFILE psscan -f file.dmp # 获取隐藏进程列表(恶意软件)
volatility --profile=PROFILE psxview -f file.dmp # 获取隐藏进程列表

转储进程

volatility --profile=Win7SP1x86_23418 procdump --pid=3152 -n --dump-dir=. -f file.dmp

命令行

volatility --profile=PROFILE cmdline -f file.dmp # 显示进程命令行参数
volatility --profile=PROFILE consoles -f file.dmp # 通过扫描 _CONSOLE_INFORMATION 获取命令历史

环境变量

volatility --profile=PROFILE envars -f file.dmp [--pid <pid>] # 显示进程的环境变量
volatility --profile=PROFILE -f file.dmp linux_psenv [-p <pid>] # 获取进程的环境变量。runlevel 变量表示进程启动时的运行级别
Token privileges检查意外服务中的权限令牌。列出使用某些权限令牌的进程
# 获取某些进程的启用权限
volatility --profile=Win7SP1x86_23418 privs --pid=3152 -f file.dmp | grep Enabled
# 获取所有具有权限的进程
volatility --profile=Win7SP1x86_23418 privs -f file.dmp | grep "SeImpersonatePrivilege|SeAssignPrimaryPrivilege|SeTcbPrivilege|SeBackupPrivilege|SeRestorePrivilege|SeCreateTokenPrivilege|SeLoadDriverPrivilege|SeTakeOwnershipPrivilege|SeDebugPrivilege"

SIDs检查每个进程拥有的 SSID。列出使用权限 SID(或使用某些服务 SID)的进程。

volatility --profile=Win7SP1x86_23418 getsids -f file.dmp # 获取每个进程拥有的 SID
volatility --profile=Win7SP1x86_23418 getservicesids -f file.dmp # 获取每个服务的 SID
句柄,了解进程拥有的句柄(已打开的文件、注册表项、线程、进程等)。
volatility --profile=Win7SP1x86_23418 -f file.dmp handles [--pid=<pid>]

DLLs

volatility --profile=Win7SP1x86_23418 dlllist --pid=3152 -f file.dmp # 获取进程使用的 dlls
volatility --profile=Win7SP1x86_23418 dlldump --pid=3152 --dump-dir=. -f file.dmp # 转储进程使用的 dlls

按进程查看字符串-检查字符串属于哪个进程

strings file.dmp > /tmp/strings.txt
volatility -f /tmp/file.dmp windows.strings.Strings --string-file /tmp/strings.txtvolatility -f /tmp/file.dmp --profile=Win81U1x64 memdump -p 3532 --dump-dir .
strings 3532.dmp > strings_file

使用yarascan模块在进程中搜索字符串

volatility --profile=Win7SP1x86_23418 yarascan -Y "https://" -p 3692,3840,3976,3312,3084,2784
UserAssist  

Windows 使用注册表中的 UserAssist 键 追踪你运行过的程序。这些键记录每个程序执行的次数以及最后一次运行的时间

volatility --profile=Win7SP1x86_23418 -f file.dmp userassist

服务

# 获取服务和二进制路径
volatility --profile=Win7SP1x86_23418 svcscan -f file.dmp
# 获取服务的名称和SID(较慢)
volatility --profile=Win7SP1x86_23418 getservicesids -f file.dmp

网络

volatility --profile=Win7SP1x86_23418 netscan -f file.dmp
volatility --profile=Win7SP1x86_23418 connections -f file.dmp # XP 和 2003 仅适用
volatility --profile=Win7SP1x86_23418 connscan -f file.dmp # TCP 连接
volatility --profile=Win7SP1x86_23418 sockscan -f file.dmp # 打开的套接字
volatility --profile=Win7SP1x86_23418 sockets -f file.dmp # 扫描 TCP 套接字对象volatility --profile=SomeLinux -f file.dmp linux_ifconfig
volatility --profile=SomeLinux -f file.dmp linux_netstat
volatility --profile=SomeLinux -f file.dmp linux_netfilter
volatility --profile=SomeLinux -f file.dmp linux_arp # ARP 表
volatility --profile=SomeLinux -f file.dmp linux_list_raw # 使用混杂模式原始套接字的进程(进程间通信)
volatility --profile=SomeLinux -f file.dmp linux_route_cache

注册表

volatility --profile=Win7SP1x86_23418 -f file.dmp hivelist # 列出根项
volatility --profile=Win7SP1x86_23418 -f file.dmp printkey # 列出根项并获取初始子项

获取一个注册表值

volatility --profile=Win7SP1x86_23418 printkey -K "SoftwareMicrosoftWindows NTCurrentVersion" -f file.dmp
# 获取“运行”二进制注册表值
volatility -f file.dmp --profile=Win7SP1x86 printkey -o 0x9670e9d0 -K 'SoftwareMicrosoftWindowsCurrentVersionRun'

转储注册表

# 转储一个 Hive
volatility --profile=Win7SP1x86_23418 hivedump -o 0x9aad6148 -f file.dmp # 从 hivelist 获取偏移量
# 转储所有的 Hive
volatility --profile=Win7SP1x86_23418 hivedump -f file.dmp

文件系统

volatility --profile=SomeLinux -f file.dmp linux_mount
volatility --profile=SomeLinux -f file.dmp linux_recover_filesystem # 如果可能,转储整个文件系统
扫描/转储文件
volatility --profile=Win7SP1x86_23418 filescan -f file.dmp # 扫描转储中的文件
volatility --profile=Win7SP1x86_23418 dumpfiles -n --dump-dir=/tmp -f file.dmp # 转储所有文件
volatility --profile=Win7SP1x86_23418 dumpfiles -n --dump-dir=/tmp -Q 0x000000007dcaa620 -f file.dmpvolatility --profile=SomeLinux -f file.dmp linux_enumerate_files
volatility --profile=SomeLinux -f file.dmp linux_find_file -F /path/to/file
volatility --profile=SomeLinux -f file.dmp linux_find_file -i 0xINODENUMBER -O /path/to/dump/file
主文件表
volatility --profile=Win7SP1x86_23418 mftparser -f file.dmp
SSL 密钥/证书
# vol2 允许从内存中搜索和转储证书
# 此模块的选项包括:--pid, --name, --ssl
volatility --profile=Win7SP1x86_23418 dumpcerts --dump-dir=. -f file.dmp

恶意软件分析

##########windows的命令########3
volatility --profile=Win7SP1x86_23418 -f file.dmp malfind [-D /tmp] # 查找隐藏和注入的代码 [转储每个可疑部分]
volatility --profile=Win7SP1x86_23418 -f file.dmp apihooks # 检测进程和内核内存中的 API 挂钩
volatility --profile=Win7SP1x86_23418 -f file.dmp driverirp # 驱动 IRP 挂钩检测
volatility --profile=Win7SP1x86_23418 -f file.dmp ssdt # 检查系统调用地址是否来自意外地址########Linux的命令#########
volatility --profile=SomeLinux -f file.dmp linux_check_afinfo
volatility --profile=SomeLinux -f file.dmp linux_check_creds
volatility --profile=SomeLinux -f file.dmp linux_check_fop
volatility --profile=SomeLinux -f file.dmp linux_check_idt
volatility --profile=SomeLinux -f file.dmp linux_check_syscall
volatility --profile=SomeLinux -f file.dmp linux_check_modules
volatility --profile=SomeLinux -f file.dmp linux_check_tty
volatility --profile=SomeLinux -f file.dmp linux_keyboard_notifiers # 键盘记录器3

使用YARA扫描

使用此脚本从 GitHub 下载并合并所有 YARA 恶意软件规则:https://gist.github.com/andreafortuna/29c6ea48adf下面是安装方法

wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
mkdir rules
python malware_yara_rules.py
volatility --profile=Win7SP1x86_23418 yarascan -y malware_rules.yar -f ch2.dmp | grep "Rule:" | grep -v "Str_Win32" | sort | uniq

其他工具

自动运行

volatility --plugins=volatility-autoruns/ --profile=WinXPSP2x86 -f file.dmp autoruns

互斥锁

volatility --profile=Win7SP1x86_23418 mutantscan -f file.dmp
volatility --profile=Win7SP1x86_23418 -f file.dmp handles -p <PID> -t mutant

符号链接

volatility --profile=Win7SP1x86_23418 -f file.dmp symlinkscan

Bash历史  用于linux

可以 从内存中读取 Bash 历史。虽然您也可以转储 .bash_history 文件,但由于它被禁用,您可以使用此 Volatility 模块。

volatility --profile=Win7SP1x86_23418 -f file.dmp linux_bash

时间线

volatility --profile=Win7SP1x86_23418 -f timeliner

驱动程序

volatility --profile=Win7SP1x86_23418 -f file.dmp driverscan

获取剪切板内容

#Just vol2
volatility --profile=Win7SP1x86_23418 clipboard -f file.dmp

获取Internet Explorer历史

volatility --profile=Win7SP1x86_23418 iehistory -f file.dmp

获取记事本文本

volatility --profile=Win7SP1x86_23418 notepad -f file.dmp

截屏

volatility --profile=Win7SP1x86_23418 screenshot -f file.dmp

主引导记录

volatility --profile=Win7SP1x86_23418 mbrparser -f file.dmp

vol2工具的插件及解释

   amcache:输出 AmCache 信息apihooks:检测进程和内核内存中的 API 钩子atoms:打印会话和窗口工作站的原子表atomscan:扫描原子表的内存池auditpol:输出 HKLMSECURITYPolicyPolAdtEv 中的审计策略bigpools:使用 BigPagePoolScanner 转储大页面池bioskbd:从实模式内存读取键盘缓冲区cachedump:从内存中转储域缓存哈希callbacks:输出系统范围的通知例程clipboard:提取 Windows 剪贴板内容cmdline:显示进程的命令行参数cmdscan:通过扫描 _COMMAND_HISTORY 提取命令历史connections:输出开放连接列表(仅适用于 Windows XP 和 2003)connscan:扫描 TCP 连接的内存池consoles:通过扫描 _CONSOLE_INFORMATION 提取命令历史crashinfo:转储崩溃转储信息deskscan:扫描 tagDESKTOP(桌面)的内存池devicetree:显示设备树dlldump:从进程地址空间转储 DLLdlllist:输出每个进程加载的 DLL 列表driverirp:检测驱动 IRP 钩子drivermodule:将驱动对象与内核模块关联driverscan:扫描驱动对象的内存池dumpcerts:转储 RSA 私钥和公钥 SSL 密钥dumpfiles:提取内存映射和缓存文件dumpregistry:将注册表文件转储到磁盘editbox:显示编辑控件的信息(Listbox 实验性)envars:显示进程的环境变量eventhooks:输出 Windows 事件钩子的详细信息evtlogs:提取 Windows 事件日志(仅限 XP/2003)filescan:扫描文件对象的内存池gahti:转储 USER 句柄类型信息gditimers:输出已安装的 GDI 定时器和回调gdt:显示全局描述符表getservicesids:获取注册表中的服务名称并返回计算的 SIDgetsids:输出拥有每个进程的 SIDhandles:输出每个进程的开放句柄列表hashdump:从内存中转储密码哈希(LM/NTLM)hibinfo:转储休眠文件信息hivedump:输出注册表 hive 信息hivelist:输出注册表 hive 列表hivescan:扫描注册表 hive 的内存池hpakextract:从 HPAK 文件中提取物理内存hpakinfo:输出 HPAK 文件的信息idt:显示中断描述符表iehistory:重建 Internet Explorer 缓存/历史记录imagecopy:将物理地址空间复制为原始 DD 镜像imageinfo:识别镜像的信息impscan:扫描导入函数的调用joblinks:输出进程作业链接信息kdbgscan:搜索并转储潜在的 KDBG 值kpcrscan:搜索并转储潜在的 KPCR 值ldrmodules:检测未链接的 DLLlsadump:从注册表转储(解密的)LSA 机密machoinfo:转储 Mach-O 文件格式信息malfind:查找隐藏和注入的代码mbrparser:扫描并解析潜在的主引导记录 (MBR)memdump:转储进程的可寻址内存memmap:输出内存映射messagehooks:列出桌面和线程窗口的消息钩子mftparser:扫描并解析潜在的 MFT 条目moddump:转储内核驱动到可执行文件样本modscan:扫描内核模块的内存池modules:输出加载的模块列表multiscan:同时扫描多种对象mutantscan:扫描互斥对象的内存池notepad:列出当前显示的记事本文本objtypescan:扫描 Windows 对象类型对象patcher:基于页面扫描修补内存poolpeek:可配置的内存池扫描插件printkey:输出注册表键及其子键和值privs:显示进程权限procdump:转储进程到可执行文件样本pslist:通过 EPROCESS 列表输出所有正在运行的进程psscan:扫描进程对象的内存池pstree:以树状显示进程列表psxview:使用多种进程列表查找隐藏进程qemuinfo:转储 Qemu 信息raw2dmp:将物理内存样本转换为 windbg 崩溃转储screenshot:根据 GDI 窗口保存伪截图servicediff:列出 Windows 服务(类似 Plugx)sessions:列出 _MM_SESSION_SPACE(用户登录会话)的详细信息shellbags:输出 ShellBags 信息shimcache:解析应用兼容性 Shim 缓存注册表键shutdowntime:从注册表输出机器的关机时间sockets:输出开放的套接字列表sockscan:扫描 TCP 套接字对象的内存池ssdt:显示 SSDT 条目strings:将物理偏移与虚拟地址匹配(可能耗时,信息量大)svcscan:扫描 Windows 服务symlinkscan:扫描符号链接对象的内存池thrdscan:扫描线程对象的内存池threads:调查 _ETHREAD 和 _KTHREADtimeliner:从内存中的各种工件创建时间线timers:输出内核定时器及相关模块 DPCtruecryptmaster:恢复 TrueCrypt 7.1a 主密钥truecryptpassphrase:查找 TrueCrypt 缓存的密码短语truecryptsummary:输出 TrueCrypt 概要unloadedmodules:输出已卸载的模块列表userassist:输出 UserAssist 注册表键和信息userhandles:转储 USER 句柄表vaddump:转储 VAD 部分到文件vadinfo:转储 VAD 信息vadtree:以树状显示 VAD 树vadwalk:遍历 VAD 树vboxinfo:转储 virtualbox 信息verinfo:输出 PE 镜像的版本信息vmwareinfo:转储 VMware VMSS/VMSN 信息volshell:在内存镜像中进入 Shellwindows:输出桌面窗口(详细信息)wintree:输出 Z-Order 桌面窗口树wndscan:扫描窗口工作站的内存池yarascan:使用 Yara 签名扫描进程或内核内存

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词