NTDS.dit密码提取工具

admin 2022年3月25日21:58:19评论125 views字数 1085阅读3分37秒阅读模式

受不了NTDSXTract的龟速,于是用quarkspwdump改了个能读取system.hiv的离线版提取工具,顺便修复了个坑爹的BUG。

ntds.dit其实就是个esent数据库,微软本身就有一系列的文档化api能够操作这个数据库,其链接是:

https://msdn.microsoft.com/en-us/library/windows/desktop/gg294074.aspx

既然是windows api,那么效率自然不用提了:本地测试300M的ntds.dit,内含近万条HASH。用512M内存的ubuntu虚拟机跑了将近一个小时,而在相同配置的2003虚拟机上此工具仅用了5秒钟就处理完毕,相差可谓天上地下。

windows的东西么,还是交给windows自己的好。

附件内NTDSDump.exe是导出工具,其命令行如下:

ntdsdump.exe <-f ntds.dit> <-k HEX-SYS-KEY | -s system.hiv> [-o out.txt] [-h] [-t JOHN|LC]
-f ntds.dit路径
-k 可选的十六进制格式的SYSKEY
-s 可选的system.hiv路径
-h 导出历史密码记录
-t 导出格式,LC或JOHN

-o 导出到指定文件中

SYSKEY实际上就是HKLMSYSTEMCurrentControlSetControlLsa下面几个子项的类型信息,可以用RegQueryInfoKey查询出来。

附件里面提供了两个导出工具,getsyskey_c.exe由vc6编译,其源码为getsyskey.cpp,用vc6直接打开编译即可。

getsyskey_cs.exe由.net2.0编译,源码为getsyskey.cs,用csc直接编译即可。

已知错误:

JetAttachDatabase() failed
原因:数据库需要修复,执行esentutl /p /o ntds.dit进行修复。

附一张本地虚拟机的测试图:

NTDS.dit密码提取工具
载地址:ntdsdump.zip

百度网盘:http://pan.baidu.com/s/1gdENw6f

解压密码见注释。

另:改完之后又看了看quarkspwdump的github,发现有人提交了个pull request:

https://github.com/quarkslab/quarkspwdump/pull/3

其添加了一个加载system.hiv的功能,调用了RegLoadKey。而这个API必须要过UAC才行,所以用起来还是挺别扭的,不如这个直接读取文件进行处理来得痛快。


本文始发于微信公众号(关注安全技术):NTDS.dit密码提取工具

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月25日21:58:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   NTDS.dit密码提取工具https://cn-sec.com/archives/503317.html

发表评论

匿名网友 填写信息