[笔记]Volatility 取证工具使用以及Hollow插件使用

简介: [笔记]Volatility 取证工具使用以及Hollow插件使用

前言

Volatility是一款开源内存取证框架,能够对导出的内存镜像进行分析,通过获取内核数据结构,使用插件获取内存的详细情况以及系统的运行状态。

而Dumpit是用于生成Windows机器的物理内存转储,可运行在32位/64位系统中,可完美地部署在USB闪存盘上,快速响应事件。

HollowFind插件是用来检测HollowProcoss的Volatility插件。

环境

Volatility 2.5(因为后面使用的hollowfind似乎2.6不支持)

win10

(注意:hollowfind插件只能查win7的)

Vmware 14

win7

python2.7

DumpIt.exe

使用Dumpit生成内存镜像

具体用法参考:

Volatility内存取证使用

生成的是xxx.raw

使用VMware的内存镜像

暂停vm虚拟机 对应的虚拟机文件夹中找到.vmem文件

我这里是win7的虚拟机

安装Volatility

Volatility安装参考教程

安装

python setup.py install

执行

进程列表

python vol.py -f svchost.DMP pslist

使用HollowFind

[翻译]使用HollowFind插件来检测各种进程注入技术

HollowFind原理

python vol.py -f xxxx.vmem --profile=xxxx hollowfind

我是有python2.7和用的powershell 且必须是vmware虚拟机的win7的镜像内存(hollowfind只支持volatility2.5且win7),故这样写:

python27.exe .\vol.py -f ..\replace_process_win7.vmem --profile=Win2008R2SP0x64 hollowfind

运行结果:

PS D:\workspace\2013\Github\volatility-master\volatility-2.5> python27.exe .\vol.py -f ..\replace_process_win7.vmem --profile=Win2008R2SP0x64 hollowfind
Volatility Foundation Volatility Framework 2.5
Hollowed Process Information:
        Process: GoogleUpdate.e PID: 2912
        Parent Process: taskeng.exe PPID: 2864
        Creation Time: 2022-06-14 06:39:27 UTC+0000
        Process Base Name(PEB): GoogleUpdate.exe
        Command Line(PEB): "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /c
        Hollow Type: No VAD Entry For Process Executable
VAD and PEB Comparison:
        Base Address(VAD): 0x0
        Process Path(VAD): NA
        Vad Protection: NA
        Vad Tag: NA
        Base Address(PEB): 0xe80000
        Process Path(PEB): C:\Program Files (x86)\Google\Update\GoogleUpdate.exe
        Memory Protection: PAGE_EXECUTE_WRITECOPY
        Memory Tag: Vad
        No Hexdump: Memory Unreadable at 0x00e80000
Similar Processes:
        GoogleUpdate.e(2912) Parent:taskeng.exe(2864) Start:2022-06-14 06:39:27 UTC+0000
        GoogleUpdate.e(3708) Parent:GoogleUpdate.e(2912) Start:2022-06-14 06:39:45 UTC+0000
        GoogleUpdate.e(3784) Parent:GoogleUpdate.e(2912) Start:2022-06-14 06:39:47 UTC+0000
Suspicious Memory Regions:
        0x1a0000(No PE/Possibly Code)  Protection: PAGE_EXECUTE_READWRITE  Tag: VadS
---------------------------------------------------
Hollowed Process Information:
        Process: svchost.exe PID: 892
        Parent Process: services.exe PPID: 536
        Creation Time: 2022-06-14 06:39:10 UTC+0000
        Process Base Name(PEB): svchost.exe
        Command Line(PEB): C:\Windows\System32\svchost.exe -k LocalServiceNetworkRestricted
        Hollow Type: Process Base Address and Memory Protection Discrepancy
VAD and PEB Comparison:
        Base Address(VAD): 0xff6c0000
        Process Path(VAD): \Windows\System32\services.exe
        Vad Protection: PAGE_EXECUTE_WRITECOPY
        Vad Tag: Vad
        Base Address(PEB): 0xff550000
        Process Path(PEB): C:\Windows\System32\svchost.exe
        Memory Protection: PAGE_EXECUTE_WRITECOPY
        Memory Tag: Vad
0xff550000  4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00   MZ..............
0xff550010  b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00   ........@.......
0xff550020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0xff550030  00 00 00 00 00 00 00 00 00 00 00 00 e8 00 00 00   ................
Similar Processes:
        svchost.exe(892) Parent:services.exe(536) Start:2022-06-14 06:39:10 UTC+0000
        svchost.exe(1160) Parent:services.exe(536) Start:2022-06-14 06:39:11 UTC+0000
        svchost.exe(108) Parent:services.exe(536) Start:2022-06-14 06:39:10 UTC+0000
        svchost.exe(3440) Parent:services.exe(536) Start:2022-06-14 06:39:41 UTC+0000
        svchost.exe(792) Parent:services.exe(536) Start:2022-06-14 06:39:10 UTC+0000
        svchost.exe(924) Parent:services.exe(536) Start:2022-06-14 06:39:10 UTC+0000
        svchost.exe(1264) Parent:services.exe(536) Start:2022-06-14 06:39:21 UTC+0000
        svchost.exe(688) Parent:services.exe(536) Start:2022-06-14 06:39:09 UTC+0000
        svchost.exe(2832) Parent:explorer.exe(2712) Start:2022-06-14 06:39:33 UTC+0000
        svchost.exe(3260) Parent:ReplaceProcess(3076) Start:2022-06-14 06:40:32 UTC+0000
        svchost.exe(396) Parent:services.exe(536) Start:2022-06-14 06:39:10 UTC+0000
        svchost.exe(952) Parent:services.exe(536) Start:2022-06-14 06:39:10 UTC+0000
        svchost.exe(1488) Parent:services.exe(536) Start:2022-06-14 06:39:21 UTC+0000
Suspicious Memory Regions:
        0x7feff000000(No PE/Possibly Code)  Protection: PAGE_EXECUTE_WRITECOPY  Tag: Vad
---------------------------------------------------
Hollowed Process Information:
        Process: GoogleUpdate.e PID: 3708
        Parent Process: GoogleUpdate.e PPID: 2912
        Creation Time: 2022-06-14 06:39:45 UTC+0000
        Process Base Name(PEB): GoogleUpdate.exe
        Command Line(PEB): "C:\Program Files (x86)\Google\Update\GoogleUpdate.exe" /cr
        Hollow Type: No VAD Entry For Process Executable
VAD and PEB Comparison:
        Base Address(VAD): 0x0
        Process Path(VAD): NA
        Vad Protection: NA
        Vad Tag: NA
        Base Address(PEB): 0xe80000
        Process Path(PEB): C:\Program Files (x86)\Google\Update\GoogleUpdate.exe
        Memory Protection: PAGE_EXECUTE_WRITECOPY
        Memory Tag: Vad
        No Hexdump: Memory Unreadable at 0x00e80000
Similar Processes:
        GoogleUpdate.e(3708) Parent:GoogleUpdate.e(2912) Start:2022-06-14 06:39:45 UTC+0000
        GoogleUpdate.e(3784) Parent:GoogleUpdate.e(2912) Start:2022-06-14 06:39:47 UTC+0000
        GoogleUpdate.e(2912) Parent:taskeng.exe(2864) Start:2022-06-14 06:39:27 UTC+0000
Suspicious Memory Regions:
        0x40000(No PE/Possibly Code)  Protection: PAGE_EXECUTE_WRITECOPY  Tag: Vad
---------------------------------------------------

常见问题

Failed to import volatility.plugins.registry.shutdown (ImportError: XXX

执行时

python27.exe .\vol.py -f D:\workspace\2013\Github\volatility-master\svchost.DMP hollowfind

报错

Volatility Foundation Volatility Framework 2.6.1
*** Failed to import volatility.plugins.registry.shutdown (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.getservicesids (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.timeliner (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.malware.apihooks (NameError: name 'distorm3' is not defined)
*** Failed to import volatility.plugins.malware.servicediff (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.registry.userassist (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.getsids (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.registry.shellbags (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.evtlogs (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.tcaudit (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.registry.dumpregistry (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.registry.lsadump (ImportError: No module named Crypto.Hash)
*** Failed to import volatility.plugins.malware.threads (NameError: name 'distorm3' is not defined)
*** Failed to import volatility.plugins.mac.apihooks_kernel (ImportError: Error loading the diStorm dynamic library (or cannot load library into process).)

解决方案

https://github.com/volatilityfoundation/volatility/issues/535

pip install distorm3 pycrypto openpyxl Pillow

也可以这样 这样pip和python用的就是同一版本

python -m pip install distorm3 pycrypto openpyxl Pillow

No suitable address space mapping found

可参考:https://blog.csdn.net/yingzinanfei/article/details/53150423

可参考:https://github.com/volatilityfoundation/volatility/issues/698

我主要看后面一个kdbgscan可以执行成功了 就根据kdbgscan输出的profile 再添加–profile=xxxx到需要执行的命令中。

python27.exe .\vol.py -f D:\workspace\vms\windows_10_business_editions_version_1903_x64_dvd_e001dd2c.iso\windows_10_business_editions_version_1903_x64_dvd_e001dd2c.iso-6f11cc0a.vmem --profile=Win10x64_18362 pslist
相关文章
|
网络协议 安全 网络安全
为什么IPsec两端内网的网段能不能重复?分明可以实现!
为什么IPsec两端内网的网段能不能重复?分明可以实现!
为什么IPsec两端内网的网段能不能重复?分明可以实现!
|
机器学习/深度学习 存储 Linux
CentOS 7 部署 KVM 虚拟化
CentOS 7 部署 KVM 虚拟化
968 0
|
4月前
|
移动开发 安全 API
雷池waf配置第三方登录-钉钉配置详细教程
雷池waf配置第三方登录-钉钉配置详细教程
|
7月前
|
机器学习/深度学习 传感器 数据采集
基于机器学习的数据分析:PLC采集的生产数据预测设备故障模型
本文介绍如何利用Python和Scikit-learn构建基于PLC数据的设备故障预测模型。通过实时采集温度、振动、电流等参数,进行数据预处理和特征提取,选择合适的机器学习模型(如随机森林、XGBoost),并优化模型性能。文章还分享了边缘计算部署方案及常见问题排查,强调模型预测应结合定期维护,确保系统稳定运行。
695 0
|
存储 Linux Android开发
Volatility3内存取证工具安装及入门在Linux下的安装教程
Volatility 是一个完全开源的工具,用于从内存 (RAM) 样本中提取数字工件。支持Windows,Linux,MaC,Android等多类型操作系统系统的内存取证。针对竞赛这块(CTF、技能大赛等)基本上都是用在Misc方向的取证题上面,很多没有听说过或者不会用这款工具的同学在打比赛的时候就很难受。以前很多赛项都是使用vol2.6都可以完成,但是由于操作系统更新,部分系统2.6已经不支持了,如:Win10 等镜像,而Volatility3是支持这些新版本操作系统的。
2273 0
|
10月前
|
缓存 负载均衡 安全
什么是反向代理
反向代理是一种部署在服务器前端的代理技术,它接收客户端请求并转发给内部服务器,对外隐藏真实服务器。其主要功能包括负载均衡、安全防护和缓存加速,有效提升服务器性能和安全性。
581 5
|
安全 Python Linux
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
Kali Linux下Volatility2.6常见问题疑难杂症-内存取证信息安全管理与评估
|
安全 Python Linux
Volatility2.6内存取证工具安装及入门-1
Volatility2.6内存取证工具安装及入门
1252 0
Volatility2.6内存取证工具安装及入门-1
|
存储 人工智能 文件存储
云栖速递,面向大规模数据智能的阿里云存储创新
云栖速递:面向大规模数据智能的阿里云存储创新
1809 2
云栖速递,面向大规模数据智能的阿里云存储创新
|
安全 Linux 开发工具
Volatility3内存取证工具使用详解
Volatility3内存取证工具使用详解
8298 0