搞点什么:zerologon一键利用工具
2023-6-26 23:5:59 Author: Gcow安全团队(查看原文) 阅读量:13 收藏

Author:小离-xiaoli

0x01 Intro

  • • 前几天看群友们讨论的时候,讨论到了某攻击队打了zerologon,没恢复DC的密码导致脱域

  • • 脱域的原因一般是DC密码滞空后,AD里面存储的机器密码和lsass存储的密码不一致(摘抄自安全客),导致后面kerbero解密票据不可用,到信任中断

  • • 恢复脱域的机器,需要还原机器密码回去,目前没看到一键利用的工具,从实现zerologon到自动恢复DC机器账户密码,想着没啥事,也就写写脚本吧,因此有了本文

0x02 实现思路

  • • 1、zerologon攻击目标DC,此时DC机器账户密码为空

  • • 2、使用滞空后的DC机器账户验证登陆上ldap服务,获取域管

  • • 3、使用NTDSDump 导出域管凭据(DRSUAPI - DCSync)

  • • 4、使用获取到的域管凭据,登录上DC进行LSADump(bootkey + security),导出机器账户原先的密码

  • • 5、使用获取到的域管,走DCERPC(NetrServerPasswordSet2)恢复DC密码

0x03 开始

  • • 1、第一步:从项目https://github.com/dirkjanm/CVE-2020-1472 开始改造,只需要zerologon和恢复密码的脚本,然后稍做修改,封装一下成为我需要的模块

  •    

  • • 2、第二步,我们需要使用滞空后的DC机器账户验证上ldap服务,这里写了个例子,如下所示

  •     


    ldap 过滤语句如下所示,我们这里取DA + EA组内,已经启用的用户,但是这里有个弊端,后续会讲searchFilter = f"(&(|(memberof=CN=Domain Admins,CN=Users,{baseDN})(memberof=CN=Enterprise Admins,CN=Users,{baseDN}))(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"

  • • 3、第三步,我们到这里就需要开始用DC空密码机器账户做DCSync,这一步也没什么讲的,我们从secretsdump.py里面学习,取我们需要的模块即可,主要就是这个NTDSDump模块

        

  • • 我们可以简化第二步,其实在上一年的更新中,impacket的secretsdump.py就已经支持ldap语法过滤用户了

      

  • • 因此在使用NTDSDump模块的时候,我们可以初始化ldapconnection,编写好ldap过滤,并且传入到NTDSDump里面,此时效果如下

       

  • • 4、第四步,这时候我们要用上面获取到的域管凭据去做LSADump,导出security里面存储的机器账户密码(plain_password_hex),我们只需要用到impacket的LSASecrets模块

        

  • • 在此之前,我们需要验证域管凭据可不可用,再返回可用的用户,过滤掉一些例如密码过期之类的用户

       

  • • 效果如下,这里我们只需要取一个可用的域管账户凭据即可

      

  • • 5、第五步:最后调用dirkjanm的还原密码脚本,使用上面排查过可用域管凭据+上面获取到的hex strings即可恢复DC机器账户的密码

     

  • • 6、完整效果如下

      

0x04 Outro

  • • 项目地址:https://github.com/XiaoliChan/zerologon-Shot

  • • 也许有Bug,但是我实战还没测试过,也请勿用于实战 : ),目标挂了与本人无关

  • • 相关资料:

    • • https://github.com/fortra/impacket

    • • https://github.com/dirkjanm/CVE-2020-1472

    • • [ZeroLogon的利用以及分析-安全客 - 安全资讯平台 (anquanke.com)] - https://www.anquanke.com/post/id/219374


文章来源: http://mp.weixin.qq.com/s?__biz=MzUyNzk2NDcwMw==&mid=2247488503&idx=1&sn=981d34148335e5c65af86c80d3f88b69&chksm=fa76dc87cd015591bc638cd2f20e8c0b3da65e1a51ce7ecb6586028b5fcb7001f6828e1133e3#rd
如有侵权请联系:admin#unsafe.sh