kali 安装volatility_kali对Windows内存在线取证

kali对Windows的内存取证

在kali系统上,有VOLATILITY等工具,可以方便的完成内存镜像取证等工作,如何将Windows系统内存镜像数据给VOLATILITY分析呢?除了通过DumpIt等第三方工具镜像为文件外,本文将介绍一种方法,将更方便的完成内存镜像取证。

准备工作

一台被内存镜像取证的电脑运行的windows系统

一台取证电脑运行的kali系统

两台电脑要能通过网络通信,并且最好是有线千M以上网络,因为windows系统的内存镜像数据,是要通过网络传到kali系统的,所以网络速度至关重要。

安装软件

在Windows系统上,安装RFBD,RFBD是跨平台的nbd-server,通过该服务实现读取Windows内存数据。

主页:http://ranfs.com/cn/?RFBD

用管理员权限运行powershell,执行如下命令:

$rfbd_dir="c:rfbd";Invoke-Expression(New-Object Net.WebClient).DownloadString("http://ranfs.com/pub/rfbd/all/get.ps1")

e27f51a26ba4269ed91cc5fcd9733f51.png

注意: $rfbd_dir="c:rfbd" 中的 c:rfbd为rfbd安装目录, 如要安装其它目录,请更改此路径。

在没有powershell系统里,请手动下载安装包,运行里面的install.bat即可完成安装。

关于防火墙配置,默认情况下,脚本自动配置了系统防火墙,放行了使用的端口,如果使用了其它防火墙,请手动放行10809端口和6780端口,10809为nbd服务端口,必须放行 ,6780为web调试和配置端口,根据需要放行。


在Kali系统上,执行如下命令

sudo apt install nbd-client
sudo modprobe nbd

c0c5239c421bcaaed8e066c307886de7.png

好了,基本工作准备完成

挂载内存镜像和分析

执行如下命令

sudo nbd-client -N /dev/pmem -b 4096 192.168.253.1 10809 /dev/nbd0

注意:-b 4096 为扇区字节数,192.168.253.1为RFBD所在系统ip地址。

sudo volatility -f /dev/nbd0 imageinfo

58261ab2c47b4c8771e564396e8497d0.png

接下来可使用volatility相关功能对/dev/nbd0进行分析,如同对远端Windows物理内存进行分析一样,需要注意这是在线分析,Windows内存数据在运行中,会不断改变。

如何开启读写挂载

默认情况,nbd-client挂载的设备为只读挂载,如何开启读和写支持呢?

1、修改rfbd.ini,配置字段 nbd_readonly=truenbd_readonly=false, 更改配置后需要重启rfbd服务才会生效。

2、使用web配置nbd.readonly_flag为 false, 更改设置后,不需要重启rfbd,但需要nbd-client断开后,重新执行挂载命令,设置方法如下,在kali系统里,使用浏览器打开 192.168.253.1:6780,点击配置如下图:

dec4cd3e93685884574e239c5f5bdb27.png

双击值true 更改为false, 然后鼠标点击空白处,点击在操作里出现的保存按钮。

支持挂载的文件名

在Windows系统下,支持如下别名文件

/dev/pmem 对应 DevicePhysicalMemory的别名,实现对物理内存读写

/dev/disk[0-9] 对应 .PhysicalDrive[0-9]的别名,实现对物理硬盘的读写

同时还支持文件路径名 如c:tmp1.img。使用命令如下:

sudo nbd-client -N c:tmp1.img -b 512 192.168.253.1 10809 /dev/nbd2

注意:请确保网络正常,及RFBD正常运行。

遇到不能解决的问题,请联系:tech@ranfs.com, 或加QQ群:599829506。

### Volatility3在Kali Linux上的安装 为了确保Volatility3能够在Kali Linux环境中顺利工作,需先完成其安装过程。建议将`volatility-master.zip`文件解压缩至指定路径如`/home/user/volatility-master`,这里假设用户主目录名为`user`而非`root`以遵循安全实践[^1]。 对于依赖项的处理,应按照官方文档指导来操作而不是手动复制文件到Python库路径下。通常情况下,在现代Linux发行版中推荐通过pip工具来进行包管理: ```bash pip install volatility3 ``` 此命令会自动下载并配置好所有必要的组件以便后续使用[^5]。 ### 使用Volatility3进行内存取证分析 当准备就绪之后,可以通过如下方式加载待分析的目标镜像文件(例如命名为`memory.raw`),并通过特定插件获取所需数据: #### 查看可用概要信息 执行下面这条语句可以帮助确认所选样本是否被正确识别以及适用哪个操作系统版本作为剖析依据: ```bash python3 vol.py -f /path/to/memory.raw windows.info ``` 这一步骤至关重要因为它决定了后面一系列操作能否成功开展。 #### 获取进程列表及其命令行参数 一旦确定了合适的Profile,则可进一步探索系统内活跃着哪些程序实例连同启动它们时传递给这些应用的具体选项: ```bash python3 vol.py -f /path/to/memory.raw pslist python3 vol.py -f /path/to/memory.raw cmdline ``` 上述两条指令分别用于列举出当前存在的全部进程,并展示选定进程中实际传入的命令行字符串[^4]。 #### 探索已加载模块详情 如果想要了解某个具体PID对应的应用究竟映射了多少动态链接库(DLL),那么借助于`dlllist`功能将会非常方便;而对于整个系统的视角而言,利用`linux_proc_maps`(针对Linux平台)则能提供更全面视图关于各个地址空间分布状况的信息: ```bash python3 vol.py -f /path/to/memory.raw dlllist --pid=<target_pid> python3 vol.py -f /path/to/memory.raw linux_proc_maps ``` 请注意替换其中占位符部分为真实有效的数值或标识符[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值