修改windows hash

    渗透测试 lz520520 2年前 (2022-10-07) 617次浏览

    总结

    一般是拿下域控进行操作,建议使用域管权限修改,不会出现账户过期问题

    其他例子

    如果出现过期问题,可在域控上修改用户属性,也可通过dsmod远程修改

    分析

    smbpasswd.py通过纯445利用
    PS:windows使用双引号

    通过域管修改下面用户密码

    修改windows hash

    为啥需要altuser,如下场景用户自身无法修改密码,必须使用管理员用户修改
    bbbd8f7824ca02cd95a8eb787a6c2a9.jpg

    实际是通过SAMR协议进行操作的,如下不同RPC函数的使用场景,上面例子就是使用的第一种

    8665bbfea1cf0909f20b1e967ad93e4.jpg

    问题:修改密码正常,但修改hash,可能会提示过期,从而用户必须修改密码后才能登录,可能会被发现
    这里有人提了pr,回头看下(发现这个pr很早就merge了,但仍然遇到,那就是操作上面有问题了)
    https://github.com/SecureAuthCorp/impacket/pull/381

    可以在域控上修改属性

    微软文档找的如下一个结构体中有这么一个字段PasswordMustChange,回头看看有没用
    af167c86b0393b8d5408a0420bc995d.jpg

    这边有个例子可以通过SamSetInformationUser修改UserAllInformation,只需要将PasswordMustChange改动下就行了
    https://github.com/loong716/CPPPractice/blob/master/AddUserBypass_SAMR/AddUserBypass_SAMR/AddUserBypass_SAMR.c
    https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-samr/29b54f06-8961-43fd-8ecb-4b2a8020d474

    这边有篇文章讲到https://xz.aliyun.com/t/10126
    SamrUnicodeChangePasswordUser2修改就可解决过期限制
    修改windows hash
    还是这段代码,明文修改才会调用hSamrUnicodeChangePasswordUser2,但替换回原来hash的时候,调用的是hSamrChangePasswordUser,所以会出现过期问题。
    这也对应mimikatz里的SetNTLMSamrSetInformationUser)重置以及ChangeNTLMSamrChangePasswordUser)修修改
    修改windows hash


    Security , 版权所有丨如未注明 , 均为原创丨
    转载请注明原文链接:修改windows hash
    喜欢 (1)