<br /> ### 1. Backup Operators 组简介 在 Windows 中有一个名为 `Backup Operators` 的用户组,该组没有默认成员。`Backup Operators` 组内用户可以对系统内的所有文件(包括受某种特殊权限保护的文件)进行操作。前面介绍过在 Mimikatz 中执行命令 `privilege::backup` 可以获取 `SeBackupPrivilege` 权限,拥有该权限后可以对系统所有文件进行读取,且无视 ACL 限制。而 Windows 中的 `Backup Operators` 用户组自带 `SeBackupPrivilege` 权限。本节将介绍如何通过 `Backup Operators` 获取 `SeBackupPrivilege` 权限及 Windows 凭据。 ### 2. 利用备份组导出凭据 本节以域内用户 `backup`(位于域控本地 `Backup Operators` 组)为例,演示如何启用 `SeBackupPrivilege` 并导出凭据相关文件(如 `SAM`/`SYSTEM`),为后续离线解密/提取 Hash 做准备。 #### 2.1 确认用户组成员关系 1. 确认当前所控域用户 `backup` 所在的组(如图 1-1)。 :::center  图 1-1 backup 用户所在的组 ::: #### 2.2 验证对域控文件的访问能力(读/写) 1. 使用 `backup` 用户列举域控 `C:` 盘目录,验证文件访问能力,如图 1-2所示。可以看到,当 `backup` 用户位于域控本地 `Backup Operators` 组内时,通常对域控文件具备读取能力;但如图 1-3 所示,并不一定具备写入权限。 :::center  图 1-2 域控文件访问权限 ::: :::center  图 1-3 用户不具备写入权限 ::: <br /> #### 2.3 检查并获取 SeBackupPrivilege(管理员 PowerShell) 1. 在当前会话执行 `whoami /priv` 检查是否具备 `SeBackupPrivilege`(如图 1-4)。此时虽然用户属于 `Backup Operators`,但可能由于未以管理员权限启动会话,导致看不到/无法使用该特权。 2. 以管理员身份运行 PowerShell(如图 1-6),输入正确凭据后,在新 PowerShell 中再次执行 `whoami /priv`(如图 1-7)。此时可以看到 `SeBackupPrivilege` 已出现,但通常处于 **Disabled** 状态。 :::center  图 1-4 当前会话的特权 ::: :::center  图 1-5 以管理员身份运行 PowerShell ::: <br /> :::center  图 1-6 以管理员身份运行 PowerShell 后用户所拥有的特权 ::: #### 2.4 启用 SeBackupPrivilege 1. 使用 `SeBackupPrivilege` 项目启用特权:导入模块后,先查看状态,再执行启用(如图 1-7、图 1-8)。 ```powershell Import-Module .\SeBackupPrivilegeCmdLets.dll Get-SeBackupPrivilege Set-SeBackupPrivilege ``` :::center  图 1-7 当前会话的 SeBackupPrivilege 权限状态 ::: :::center  图 1-8开启 SeBackupPrivilege 特权 ::: #### 2.5 导出本机 SAM/SYSTEM(reg save 方式) 1. 启用 `SeBackupPrivilege` 后,可直接导出注册表配置以获取 `SAM`、`SYSTEM`(如图 1-9): ```cmd reg save hklm\sam sam.hiv reg save hklm\system system.hiv ``` :::center  图 1-9 获取 SAM 与 SYSTEM 文件 ::: #### 2.6 通过卷影副本读取锁定文件(diskshadow 方式) 1. 当需要读取 `C:\Windows\System32\config\` 下被系统占用的文件时,可使用 `diskshadow.exe` 创建卷影副本。 <br /> 2. 将如下脚本保存为文本文件,然后执行:`diskshadow.exe /s <脚本路径>`。成功后会创建 `F:` 盘(`C:` 的卷影副本,如图 1-10)。 ```text set verbose on set metadata C:\Windows\Temp\meta.cab set context clientaccessible set context persistent begin backup add volume C: alias cdrive create expose %cdrive% F: end backup exit ``` :::center  图 1-10卷影副本 F 盘 ::: 3.从卷影副本中复制目标文件(如图 1-11): ```powershell Copy-FileSeBackupPrivilege F:\Windows\System32\config\system system ``` :::center  图 1-11 获取 SYSTEM 文件 ::: #### 2.7 从域控远程拉取凭据相关文件(BackupOperatorToDA) 1. `Backup Operators` 具备域内“备份语义”相关能力,可借助 `BackupOperatorToDA` 从 DC 上直接获取文件。 <br /> 2. 执行 `BackupOperatorToDA`(如图 1-13): ```powershell .\BackupOperatorToDA.exe -t \\172.16.224.13 -o C:\ ``` <br /> 3.将导出的文件复制到本地(如图 1-14): ```powershell Copy-FileSeBackupPrivilege \\172.16.224.13\C$\SAM SAM ``` <br /> 4.对导出的文件进行离线解密/提取 Hash(解密流程前文已说明,此处不再展开)。 :::center  图 1-12 获取 DC 上的凭据相关文件 ::: :::center  图 1-13 将 DC 上的文件复制到本地 :::