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")

注意: $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

好了,基本工作准备完成
挂载内存镜像和分析
执行如下命令
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

接下来可使用volatility相关功能对/dev/nbd0进行分析,如同对远端Windows物理内存进行分析一样,需要注意这是在线分析,Windows内存数据在运行中,会不断改变。
如何开启读写挂载
默认情况,nbd-client挂载的设备为只读挂载,如何开启读和写支持呢?
1、修改rfbd.ini,配置字段 nbd_readonly=true
为 nbd_readonly=false
, 更改配置后需要重启rfbd服务才会生效。
2、使用web配置nbd.readonly_flag
为 false, 更改设置后,不需要重启rfbd,但需要nbd-client断开后,重新执行挂载命令,设置方法如下,在kali系统里,使用浏览器打开 192.168.253.1:6780
,点击配置如下图:

双击值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。