近日,安全專家在Windows的Kerberos身份驗(yàn)證系統(tǒng)中發(fā)現(xiàn)了一個(gè)“極具破壞性”的漏洞。去年就曾曝出該系統(tǒng)中的一個(gè)相似漏洞,導(dǎo)致攻擊者控制整個(gè)網(wǎng)絡(luò),包括安裝程序和刪除數(shù)據(jù)。
Kerberos協(xié)議
Kerberos 是一種網(wǎng)絡(luò)認(rèn)證協(xié)議,其設(shè)計(jì)目標(biāo)是通過(guò)密鑰系統(tǒng)為客戶機(jī) / 服務(wù)器應(yīng)用程序提供強(qiáng)大的認(rèn)證服務(wù)。該認(rèn)證過(guò)程的實(shí)現(xiàn)不依賴于主機(jī)操作系統(tǒng)的認(rèn)證,無(wú)需基于主機(jī)地址的信任,不要求網(wǎng)絡(luò)上所有主機(jī)的物理安全,并假定網(wǎng)絡(luò)上傳送的數(shù)據(jù)包可以被任意地讀取、修改和插入數(shù)據(jù)。在以上情況下, Kerberos 作為一種可信任的第三方認(rèn)證服務(wù),是通過(guò)傳統(tǒng)的密碼技術(shù)(如:共享密鑰)執(zhí)行認(rèn)證服務(wù)的。
漏洞原理
通過(guò)對(duì)Kerberos的分析發(fā)現(xiàn)以下幾點(diǎn)問(wèn)題:
1、密鑰來(lái)源于用戶密碼;2、密鑰存儲(chǔ)在內(nèi)存中;3、使用RC4加密算法的密鑰沒(méi)有進(jìn)行加鹽處理,NTLM哈希值即為RC4密鑰;4、KDC(密鑰分配中心)使用的密鑰來(lái)源于krbtgt用戶密碼,盡管該賬戶已被禁用,并且從未被使用;5、krbtgt用戶密碼很少更改(只有當(dāng)域功能級(jí)別改變時(shí)才有可能會(huì)更改),且更改后的舊密碼仍然可用;6、TGT票據(jù)使用krbtgt密鑰進(jìn)行加密,PAC數(shù)據(jù)使用krbtgt密鑰進(jìn)行進(jìn)行簽名,并且系統(tǒng)很少會(huì)驗(yàn)證PAC數(shù)據(jù);7、Kerberos在用戶登錄20分鐘后才會(huì)驗(yàn)證用戶賬戶。基于以上原因,攻擊者可借助krbtgt密碼繞過(guò)身份驗(yàn)證系統(tǒng),獲取管理員訪問(wèn)權(quán)限,進(jìn)而執(zhí)行一系列管理員操作(如創(chuàng)建用戶,下載文件等),還可以根據(jù)密碼為用戶創(chuàng)建響應(yīng)的密鑰。
緩解
據(jù)悉,該漏洞不能修復(fù),因?yàn)檫@些都只是Kerberos的工作方式,唯一的解決方法是使用微軟的Credential Guard程序阻止證書(shū)存儲(chǔ)在內(nèi)存中。為了防止Windows由于Kerberos遭到攻擊,用戶需要隨時(shí)關(guān)注并保護(hù)特權(quán)帳戶,因?yàn)槠渲泻芸赡艽嬖诠粽邉?chuàng)建的賬戶。