所有信用歸功於:
- https://www.trustedsec.com/blog/i-wanna-go-fast-really-fast-like-kerberos-fast/
- https://syfuhs.net/kerberos-fast-armoring
這裡的 FAST 並不是字面意義的 fast,而是Flexible Authentication Secure Tunneling
的首字母縮寫,它的出現主要是為了解決域內用戶密碼被離線破解的問題
大家可能都聽說過 kerberoasting,這個技術主要用於離線爆破服務帳戶的明文密碼,以及 asrep-roast,用於離線爆破未開啟 pre-auth 認證的普通用戶的明文密碼
這兩種爆破都基於同一個事實:數據包被用戶密碼派生出來的哈希加密,並且我們可以控制加密算法為最弱的 RC4
對於計算機帳戶,就不存在這種問題,因為計算機帳戶的明文密碼是很長的一串隨機字符串,且複雜度極高,這是我的測試環境中的機器帳戶的明文密碼:
可以看到,相當的複雜,離線爆破是不可能的,就算你真的爆出來了,密碼也已經失效了,機器帳戶默認情況下一個月自動更新一次密碼
而啟用了 FAST 之後,在進行 kerberos 認證的時候,會先使用機器帳戶從 DC 獲取一個 key,使用這個 key 來保護用戶認證階段的數據,這樣即使離線爆破,獲得的也只是這個 short-term key,更何況你還不一定爆的出來,這種 key 長度一般都很長