Kerberos攻分

极客

本文目录导读:

  1. 第一波:Pass the Ticket(票据传递),这也太丝滑了吧!?
  2. 第二波:Kerberoasting,这杯“烤肉”真烫嘴!
  3. 第三波:白银票据 vs 黄金票据,你选哪个?

Kerberos攻防实战手记:我如何一步步“骗”过认证中心的眼泪

嘿,各位网安圈的老铁们,大家好呀!今天咱们不聊那些高大上的理论,就来点接地气的实战干货——Kerberos攻防,哎呀,说到这个,我真是又爱又恨,爱的是它那复杂的加密协议设计得真精巧,恨的是,一旦被攻破,那感觉就像看着自家保险柜被撬开,心里哇凉哇凉的,好了,废话不多说,咱们直接进入正题,聊聊我那次“惊心动魄”的模拟攻击经历吧。

首先呢,咱得搞清楚Kerberos是啥玩意儿,通俗点讲,它就是域环境下的“身份证发放中心”,你想进公司大门(访问服务),得先找前台(AS)办个临时通行证(TGT),然后拿着通行证去换各个房间的钥匙(ST),本来这设计挺完美的,对吧?可问题就出在,这“前台”有时候太信任人了!哎,这就给了咱们可乘之机。

第一波:Pass the Ticket(票据传递),这也太丝滑了吧!?

记得那次是在一个攻防演练项目里,我拿到了一台普通域内主机的权限,常规思路是提权、横向,但速度太慢了,我灵机一动,先试试内存里能不能捞点“宝贝”,在管理员权限的CMD下,我敲下了那句“咒语”:

sekurlsa::tickets /export

嘿,你猜怎么着?还真让我导出几个.ticket文件!那一刻,我差点没笑出声来——这就是传说中的Kerberos票据传递攻击啊!我只需要用mimikatz把一张合法的TGT注入到当前会话:

kerberos::ptt ticket.kirbi

直接访问目标服务器,就跟用自己身份证刷门禁一样,畅通无阻!哇塞,那个感觉,真的,比吃了蜜还甜,因为它不需要密码,也不需要破解,只要票据没过期,我就能“潜伏”在合法身份里好一阵子。这种攻击手法,在红队眼里简直就是“居家旅行,杀人越货”的必备良药啊!

痛快归痛快,防御方要是启用了PAC(特权属性证书)校验,或者做了票据到期时间缩水,那我的美梦就瞬间破碎了,所以啊,别高兴太早,一招鲜可吃遍不了天。

第二波:Kerberoasting,这杯“烤肉”真烫嘴!

既然票据传递有风险,那我换个思路,咱搞不到TGT,还不能搞点服务票据(ST)吗?这时候,Kerberoasting闪亮登场!原理特别“朴实无华”——只要域里某个服务账户的密码强度不高,我就可以通过申请该服务的ST,然后把ST拿回本地,用GPU暴力破解那个加密的Hash。

具体操作我记忆犹新:我用一个普通的域账号,在PowerShell里执行:

Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList "cifs/target-server.domain.com"

或者更简单,用Rubeus:

Rubeus.exe kerberoast /stats
Rubeus.exe kerberoast

拿到那个TGS票据文件,也就是所谓的“烤肉”,然后用hashcat跑一跑,结果嘛,唉,只能说那个运维兄弟设置的密码是“P@ssw0rd”,我擦,真没点挑战性!不到五分钟,我就拿到了明文密码,啊哈,有了服务账户密码,那可就不是简单的用户权限了,往往能直接控制一整个应用服务器集群。这Kerberos攻击思路,关键就在于服务的SPN(服务主体名称)必须可被普通用户查询,你说气不气人?防御上如果不用组策略禁用RC4加密,那这台机器基本就是“裸奔”状态。

第三波:白银票据 vs 黄金票据,你选哪个?

再后来,我在这次攻防中又走了更深一步,当我不小心拿到了域管账户的Hash(或者krbtgt的Hash)后,那场面可就精彩了。

  • 黄金票据(Golden Ticket):这玩意儿就是终极作弊器,我直接用krbtgt的Hash + 域SID,在本地就能伪造一张永不过期的TGT,有了它,我就能给域内任意用户(包括虚构用户)签发TGT,当时我内心的OS是:“嘿嘿,整个域都是我的后花园,想去哪逛就去哪逛!” 那种掌控感,简直就像喝了一口82年的拉菲,爽得冒泡!
  • 白银票据(Silver Ticket):与黄金票据不同,这玩意儿针对性更强,我只需要拿到某个服务账户的Hash,就能伪造针对该服务的ST,虽然权限被限制在单一服务上,但它隐蔽性超强,因为不经过KDC,连日志都可能没有完整记录,我当时用它访问了个文件服务器,特别特别低调,就像是穿了隐形衣一样。

写到这儿,我不禁叹了口气。Kerberos攻防之所以这么精彩,就在于它像是一门“信任的博弈”,我们攻击者总是在想办法利用系统预设的“信任关系”偷偷钻空子,而作为防御者,却要处处设防,比如严格监控事件ID 4769(Kerberoasting预警)、4768(TGT申请)、以及4624的异常登录,简直是心力交瘁啊!

朋友们,咱们做安全的不就是要这么“痛并快乐着”吗?每一次对抗都是一次进步,这次我演“坏人”很顺手,下次说不定就得换我死守这几个关键节点了,所以我真心建议,如果你也对Kerberos攻防里的细节着迷,想要深入理解那些票据字段,或者是想搞懂怎么优雅地阻断这些攻击路径,那我们就得多交流交流心得。

毕竟,一个人闷头踩坑太孤单,不如大家一起组团升级打怪!如果你们在学习网络安全的路上想找战友,记得可以加QQ:3382688692,咱们一起探讨,一起进步,让那些键盘上的“攻防艺术”不再仅仅是冰冷的命令,而是充满智慧与博弈的战场!

Kerberos攻分

好啦,今天的“Kerberos攻防手记”就先聊到这儿,这其中的酸甜苦辣,不知道各位老铁有没有同感?任何攻击手法都建立在防御的疏忽之上,咱们下回再见,接着聊那些让人又爱又恨的协议漏洞!拜拜啦您嘞!

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码