歡迎來到 黑吧安全網 聚焦網絡安全前沿資訊,精華內容,交流技術心得!

Kerberos協議探索系列之掃描與爆破篇

來源:本站整理 作者:佚名 時間:2019-02-25 TAG: 我要投稿

Kerberos是一種由MIT(麻省理工大學)提出的一種網絡身份驗證協議。它旨在通過使用密鑰加密技術為客戶端/服務器應用程序提供強身份驗證。
在了解Kerberos的過程中,發現很多網站上的相關文章有一些是機器直接翻譯過來的,也有一些寫的比較優秀的文章,但是實操性比較弱,可能第一次了解Kerberos的同學會不知道怎么上手。所以本文主要是通過更詳細的實驗結合原理來說明與Kerberos相關的一些攻擊手法。
本文將分為三篇。第一篇也就是這一篇的內容主要包括域環境和Kerberos協議的說明以及Kerberoasting的攻擊方式。第二篇主要包括MS14068漏洞和Kerberos票據的利用說明。第三篇的內容主要說明關于Kerberos委派的攻擊方式及原理。

 
0x01域環境
由于Kerberos主要是用在域環境下的身份認證協議,所以在說之前先說下域環境的一些概念。首先域的產生是為了解決企業內部的資源管理問題,比如一個公司就可以在網絡中建立一個域環境,更方便內部的資源管理。在一個域中有域控、域管理員、普通用戶、主機等等各種資源。
在下圖中YUNYING.LAB為其他兩個域的根域,NEWS.YUNYING.LAB和DEV.YUNYING.LAB均為YUNYING.LAB的子域,這三個域組成了一個域樹。子域的概念可以理解為一個集團在不同業務上分公司,他們有業務重合的點并且都屬于YUNYING.LAB這個根域,但又獨立運作。同樣TEST.COM也是一個單獨的域樹,兩個域樹YUNYING.LAB和TEST.COM組合起來被稱為一個域林。

本文就以根域為YUNYING.LAB的這個域來演示,YUNYING.LAB的域控是DC.YUNYING.LAB,子域NEWS.YUNYING.LAB和DEV.YUNYING.LAB的域控分別為NEWSDC.NEWS.YUNYING.LAB和DEVDC.DEV.YUNYING.LAB。
上面說的都是FQDN(Fully Qualified Domain Name)名稱,也就是全限定域名,是同時包含主機名和域名的名稱。
例:DC.YUNYING.LAB中DC為主機名,域名為YUNYING.LAB,那他的FQDN名稱就是DC.YUNYING.LAB。

如何搭建域環境以及如何建立子域可參考網上的一些說明,這里放兩個鏈接作為參考。
https://jingyan.baidu.com/Article/19192ad8e1593ae53e5707be.html
http://blog.51cto.com/vbers/2058306
本域中采用的操作系統為Windows Server 2008 R2+Windows 7。
 
0x02Kerberos簡介
在Kerberos認證中,最主要的問題是如何證明“你是你”的問題,如當一個Client去訪問Server服務器上的某服務時,Server如何判斷Client是否有權限來訪問自己主機上的服務,同時保證在這個過程中的通訊內容即使被攔截或篡改也不影響通訊的安全性,這正是Kerberos解決的問題。在域滲透過程中Kerberos協議的攻防也是很重要的存在。
1 Kerberos協議框架
在Kerberos協議中主要是有三個角色的存在:
訪問服務的Client
提供服務的Server
KDC(Key Distribution Center)密鑰分發中心
其中KDC服務默認會安裝在一個域的域控中,而Client和Server為域內的用戶或者是服務,如HTTP服務,SQL服務。在Kerberos中Client是否有權限訪問Server端的服務由KDC發放的票據來決定。

如果把Kerberos中的票據類比為一張火車票,那么Client端就是乘客,Server端就是火車,而KDC就是就是車站的認證系統。如果Client端的票據是合法的(由你本人身份證購買并由你本人持有)同時有訪問Server端服務的權限(車票對應車次正確)那么你才能上車。當然和火車票不一樣的是Kerberos中有存在兩張票,而火車票從頭到尾只有一張。
由上圖中可以看到KDC又分為兩個部分:
Authentication Server: AS的作用就是驗證Client端的身份(確定你是身份證上的本人),驗證通過就會給一張TGT(Ticket Granting Ticket)票給Client。
Ticket Granting Server: TGS的作用是通過AS發送給Client的票(TGT)換取訪問Server端的票(上車的票ST)。ST(Service Ticket)也有資料稱為TGS Ticket,為了和TGS區分,在這里就用ST來說明。

KDC服務框架中包含一個KRBTGT賬戶,它是在創建域時系統自動創建的一個賬號,可以暫時理解為他就是一個無法登陸的賬號。

2 Kerberos認證流程
當Client想要訪問Server上的某個服務時,需要先向AS證明自己的身份,然后通過AS發放的TGT向Server發起認證請求,這個過程分為三塊:
The Authentication Service Exchange:Client與AS的交互
The Ticket-Granting Service (TGS) Exchange:Client與TGS的交互
The Client/Server Authentication Exchange:Client與Server的交互

(1)The Authentication Service Exchange

[1] [2] [3] [4] [5]  下一頁

【聲明】:黑吧安全網(http://www.nkppsz.live)登載此文出于傳遞更多信息之目的,并不代表本站贊同其觀點和對其真實性負責,僅適于網絡安全技術愛好者學習研究使用,學習中請遵循國家相關法律法規。如有問題請聯系我們,聯系郵箱[email protected],我們會在最短的時間內進行處理。
  • 最新更新
    • 相關閱讀
      • 本類熱門
        • 最近下載
        秒速时时彩骗局