首页 > 其他分享 >利用卷影拷贝服务攻击域控五大绝招

利用卷影拷贝服务攻击域控五大绝招

时间:2024-03-25 11:11:52浏览次数:26  
标签:exe 快照 diskshadow ntds 绝招 dit 卷影 域控

在微软Active Directory(活动目录)中,所有的数据都被保存在ntds.dit中, NTDS.DIT是一个二进制文件,

它存在于域控制器中的

%SystemRoot%\ntds\NTDS.DIT。ntds.dit包括但不限于Username、Hash、Group、GPP、OU等活动目录相关信息。它和SAM文件一样,是被Windows系统锁定的,我们来介绍一下如果将ntds.dit从系统转导出以及如何读取ntds.dit中的信息。一般情况下我们会利用VSS 即 Volume Shadow Copy Service。VSS本质上属快照(Snapshot)技术的一种,主要用来做备份恢复之用(即使目标文件当前处于锁定状态)。

 

01

ntdsutil工具提取

 

ntdsutil.exe是一个为Active Directory 提供管理设施的命令行工具。您可使用 Ntdsutil.exe 执行 Active Directory 的数据库维护,管理和控制单个主机操作,创建应用程序目录分区,以及删除由未使用 Active Directory 安装向导 (DCPromo.exe) 成功降级的域控制器留下的元数据。该工具默认被安装在域控制器上,我们可以在域控制器上进行操作,也可以通过域内机器远程在域控制器上操作,如何进行远程操作会在后面的章节进行详细讲解。

支持操作系统为:Server 2003、Server 2008、Server 2012。

开始我们在域控制器上的cmd输入如下命令创建一个快照,该快照将Windows中的文件进行了全部拷贝粘贴,被拷贝出的文件,不受Windows锁定限制。可以看到创建了一个GUID为b899b565-dcd4-423a-b663-7dfabbfb979e的快照副本,如图6-1所示。

ntdsutil snapshot "activate instance ntds" create quit quit

 

图6-1使用ntdsutil.exe创建快照

接下来我们将刚刚创建的快照挂载在机器上,命令格式为ntdsutil snapshot "mount {GUID}" quit quit,其中GUID为刚刚创建的GUID。

在cmd输入如下命令挂载,可以看到已经成功将快照挂载到系统中,快照被挂载在C:\$SNAP_201808131112_VOLUMEC$\目录,如图6-2所示。

ntdsutil snapshot "mount {b899b565-dcd4-423a-b663-7dfabbfb979e}" quit quit

 

图6-2将创建的快照挂载到系统中

接着使用windows自带的copy命令将快照中的文件复制出来,在cmd输入如下命令。

copy C:\$SNAP_201808131112_VOLUMEC$\windows\ntds\ntds.dit c:\temp\ntds.dit

该命令可以将快照中

C:\$SNAP_201808131112_VOLUMEC$\windows\ntds\ntds.dit

复制到本地计算机的c:\temp\ntds.dit目录中。

接下来我们将之前挂载的快照卸载并删除快照,擦除痕迹,如图6-3所示,在cmd输入命令:

ntdsutil snapshot "unmount {b899b565-dcd4-423a-b663-7dfabbfb979e}" "delete {b899b565-dcd4-423a-b663-7dfabbfb979e}" quit quit

 

图6-3卸载并删除挂载好的快照

其中b899b565-dcd4-423a-b663-7dfabbfb979e为之前创建时的GUID,每次创建的GUID都不同。再查询当前所有快照,显示没有任何快照,表示删除成功,如图6-4所示。

 

图6-4列出当前系统中所有快照

 

02

vssadmin工具提取

 

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

支持操作系统:Server 2008、 Server 2012

操作流程和ntdsutil类似,在域控制器中打开cmd,输入如下命令创建一个C盘的卷影副本,如图6-5所示。

vssadmin create shadow /for=c:

 

图6-5创建快照

 

将创建好的副本中的ntds.dit进行复制,如图6-6所示,在cmd输入命令:

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\windows\NTDS\ntds.dit c:\ntds.dit  

 

图6-6复制快照中的ntds.dit

 

查看C盘下,看到ntds.dit已经被成功复制出来,如图6-7所示。

 

图6-7查看是否拷贝成功

 

接下来做的就是删除副本,清理痕迹,如图6-8所示。

 

图6-8删除快照

 

03

vssown.vbs脚本提取

 

vssown.vbs是和vssadmin类似,它是由Tim Tomes开发完成的,它可以创建和删除卷影副本,以及启动和停止卷影复制服务。作者的github有储存此项目,下载地址:

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

在cmd下执行该脚本,该脚本常用为下列几个命令。

cscript vssown.vbs /start /启动卷影复制服务

cscript vssown.vbs /create c /创建一个C盘的卷影副本

cscript vssown.vbs /list  /列出当前卷影副本

cscript vssown.vbs /delete /删除卷影副本

开始先启动卷影复制服务,如图6-9所示,输入命令:

cscript vssown.vbs /start

 

图6-9启动卷影复制服务

 

创建一个C盘的卷影副本,如图6-10所示,输入命令:

cscript vssown.vbs /create c

 

图6-10创建快照

 

列出当前卷影副本,如图6-11所示,输入命令:

cscript vssown.vbs /list

看到当前存在一个id为{E6ED51DF-7EC8-43F5-84D0-077899E7D4C9}的卷影副本。卷影副本位置为

\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8

 

图6-11查看当前存在的快照

 

将ntds.dit复制出来,复制成功,如图6-12所示,输入命令:

copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy8\windows\NTDS\ntds.dit c:\ntds.dit

 

图6-12复制ntds.dit到本地磁盘

 

删除卷影副本,擦除痕迹,如图5-166所示,输入命令:

cscript vssown.vbs /delete {E6ED51DF-7EC8-43F5-84D0-077899E7D4C9}

 

图6-13删除创建的快照

 

04

使用NTDSUTIL的IFM创建卷影副本

 

可以按照方法(1)中的命令进行创建、挂载、复制、删除四个步骤完成ntds.dit的拷贝,也可以使用创建一个IFM的方式获取ntds.dit数据库文件,当我们使用NTDSUTIL创建一个IFM时,卷影副本会进行快照、挂载、将ntds.dit和计算机SAM进行复制到目标文件夹中。此方法同样可以使用Powershell或WMI进行远程执行,我们会在后面的章节逐一介绍。

首先我们在域控制器以管理员模式打开cmd,如图6-14所示,输入如下命令。

ntdsutil "ac i ntds" "ifm" "create full c:/test" q q

 

图6-14创建快照并复制ntds.dit到本地磁盘

 

该命令会将ntds.dit复制到C盘下的test文件夹中的Active Directory文件夹中,如图6-15所示。

 

 

图6-15查看导出到本地磁盘的ntds.dit

 

将SYSTEM和SECURITY复制到C盘下的test文件夹中的registry文件夹中,如图6-16所示。

 

图6-16查看导出到本地磁盘的SYSTEM

 

将ntds.dit拖回本地后,在目标机器将test文件夹整个删除即可,输入命令:

rmdir /s/q test

Tips:使用Powershell导出ntds.dit

在前面提到过的nishang工具包中,包含名为Copy-VSS.ps1的powershell脚本,我们将该脚本单独提取出来,在域控制器打开一个Powershell窗口,将Copy-VSS.ps1导入并执行该脚本,如图6-17所示,输入命令:

import-module .\Copy-VSS.ps1   /导入该脚本Copy-vss      /执行命令

 

图6-17使用Powershell导出ntds.dit

 

该脚本会将SAM、SYSTEM、ntds.dit复制到Copy-VSS.ps1的同目录中,我们可以将其拖回本地进行处理。

 

05

使用diskshadow导出ntds.dit

 

参照微软官方文档解释:“DiskShadow.exe这款工具可以使用卷影拷贝服务(VSS)所提供的多个功能。默认配置下,DiskShadow.exe使用了一种交互式命令解释器,这里跟DiskRaid或DiskPart比较类似。”事实上,因为DiskShadow的代码是由微软官方签名的,而且在Windows Server 2008、Windows Server 2012和Windows Server 2016中都默认包含了DiskShadow。Diskshadow.exe 也是可以用来操作VSS导出ntds.dit,其功能上类似 vshadow,它同样是被放在了 c:\windows\system32\目录中,而 vshdow 则是被包含在windowsSDK 中的,实战中可能还需要自己想办法传到目标机器上,也就是说,diskshadow 在我们实际渗透过程中更便于在目标系统上开箱即用。diskshadow拥有交互模式和非交互模式两种,交互模式需要登陆远程桌面等图形化管理方式,不利用隐蔽的进行渗透,所以我们一般使用非交互模式进行操作。因为不论是交互模式还是非交互模式都可以使用EXEC通过调取一个脚本文件执行相关命令。

首先查看diskshadow.exe的帮助信息,列出所有选项,输入命令,如图6-18所示。

diskshadow.exe /?

 

图6-18查看diskshadow.exe的帮助信息

 

我们可以使用diskshadow.exe执行命令,这样的操作可以绕过一些防护程序,如我们可以使用diskshadow.exe运行一个calc.exe作为验证,将需要执行的命令输入到一个文本文件,先将exec c:\windows\system32\calc.exe写入C盘目录中的command.txt,如图6-19所示。

 

图6-19查看脚本文件中的内容

 

再使用diskshadow.exe执行该命令即可,输入命令,如图6-20所示。

 

图6-20使用diskshadow.exe运行了一个calc.exe

 

diskshadow.exe同样是可以用来导出ntds.dit的,我们需要将命令写入一个文本文件中,写入内容如下:

set context persistent nowriters        /设置卷影副本add volume c: alias someAlias          /添加新的卷create               /创建新的快照expose %someAlias% k:          /分配虚拟磁盘盘符exec "cmd.exe" /c copy k:\Windows\NTDS\ntds.dit c:\ntds.dit      /复制ntds.dit到C盘delete shadows all           /删除所有快照list shadows all           /列出系统的卷影副本reset             /重置exit              /33退出

使用diskshadow.exe直接加载这个文本文件来达到执行命令的效果,输入命令,如图6-21所示。

diskshadow /s c:\command.txt

 

图6-21执行脚本导出ntds.dit

 

注:在使用diskshadow.exe进行导出ntds.dit操作时,必须将当前域控制器执行shell的路径切换到C:\windows\system32\,否则会引起错误发生,然后使用diskshadow.exe加载这个command.txt即可执行。

创建快照并分配盘符的效果如图6-22所示。

 

图6-22创建分配盘符的虚拟磁盘

 

在导出ntds.dit后,我们可以使用还需要将system转储出来,因为system中存放着解密ntds.dit的密钥,如果没有该密钥,是无法查看ntds.dit中的信息,输入命令,如图6-23所示。

reg save hklm\system c:\windows\temp\system.hive

 

图6-23从注册表导出SYSTEM

 

注:在使用diskshadow.exe进行导出ntds.dit时,切记导出成功后将快照和分配的盘符删除,引起管理员的警觉,以免引起不必要的麻烦。

 

06

总结

 

1.在实战环境中,我们可以在非特权用户权限中diskshadow.exe的部分功能,相比较Vshadow的其他工具,diskshadow.exe更为灵活。

2.diskshadow.exe在执行命令时,需要上传文本文件到目标操作系统的本地磁盘或通过交互式才可以完成,而Vshadow等工具,可以直接执行相关命令,在遇到安全限制更为严格的操作系统中使用,可以大大减少被发现的可能性。

3.在实战中,先将含有需要执行的命令的文本文件写入到远程目标操作系统中,然后使用diskshadow.exe调用文本文件并执行。

4.使用diskshadow.exe导出ntds.dit可以使用wmi对远程主机进行操作,避免图形化登陆。

5.使用diskshadow.exe导出ntds.dit时,务必要在C:\windows\system32\中执行操作。

6.在脚本执行完成后,检查从快照中复制出来的ntds.dit的大小,如果发生错误,可以检查修改脚本再重新执行。

防御:

1.监控卷影拷贝服务(VSS)的使用,检测卷影拷贝活动以及任何涉及到活动目录数据库文件(ntds.dit )的可疑操作行为。

2.监控System Event ID 7036(卷影拷贝服务进入运行状态的标志)的可疑实例以及VSSVC.exe进程的创建事件。

3.监控diskshadow.exe以及相关子进程的进程创建事件。

4.监控客户端设备的diskshadow.exe实例创建,除非是业务需要,否则Windows操作系统中不应该出现diskshadow.exe,可以将其在计算机中删除。

5.在日志中监控新的逻辑驱动器映射事件。

 

 

 

Ms08067安全实验室专注于网络安全知识的普及和培训,是专业的“图书出版+培训”的网络安全在线教育平台,专注于网络安全领域中高端人才培养。

平台已开设Web安全零基础就业,Web高级安全攻防进阶,红队实战攻防特训,Java代码安全审计,恶意代码分析与免杀实战,CTF基础实战特训营,网络安全应急响应,安全工具开发,AI与网络安全等系统培训课程。实验室出版安全图书《Web安全攻防:渗透测试实战指南》、《内网安全攻防:渗透测试实战指南》、《Python安全攻防:渗透测试实战指南》、《Java代码审计:入门篇》等。

扫描客服微信 获取更多课件+学习资料

标签:exe,快照,diskshadow,ntds,绝招,dit,卷影,域控
From: https://www.cnblogs.com/ms08067/p/18093965

相关文章

  • 安装第一台域控制器
    实验介绍:当电脑联入网络时,域控制器首先要鉴别这台电脑是否是属于这个域的,用户使用的登录账号是否存在、密码是否正确。如果以上信息有一样不正确,那么域控制器就会拒绝这个用户从这台电脑登录,相当于一个单位的门卫一样。一:dns1上安装AD域服务打开一台windows虚拟机,改名为dns1......
  • 基于电力智能区域控制器的输电线路在线监测方案
    输电线路是电能输送、分配的重要通道,保障输电线路稳定、安全运行至关重要。由于输电线路长期暴露在自然环境中运行,不仅要经受机械载荷和电力负荷的作用,而且还受到大自然中雨雪、雷击、强风、大气侵蚀和物理外力等对输电线路的破坏。一旦发生故障,不仅会造成经济损失,还会对生产和生......
  • 经纬恒润全栈自研底盘域控制器量产
        随着汽车科技的迅猛发展,汽车EE架构正从分布式到域集中式再到中央计算式快速过渡。整车ECU数量骤减,线束布置不断优化,控制功能不断集中,域控制器作为整车EE架构中的核心控制单元,具有举足轻重的作用。     汽车智能底盘是影响车辆运行过程中安全性、舒适性与稳定......
  • qt 代码添加QScrollArea滚动区域控件,设置滚动区域窗口widget后,滚动区域和滚动条之间有
    QScrollArea#MyqtWidgetStyle_m_scrollArea{background-color:rgb(189,97,99);max-width:190px;/*最大宽度*/min-width:190px;/*最大宽度*/}QWidget#MyqtWidgetStyle_m_scorllWidget{max-width:160px;/*最大宽度*/min-width:160px;......
  • 面向网关、辅助和自动驾驶系统的汽车域控制器参考设计
    面向网关、辅助和自动驾驶系统的汽车域控制器参考设计说明当今道路上的分布式车辆架构使用单个ECU,缺少处理能力和高速接口,无法应对新兴汽车架构的复杂任务和数据移动需求。更高级别的功能需要正确组合DMIPS、数据带宽和功效。Jacinto™7处理器系列中的DRA829V和TDA4VM处......
  • 域控漏洞瞎讲
    域控漏洞初探(乱讲)操作半天shell呢?你别弄了,去机房插U盘吧简单记录一下域控漏洞的原理MS14-068原理1.AS通过PAC校验权限2.在AS认证的时候,可以将include-PAC设置为false,得到一个不含pac的tgt3.自己在tgt外加上md5“签名”的pac,将此数据包发送给tgs4.TGS会使用md5验证pac,同时......
  • 微软AD域控自助改密系统搭建
    自助改密系统研究同事有这么一个需求,希望能够通过一个系统自助改密、以及忘记密码后可以自助重置密码。PS:收了人两瓶可乐,在不把这个系统研究出来有点过分了1.域控配置1.1系统环境信息SSP为SelfServicePassword改密系统DC为windows2016域控主机名OS版本ip地址......
  • cas3.5配置LDAP域控
    一、安装cas3.5点击下载CAS3.5.2:CAS解压缩下载的cas-server-3.5.2-release.zip,在%CAS%\modules文件夹中找到cas-server-webapp-3.5.2.war将其重命名为cas.war将cas.war拷贝到%TOMCAT_HOME%\webapps文件夹下,启动Tomcat,就会看到Tomcat自动将cas.war解压到cas文件夹中......
  • 【Amadeus原创】cas3.5配置LDAP域控
    一、安装cas3.5点击下载CAS3.5.2:CAS解压缩下载的cas-server-3.5.2-release.zip,在%CAS%\modules文件夹中找到cas-server-webapp-3.5.2.war将其重命名为cas.war将cas.war拷贝到%TOMCAT_HOME%\webapps文件夹下,启动Tomcat,就会看到Tomcat自动将cas.war解压到ca......
  • 网络总是宕机,这个绝招必须收藏!
    下午好,我的网工朋友。众所周知,后台服务可以划分为两类,有状态和无状态。高可用对于无状态的应用来说是比较简单的,无状态的应用,只需要通过F5或者任何代理的方式就可以很好的解决。而本篇文章描述的主要是针对有状态的服务进行分析。服务端进行状态维护主要是通过磁盘或内存进行保存......