如果獲得了 DC 用戶的TGT票據且域內有一臺名為DC$域控,再將DC用戶刪除,此時使用該 TGT去請求s4u2self,如果域控制器帳戶DC$存在,那麼DC就能獲得域控制器帳戶(機器用戶DC$)的ST票證。
假如域內有一臺域控名為 DC(域控對應的機器用戶為 DC$),此時攻擊者利用漏洞 CVE-2021-42287 創建一個機器用戶test$,再把機器用戶test$的SAMAccountName改成DC。然後利用DC去申請一個TGT票據。再把DC的SAMAccountName改為test$。這個時候KDC就會判斷域內沒有DC和這個用戶,自動去搜索DC$(DC$是域內已經的域控DC的SAMAccountName),攻擊者利用剛剛申請的TGT進行S4U2self,模擬域內的域管去請求域控DC的ST票據,最終獲得域控制器DC的權限。
漏洞復現模擬真實滲透過程進行漏洞復現,這裡使用的是滲透攻擊紅隊的靶場,感謝soulgoodman師傅的支持。
因為主要是為了演示此域內提權漏洞,所以其他過程沒有詳盡的演示,本文主要想展示在整體滲透中如何利用此漏洞。
滲透目標的IP為192.168.249.132
文內涉及的exp可在本公眾號發送 CVE-2021-42287 獲取
通過weblogic漏洞拿下邊緣主機192.168.249.132機器,使用cs上線後,對其進行基本的信息搜集,發現其存在多重網段【圖1】。
192.168.249.132(模擬公網ip)
10.10.20.12
【圖1】
上傳nbtscan對其10.10.20.1進行C段掃描,發現域內主機10.10.20.7,通過fscan掃描出存在永恆之藍漏洞,對其進行漏洞利用上線msf,為system權限,直接使用mimikatz抓取到域內密碼為soul:Admin!@#45。
因為實驗過程win7環境出現了問題,這裡使用sqlserver機器代替win7機器,其原理是一樣的,抓取到sqlserver的域內帳戶密碼為sqlserver:Server12345。
2、通過此域內用戶進行域內提權至域管理員查找域控ip
shell netdom query pdc
shell ping OWA獲取到域控IP為10.10.10.8
使用frp搭建sock5隧道,這裡由於是本地環境,設10.10.10.2為公網vps攻擊主機,在實際環境下,如果域內機器不出網,可使用venom搭建多層隧道,這裡做了簡化,旨在容易理解
上傳frpc之後使用shell命令執行
shell C:\frp\frpc.exe -c C:\frp\frpc.ini隧道搭建成功
由於目前此腳本只能使用kali進行漏洞利用,所以這裡設置kali代理
vim /etc/proxychains.conf3、kali運行exp
proxychains python3 sam_the_admin.py "redteam/sqlserver:Server12345" -dc-ip 10.10.10.8 -shell成功獲取域管理員權限
總結此漏洞的利用需要域內用戶的帳戶和密碼,假如通過一些漏洞獲取到了系統system權限,通過抓取密碼獲得了域內用戶的密碼,則可直接通過搭建隧道,在kali上用此exp進行域內提權,十分好用。
文章寫的有些亂,有很多不足之處還請各位師傅多多擔待。