黄金票据加密通信

极客

我在网络安全圈摸爬滚打多年,才真正搞懂这门“暗语”

说实话,刚入行那会儿,谁跟我提“黄金票据加密通信”,我脑子里蹦出来的第一个画面居然是一张金光闪闪的门票,上面还写着“VIP通道”……现在想想真是又好笑又丢人,但你别急,今天我就用最接地气的方式,跟你唠唠这个在网络安全圈里让人又爱又恨的东西——黄金票据加密通信,真的,搞懂它之后,我才算真正摸到了内网渗透和域安全的门槛。

黄金票据加密通信

先别慌,咱们从“票据”这俩字聊起

你平时看电影、坐高铁,是不是也得有张票?在Windows的域环境里,Kerberos协议就是那个检票员,而“票据”就是你的通行证,只不过,普通用户的票据是老老实实向域控(KDC)申请来的,有效期一到就作废,可偏偏有一种东西叫黄金票据,它不跟你讲道理——它是由攻击者(或者红队大佬)用域控的KRBTGT账户哈希伪造出来的,只要拿到这个哈希,你就能自己造票,想当谁当谁,想进哪个系统进哪个系统。

那“黄金票据加密通信”又是什么鬼?简单说,就是利用这张伪造的黄金票据,在通信过程中对数据进行加密和身份伪装,你想想啊,正常的通信是“我证明我是我”,而黄金票据加密通信是“我伪造我是任何人,而且加密通道还神不知鬼不觉”,哎,是不是有点谍战片那味儿了?

为什么我当初被它绕晕了?

因为这里头有两个坑,第一,很多人以为黄金票据只能拿来登录,其实不对,它还能配合加密协议去搞横向移动,第二,加密通信这个词太泛了,不是说随便加个密就叫黄金票据加密通信,它特指在Kerberos认证流程里,用伪造的TGT(票据授权票据)去请求服务票据,然后再用服务票据的会话密钥加密后续的RPC或者SMB流量。

我记得有一次,我帮一个客户做内网排查,发现日志里有一堆奇怪的TGS请求,时间戳全是凌晨三点,我当时还嘀咕:“谁这么敬业,半夜加班?”结果一查,好家伙,攻击者就是用黄金票据加密通信在偷数据,那哥们儿连流量特征都做了伪装,要不是我盯着异常加密套件的指纹看,根本发现不了,你说气不气人?

它到底怎么工作的?我尽量说人话

假设你已经拿到了KRBTGT的NTLM哈希(怎么拿的咱不展开,反正不容易)。

  1. 伪造TGT:你用这个哈希加密一个PAC(特权属性证书),里面写上“我是域管”,然后打包成一张黄金票据。
  2. 请求服务票据:你用这张假TGT去跟KDC说:“我要访问文件服务器。”KDC一看票据是自家密钥签的……等等,这里有个细节,KDC其实不会验证TGT里的用户是不是真的存在,它只验证签名,所以只要哈希对,它就乖乖发服务票据。
  3. 加密通信:拿到服务票据后,里面的会话密钥就可以用来加密你和目标服务器之间的通信了,这时候,你发过去的指令、传的文件,全都是加密的,IDS(入侵检测系统)看了直摇头。

哎,你说这设计是不是有点“信任过度”了?但没办法,Kerberos就是这么设计的,所以黄金票据加密通信才这么危险——它不破坏加密,反而利用加密来隐藏自己。

我见过最离谱的一次实战

有一回,一个朋友的公司被钓鱼了,攻击者进来之后,没急着扫内网,而是先偷了KRBTGT哈希,然后就开始搞黄金票据加密通信,他怎么做的呢?他把自己伪装成备份服务器,每天凌晨用加密通道往外面传数据库,整整两周,安全团队愣是没发现,为啥?因为流量看起来就像正常的域内备份,加密套件也是Windows原生的。

后来怎么发现的?说出来你都不信——是因为那个攻击者太贪了,传了一个800G的日志文件,把带宽占满了,运维大哥半夜被报警吵醒,骂骂咧咧地抓包,这才露了馅,所以你看,再牛的加密通信,也架不住人性里的贪婪啊,哈哈。

那我们该怎么防?

别急,我不是来吓你的,虽然黄金票据加密通信听起来很吓人,但也不是没法防,我总结了几条实战经验:

  • 定期重置KRBTGT密码:微软建议至少每180天换一次,而且换两次(因为历史票据还有效),你别嫌麻烦,这招能直接把黄金票据的“保质期”砍掉一大半。
  • 监控异常的TGS请求:尤其是那些加密类型奇怪、请求频率诡异、或者来自非域控机器的TGT请求,我跟你说,黄金票据加密通信再隐蔽,它也改不了Kerberos协议本身的字段。
  • 启用高级审计:比如Windows的“审核Kerberos服务票证操作”,能帮你抓到不少蛛丝马迹。
  • 最小权限原则:别让普通用户能随便拿到KRBTGT哈希,域控的备份、DCSync权限,都得看紧了。

哦对了,还有一点特别重要——别以为用了AES加密就万事大吉,黄金票据加密通信照样能用AES,因为攻击者手里有哈希,他就能生成合法的加密密钥,所以啊,加密不是万能药,身份验证的根儿要是烂了,再好的锁也白搭。

最后跟你掏心窝子说几句

我写这篇文章,真不是教你去做坏事,而是因为我在这个圈子里见过太多人,一听到“黄金票据”就慌,或者一听到“加密通信”就觉得安全,其实啊,安全这玩意儿,从来都是道高一尺魔高一丈,你只有真正理解黄金票据加密通信的原理,才能知道怎么防、怎么查、怎么在出事儿之后快速止血。

哎,不知不觉唠了这么多,你要是觉得有用,就点个赞,或者转发给那个还在用“默认KRBTGT密码三年不换”的运维兄弟,别问我怎么知道这种人存在的……说多了都是泪啊。

好了,今天就到这儿,下次咱们聊聊“白银票据”和“黄金票据”到底有啥区别,保证比这次还精彩,拜拜啦!

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

目录[+]