美文网首页WEB渗透与网络安全
NTDSUTIL+HashCat爆破AD域密码文件

NTDSUTIL+HashCat爆破AD域密码文件

作者: 半夜菊花茶 | 来源:发表于2020-02-03 16:04 被阅读0次

    NTDSUTIL是一个命令行工具,它是域控制器生态系统的一部分,其目的是为了使管理员能够访问和管理Windows Active Directory数据库,正义的系统管理员可以通过这个工具导出AD保存的所有域账号口令的哈希值。Hashcat是自称世界上最快的密码恢复工具。将这两个工具组合使用,我们可以在用户无感知的情况下完成AD域账号口令的弱密码检查(爆破);
    另一方面,渗透测试人员和redteam可以用它来拍摄现有ntds.dit文件的快照,该文件可以复制到新位置以进行离线分析和密码哈希的提取。

    0x01 环境准备

    0x02 域密码hash导出

    在域控服务器上执行以下命令(需要管理员权限),稍等片刻会在C:\ntdsutil生成新的文件夹

    ntdsutil
    activate instance ntds
    ifm
    create full C:\ntdsutil
    quit
    quit
    

    将生成两个新文件夹:Active Directory和Registry。NTDS.DIT文件将保存在Active Directory中,SAM和SYSTEM文件将保存到Registry文件夹中。


    ntdutils.png

    0x03 域密码hash提取

    Impacket是一组python脚本,可用于执行各种任务,包括提取NTDS文件的内容。impacket-secretsdump模块可以从NTDS导出的数据库文件中提取hash,这个模块在kali里面有。你可以将impacket工程下载下来然后直接使用impacket-secretsdump脚本,也可以使用kali自带的impacket模块,两者的效果是一模一样的,这里以kali为例。
    将上一步提取的ntds.ditSYSTEMcopy到kali的 /root目录,然后执行:

    impacket-secretsdump -system /root/SYSTEM -ntds /root/ntds.dit LOCAL
    
    img

    也可以直接下载impacket工程 https://github.com/SecureAuthCorp/impacket

    提取内容的格式为<username>::RID::<LM Hash>::<NT Hash>:::

    该hash的生成方法:

    1. 将明文口令转换成十六进制的格式
    2. 转换成Unicode格式,即在每个字节之后添加0x00
    3. 对Unicode字符串作MD4加密,生成32位的十六进制数字串

    0x04 暴力破解NTLM hash

    通过上一步,我们获取了所有账号密码的hash值,接下来我们将最后一列32位hash提取出来保存到win2.hash,并使用HashCat爆破hash

    将准备好的字典ptemp.txt、需要破解的hash值文件win2.hash复制到oclHashcat32程序所在文件夹下,执行一下命令进行破解:

    hashcat -m 1000 -a 0 -o winpass1.txt --remove win2.hash ptemp.txt

    爆破成功的密码会输出到制定文件,如下图所示,然后通过key值就可以找到是哪个账号的密码被爆破了,从而达到弱口令检查的目的。


    image.png

    参数说明:
    “-m 1000” 表示破解密码类型为“NTLM”;
    “-a 0”表示采用字典破解;
    “-o”将破解后的结果输出到winpass1.txt;
    “--remove win2.hash”表示将移除破解成功的hash;
    “ptemp.txt”为密码字典文件。

    暴力破解Linux密码hash文件

    最后再顺便提一个使用HashCat做Linux系统口令爆破的方法。Linux系统中有一个用户密码配置文件/etc/shadow,里面存放着用户名,Hash加密后的值,最后一次修改密码的日期。

    shadow.png
    • root是用户名

    • $6 是表示一种类型标记为6的密码散列算法,这里指SHA-512哈希算法

    • oKqzH.CY指的是加盐(Salt)值

    • 08TTiAhyN0vEIRPN7N8cGIkq2Yxf281AwjUmVjI5x2cqqOzFWRde6h32ibzXz8ZW0PBl8fgp0ZmYH1zSQXSYk/ 是密码的hash

    我们使用Hashcat破解的时候需要拷贝上述字符串中的一部分,即算法+盐+hash,如下:

    $6$oKqzH.CY$08TTiAhyN0vEIRPN7N8cGIkq2Yxf281AwjUmVjI5x2cqqOzFWRde6h32ibzXz8ZW0PBl8fgp0ZmYH1zSQXSYk/
    

    将hash字串复制到文件win2_hash.txt,在hashcat中选择hash类型码为1800也就是SHA-512(Unix),然后运行破解

    hashcat -m 1800 -a 0 -o winpass1.txt --remove win2.hash ptemp.txt
    
    image.png

    相关文章

      网友评论

        本文标题:NTDSUTIL+HashCat爆破AD域密码文件

        本文链接:https://www.haomeiwen.com/subject/kcvhxhtx.html