黄金单子 --- kerberos学习记录

打印 上一主题 下一主题

主题 972|帖子 972|积分 2916

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x

Kerberos协议是怎么工作的

这里起首要搞懂几个概念:

  • 认证服务器(Authentication Server,AS):负责初次身份验证和颁发TGT(Ticket Granting Ticket)给用户。用户通过AS向Kerberos服务器发送身份验证请求,并在验证通过后获取TGT。
  • 授权票证颁发服务器(Ticket Granting Server,TGS):负责颁发服务票证(Service Ticket)给用户,以便用户可以访问特定的服务。用户利用TGT向TGS发送服务请求,并在TGS验证通过后获取服务票证。
  • 客户端:需要访问特定服务的用户。
  • 服务端:提供特定服务的服务器。
  • 答应证授予服务(Key Distribution Center,KDC):AS和TGS的组合,负责颁发TGT和服务票证。在一些Kerberos实现中,KDC是AS和TGS的逻辑实体。
  • 加密算法:Kerberos利用对称加密算法,如DES(Data Encryption Standard)或AES(Advanced Encryption Standard)来掩护用户凭据和票证的安全性。
简单了解以上概念,接下来就是 Kerberos协议的工作流程:
这个流程有点像买票,客户端前往认证服务器(AS)请求认证是安全的人员。

  • 认证请求:这个时候客户端需要向Kerberos认证服务器请求一个单子,以证实其身份。客户端向Kerberos认证服务器发送一个KRB_AS_REQ
  • 在认证服务器(AS)接收到客户端的请求后,会起首验证客户端的身份。认证服务器会检查客户端的身份是否存在(对比服务器内里的数据是否有客户端的名字),并且验证客户端发送的请求是否有效(校验时间戳是否超时)。授权单子:Kerberos服务器收到认证请求后,生成一个称为"授权单子"(Ticket Granting Ticket,TGT)的加密令牌。该令牌包罗了客户端的身份信息和一个用于与服务器进行通信的"单子加密密钥"(Ticket-Granting Ticket Session Key,TGS Session Key)。
  • 授权单子传输:Kerberos服务器将TGT加密后发送给客户端。
  • 授权单子校验:客户端收到TGT后,利用自己的密码解密TGT,提取出TGS Session Key,并用TGS Session Key加密一个称为"授权单子校验"(Authenticator)的令牌,发送给Kerberos服务器。
  • 服务单子请求:Kerberos服务器收到Authenticator后,利用客户端的TGS Session Key解密Authenticator,验证客户端的身份。验证乐成后,服务器利用自己的密钥数据库中的服务器密钥解密Authenticator,提取出客户端的身份信息。
  • 服务单子生成:如果认证乐成,Kerberos服务器生成一个称为"服务单子"(Service Ticket,ST)的加密令牌。该令牌包罗了客户端的身份信息和一个用于与目标服务器进行通信的"单子加密密钥"(Service Session Key)。
  • 服务单子传输:Kerberos服务器将ST加密后发送给客户端。
  • 服务单子校验:客户端收到ST后,利用自己的密码解密ST,提取出Service Session Key,并用Service Session Key加密一个称为"服务单子校验"(Authenticator)的令牌,发送给目标服务器。
  • 服务访问:目标服务器收到Authenticator后,利用Service Session Key解密Authenticator,验证客户端的身份。如果验证乐成,则客户端被授权访问目标服务器提供的服务。
一、黄金单子

黄金单子攻击的基本思想是利用域控制器上的域账户(通常是Kerberos TGT凭证)的加密密钥,生成合法的Kerberos单子,从而获得对域内资源的未经授权的访问权限。
利用条件

黄金单子攻击的利用条件如下:
1.攻击者必须能够获得域控制器的NTLM哈希。
2.攻击者必须拥有域内任意计算机的管理员权限。
3.攻击者必须能够与目标计算机建立有效的Kerberos单子。
简单来说就是需要一下几个东西:
1.DC密钥分发中央账户krbtgt的hash值
2.域名
3.域的SID值(末了4位不要:说的就是”-500“)
4.需要伪造的用户(比如admin)
利用步调

简单来说在一下步调:

  • 获取域控制器账户散列值(hash):起首获取域控制器上krbtgt域账户的散列值,这可以通过各种手段如哈希转储、域控制器上的缓存等获得。这个krbtgt的账户的只在域控中存在,可以先用 net user 命令检察是否有krbtgt账户。利用 systeminfo 命令检察域名。利用 whomai 命令检察域的sid。可以利用mimikatz.exe工具检察krbtgt的hash值。
  1. lsadump::dcsync /domain:域名 /user:krbtgt
复制代码
这里要求肯定要是管理员账户才能有用。

  • 删除本机域内其他机器的单子
  1. kerberos::purge
复制代码

  • 生成黄金单子:黄金单子是伪造的Kerberos单子,包罗了有效的身份验证和授权信息。注入黄金单子:攻击者将生成的黄金单子注入到目标域环境中,通常通过域控制器的单子注入功能或修改域内工作站的单子缓存,使其接受并信托黄金单子。获取高权限访问:一旦黄金单子被注入,攻击者就可以利用任意身份进行域内访问,绕过身份验证过程。攻击者可以获取域内资源的高权限访问,并且可以模仿任何用户进行活动,而这些活动都将被视为合法。
  1. kerberos::golden /user:administrator /domain:域名 /sid:SID值 /krbtgt:NTLM-HASH /ptt
复制代码

  • 实行横向移动
  1. psexec.exe \\域控名 cmd.exe
  2. shell dir \\域控名\c$
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

冬雨财经

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表