实用Windows取证培训——PWF
作者:Sec-Labs | 发布时间:
Practical Windows Forensics
由Blue Cape Security, LLC提供

对Windows 10系统进行数字取证分析的快速DIY方法
项目地址
https://github.com/bluecapesecurity/PWF
步骤
- 准备好一个Windows目标虚拟机
- 在目标虚拟机上执行攻击脚本(基于AtomicRedTeam框架)。
- 获取内存和磁盘图像
- 设置一个Windows取证虚拟机
- 开始进行Windows取证分析
先决条件
- VirtualBox或VMWare管理程序
- 主机系统要求
- 4GB以上的内存,用于运行Windows虚拟机(有两个虚拟机,但它们不一定要同时运行)
- 2个Windows虚拟机的磁盘存储,分别使用约20GB和40GB。此外,你还需要大约30GB,用于处理磁盘和内存图像以及其他文件。

攻击场景
该版本中的攻击模拟脚本可用于在Windows系统上创建一个真实的破坏场景。它利用选定的Atomic Red Team测试,模拟现实世界攻击中常见的技术。脚本PWF/AtomicRedTeam/ART-attack.ps1首先安装Invoke-AtomicRedTeam,然后执行一些技术。该脚本中执行的技术在下面的MITRE ATT&CK框架中高亮显示。

准备工作
1 准备好目标系统
1.1) 从微软开发者网站下载、导入和配置免费的Windows 10测试虚拟机
下载:https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
导入VirtualBox,并在第一次启动前拍下快照。这允许在攻击或虚拟机过期后回滚。
启动并登录到虚拟机。凭证。"IEUser "和 "Passw0rd!"
暂停Windows更新以避免额外的噪音。进入设置->Windows更新->高级选项->暂停更新
安装Sysmon以进行详细的事件记录。
将PWF/Install-Sysmon/Install-Sysmon.ps1中的脚本下载到系统上
以管理员身份运行PowerShell,导航到该脚本并执行它。
禁用所有Defender设置。在执行攻击之前,进入 "病毒和威胁保护设置"->管理设置->禁用所有显示的功能。注意,这只是一个临时解决方案,实时保护会在一段时间后自动打开。
1.2) 在目标系统上执行攻击脚本
将PWF/AtomicRedTeam/ART-attack.ps1中的脚本下载到系统上
以管理员身份运行PowerShell!导航到该脚本并🔥执行它 🔥.\ART-attack.ps1
确保目标虚拟机可以访问互联网,因为它将下载Invoke-AtomicRedTeam框架。此外,如果PowerShell要求安装额外的功能,请按[Y]是。
验证PowerShell日志是否显示atomics的成功执行。(如果不成功,请关闭虚拟机,恢复到之前的快照,并在再次运行脚本前实施修复)。
不要关闭任何窗口或进程,继续进行下一步!
2 磁盘和内存--数据采集
2.1) 暂停虚拟机并拍摄快照
2.2) 给虚拟机的内存拍一张图像
在主机系统上创建一个 "证据 "文件夹,以存储以下磁盘和内存图像。
获取VMWare内存
在终端中打开虚拟机的.vmwarevm目录
将.vmem文件复制到证据文件夹中
VirtualBox内存获取
打开你的终端(Mac/Linux)或cmd(Windows),运行vboxmanage(在Windows中,它位于C:\Program Files\Oracle\VirtualBox下)。
识别虚拟机的UUID:vboxmanage list vms
创建虚拟机内存的快照:vboxmanage debugvm <VM_UUID> dumpvmcore -filename win10-mem.raw
2.3) 拍摄虚拟机磁盘的图像
暂停并关闭虚拟机。
采集VMWare磁盘镜像
在虚拟机的目录中找到VMDK分割文件。这些都是以.vmdk结尾的文件。
根据快照的数量,可能有几个版本的VMDK文件序列。在这种情况下,名称中数字最高的序列将是具有最新状态的序列,例如,如 "Virtual Disk-XXX.vmdk"。
导出vmdk镜像。有两个选项。
将最新序列 "Virtual Disk-xxx.vmdk "的所有分割文件复制到 "Virtual Disk-xxx-s0016.vmdk "到你的证据文件夹。
或者,从分割文件中创建一个单一的VMDK。C:\Program Files (x86)\VMware\VMware Player\vmware-vdiskmanager.exe" -r "d:\VMLinux\vmdkname.vmdk" -t 0 MyNewImage.vmdk
获取VirtualBox磁盘镜像
打开终端或cmd
识别虚拟机的UUID: vboxmanage list vms
识别虚拟机的磁盘UUID: vboxmanage showvminfo <VM_UUID> 注意行IDE控制器中的磁盘UUID
使用磁盘UUID将磁盘导出为RAW格式: vboxmanage clonemedium disk <disk_UUID> --format raw win10-disk.raw
2.4) 通过创建SHA1哈希值并将其与图像一起保存在文本文件中,验证内存和磁盘图像的完整性。
Windows。打开PowerShell并导航到文件夹。通过执行以下程序获得哈希值 Get-FileHash -Algorithm SHA1 <file>。
Mac/Linux。打开终端并导航到该文件夹。通过执行以下命令获得哈希值:shasum <file>。
取证分析
3 设置你的取证工作站
3.1)按照以下链接所述,设置一个取证虚拟机:https://bluecapesecurity.com/build-your-forensic-workstation/
建议从微软评估中心安装一个Windows 2019服务器虚拟机。
在Virtualbox中创建一个新的虚拟机。分配至少4GB的内存和100GB的磁盘存储,并选择动态分配选项。这意味着磁盘开始时将很小(例如,Windows的基本大小为10-20GB大小),并随着我们添加更多数据而增长。
安装VirtualBox Guest Additions,并在主机系统上启用共享剪贴板和文件共享的证据文件夹。
当Windows系统安装完毕后,按照 "配置Windows环境--DFIR最佳实践 "一节中的说明进行操作。
设置完成后,安装以下工具。
Kali Linux子系统,Volatility
Arsenal Image Mounter, FTK Imager, Eric Zimmerman Tools, KAPE, RegRipper, EventLog Explorer, Notepad++
设置完成后进行快照。
4 取证内存和磁盘分析
随着取证工作站的安装和证据的获得,我们现在可以开始对内存和磁盘图像进行分析。我们要调查的一些取证工件是。
用户账户
程序执行工件
持久性(运行键、计划任务、启动脚本、Windows服务)。
文件创建和删除(NTFS工件)
PowerShell的执行
DLL进程注入
办公室文件分析
时间线分析
快乐取证!
免责声明
该材料仅用于教育目的! 我不承担并特此声明对任何一方因应用我所分享的信息而产生的任何错误、干扰、损害或其他负面后果负责。