原文:https://www.pentestgeek.com/2013/01/10/psexec_command-not-your-daddys-psexec/
由于禁止了Volume Shadow copy服务以及远程桌面服务,但是由于拥有管理员权限,所以使用Metasploit中的psexec_command模块
psexec_command 模块类似sysinternals psexec,允许用户使用适当的口令来执。
下面是我如何使用psexec_command 在DC中启动服务,获得ntds.dit以及系统文件的步骤。
下图是我的W2k3 DC测试环境,VSS被禁止了。这是如果试图创建volume shadow copy将会失败,甚至是vssadmin命令也会失败。
可以在psexec_command中测试“vssadmin list shadows”。命令如下所示,失败。
需要好几个命令才能启动服务,然后准备创建volume shadow copy。首先需要更改服务启动类型,然后启动服务。
Volume Shadow Copy服务启动,准备就绪
这时会有几个选择,我倾向于使用smbexec的抓取hash功能。r3dy写的ntds_grab是一个很好的msf模块。它的最大的好处是可以在psexec_command 模块中直接完成功能。
首先需要创建包含ntds.dit文件的volume shadow copy。它通常是C:\Windows\NTDS\,但是也有许多例外。找到它的最简单办法是mount成共享,然后查找NTDS目录。
然后需要获得ntds.dit文件。最简单的方法是通过"copy"命令。需要Shadow Copy Volume Name的值作为ntds.dit的路径前缀。例如
\\?\GLOBALROOT\Device\HardDiskVolumeShadowCopy5\Windows\NTDS\ntds.dit
同时需要记住Shadow Copy ID因为当我们恢复DC到原始状态时我们需要使用它来删除我们创建的shadow copy。
下面命令用来拷贝文件到C:\Windows\Temp文件夹。我们添加额外的'\'来确保命令在DC上恰当的执行。
要从ntds.dit中获得hashes,你还需要获得SYSTEM的注册表值,注册表值可以通过reg.exe获得。下面的命令保存SYSTEM hive到Windows 的Temp文件夹sys文件中
现在我们可以从我们的系统中mount一个驱动到C$共享文件夹中,然后把文件移到我们本地。在移到本地后一定要删除DC上的这些文件。这时可以使用libesedb(
http://code.google.com/p/libesedb/)或NTDSXtract(
http://www.ntdsxtract.com/en/ntdsxtract.html)工具来获得AD 哈希
然后我们需要开始恢复DC到原始状态。
下图展示具体步骤:
vss-start.rc:
use auxiliary/admin/smb/psexec_command
set command sc config vss start= demand
set rhosts IP_ADDRESS
set smbuser USERNAME
set smbpass PASSWORD or HASH
set smbdomain DOMAIN or WORKGROUP
run
set command net start vss
run
vss-stop.rc:
use auxiliary/admin/smb/psexec_command
set command net stop vss
set rhosts IP_Address
set smbuser USERNAME
set smbpass PASSWORD or HASH
set smbdomain DOMAIN or WORKGROUP
run
set command sc config vss start= disabled
run