非约束委派新手入门

极客

天啊,这玩意儿终于被我搞懂了!

开头先吐槽两句

说实话,刚接触“非约束委派”这个概念的时候,我整个人是懵的!😅 什么鬼?又是域控?又是Kerberos?又是委派?每一个字我都认识,连在一起就像天书一样!你是不是也跟我一样,翻了很多文档,看了好多视频,结果还是云里雾里的?别急,今天咱们就一起把这玩意儿啃下来!

非约束委派新手入门

非约束委派到底是个啥?

哎呀,咱们先打个比方吧!你想象一下,你是一家公司的老板(域控),你有个秘书(服务账户),有一天,你让秘书去帮你取一份文件(访问某台服务器),但是呢,你给了秘书你的门禁卡(TGT票据),告诉他说:“你拿着我的卡,想去哪儿就去哪儿,不用每次都回来问我!”

这种做法啊,在域环境里就叫“非约束委派”!听着是不是挺吓人的?对!因为它确实挺危险的!😱 这意味着服务账户可以模拟任何用户去访问任何资源,而且这还不是一次性的,是持续有效的!

新手最容易踩的坑

哎呦喂,说到这个我就来气!我当初刚接触的时候,差点就把生产环境的域控给配置错了!还好后来及时刹住车了,不然后果不堪设想!

坑一:以为非约束委派很安全

兄弟,你可千万别这么想!非约束委派是最不安全的委派方式好吗!它把用户的TGT直接缓存到服务的内存里,这意味着只要这个服务被攻破,整个域的安全就基本凉凉了!我之前看到一个报道,说是某大厂就因为非约束委派配置不当,导致整个内网被拖库了,想想就后背发凉!

坑二:把所有服务都设置成非约束委派

有些人图省事,不管什么服务,全都设置成非约束委派,哇塞,这不是等于把家门钥匙挂在门口嘛!正确的做法是,能用约束委派或基于资源的约束委派,就绝不用非约束的!实在没办法要用,也得把服务账户的权限限制得死死的!

怎么配置非约束委派?(实操来了!)

好啦,说了这么多负面的东西,也得教教你怎么操作对吧!毕竟“新手入门”嘛,咱们还是得动手试试的!

第一步:打开Active Directory用户和计算机

找到你要配置的服务账户,右键→属性→“委派”选项卡,哎,如果你找不到“委派”选项卡,别慌!那是因为你还没给这个账户设置SPN(服务主体名称),得先在命令行里敲 setspn -A HTTP/服务器名 账户名 来注册一下,然后刷新属性窗口就能看到了!

第二步:勾选“信任此用户/计算机对任何服务执行委派”

就是这个选项!勾上它,保存,完事儿!就这么简单!—千万别高兴得太早,这可不是什么好事情,你等于把整个域的安全都赌在这个账户上了!

检测和防范:咱也不全是小白

配置好了以后,怎么验证呢?打开cmd,输入:

klist -li 0x3e7

看看有没有相关的TGT缓存,如果能看到一大堆票据,那说明你的非约束委派正在工作,如果你是在生产环境,我劝你还是赶紧用 setspn -D 把这个配置给撤了!😨

安全建议(敲黑板!):

  1. 能不用就不用! 真的,除非你确定这是唯一的选择,否则打死我都不会推荐你用非约束委派!
  2. 监控账户行为,如果发现服务账户有异常行为,比如访问了不该访问的资源,那肯定是被攻击了,赶紧隔离!
  3. 启用Kerberos的PAC验证,这能有效防止票据伪造攻击。

最后再唠叨几句

哎呀,写到这里,我回想了一下自己当初踩的那些坑,真是又好笑又心酸!说实话,在域安全这块儿,非约束委派就是一把双刃剑,用得好,它能解决很多复杂的多跳认证问题;用得不好,那就是给攻击者开了一扇超级无敌大的后门!

作为一个过来人,我真诚地建议你:多多了解约束委派和基于资源的约束委派,这两者比非约束委派安全多了!非约束委派这玩意儿,真的只适合在实验环境里玩,生产环境?能躲多远躲多远!

好啦,今天的“非约束委派新手入门”就聊到这里!你有没有遇到过跟委派相关的奇葩问题?欢迎在评论区里跟我吐槽!咱们一起学习一起进步嘛!加油!💪

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

目录[+]