本文作者:Faith(Ms08067實驗室 內網安全攻防知識星球)
0x00漏洞說明
CVE-2020-1472是繼MS17010之後一個比較好用的內網提權漏洞,影響Windows Server 2008R 2至Windows Server 2019的多個版本系統,只要攻擊者能訪問到目標域控井且知道域控計算機名即可利用該漏洞.該漏洞不要求當前計算機在域內,也不要求當前計算機作業系統為windows,該漏洞的穩定利用方式為重置目標域控的密碼, 然後利用城控憑證進行Dc sync獲取域管權限後修復域控密碼,之所以不直接使用壞控憑證遠程執行命令,是因為城控帳戶是不可以登錄的,但是域控具備Dc sync權限, 可以獲取域內任意用戶的憑證。
漏洞利用過程中會重置域控存儲在域中(ntds.dit)的憑證,而域控存儲在域中的憑證與本地的註冊表/lsass中的憑證不一致時,會導致目標域控脫域,所以在重置完域控憑證後要儘快恢復。
0x01利用過程
0x01a mimikatz利用過程
測試環境:
工具地址:
測試步驟如下:
檢測是否存在CVE-2020-1472漏洞
2.利用CVE-2020-1472修改域控密碼為空
3.利用域控憑證通過dcsync獲取域管hash。
4.利用獲取的域管憑證進行hash注入獲取一個域管權限的cmd.exe。這裡的「domain:.」也可以是 「domain:A"
5.在新開的cmd中使用mimikatz修改域控密碼。
mimikatz會將保存在域中的憑證以及註冊表/lsass中的憑證同時修改為"Waza1234/Waza1234/Waza1234/",這樣不影響域控的正常工作。
0x01b zerologon利用過程
測試環境:
下載地址:
測試步驟如下:
1.檢測漏洞是否存在
2.修改域控密碼為空
3.使用impacket中的secretdump獲取域管hash,這裡的「./ADC1」也可以是「A/ADC1」,也就是說我們 不需要知道目標域名即可獲取到域管hash。
4.可以破解出域管密碼,使用net結合wmic、schtasks等遠程執行命令方法離線獲取保存在註冊表中 的域控憑證,也可以使用imapcket中的遠程執行工具通過hash傳遞獲取。當然也可以通過 mimikatz在域控上直接獲取,注意這一步一定要儘量快。
5.使用impacket中的secretsdump拿到域控機器帳戶原始哈希。
之前已經用mimikatz測試過一次,所以域控帳戶的hash為"Waza1234/Waza1234/Waza1234/"的hash。
6. 將dc機器用戶密碼恢復。
0x01c 利用方式對比
1.mimikatz使用起來比zerologon方便快捷,極大的縮短了域控憑證恢復時間,減小對業務的影響以 及被發現的可能。
2.mimikatz利用過程中第三步dcsync需要域名等信息,且需要當前計算機可以解析域控的IP。當前計算機在域內時使用這種方式比較便捷。建議使用zerologon利用過程的第三步進行替換。
3.mimikatz利用過程中第四步hash注入需要具有SeDebugPrivilege權限。
4.mimikatz利用過程中第四步hash注入在win10環境下需要繞過LSA Protection,該功能需要 mimidrv.sys文件,未繞過LSA Protection時報錯為。
使用mimikatz繞過LSA Protection的命令為:
0x02 尋找域控
1.利用nbtscan掃描識別,標註SHARING DC即為域控。
2.掃描存活主機的389埠、88埠是否開放。389埠運行著LDAP服務,88埠運行著Kerberos 服務,開放這兩個埠的計算機大概率為域控。
3.如果是撥VPN進入內網,可以 ipconfig /all 查看DNS伺服器,DNS可能是域控。
4.如果當前在域內,可以通過命令查詢域控。參考如下命令:
5.如果以上方式都無法定位到域控,嘗試獲取域內計算機權限後,查詢域控信息。
0x03 獲取域控計算機名
1.利用nbatscan掃描識別。
2.利用smb嗅探目標域控的計算機名。
3.利用3389獲取相關信息。查看3389的證書信息,或者用03版mstsc不輸憑證進入後「切換用戶」找到 計算機名,特定情況下可用。
4.嘗試利用DNS解析,可能不準確。
5.如果當前在域內,可以通過命令查詢域控。
6.如果以上方式都無法定位到域控,嘗試獲取域內計算機權限後,查詢域控信息。
0x04 一些技巧
1.檢測的目標計算機名不正確時,報錯如下:
2.如果不知道目標域的域管用戶名,可以secretsdump.exe -no-pass ./ADC1$@192.168.17.150 獲取所有用戶的hash,然後利用rid為500的用戶進行後續操作,或者使用任意用戶憑證通過adfind 或者powerview查詢域信息。如果當前計算機在域內的話還可以嘗試使用黃金票據。
3.驗證域控密碼是否恢復,如果域控hash為31d6cfe0d16ae931b73c59d7e0c089c0,代表未恢復。
本文來自內網知識星球【內網安全攻防 2.0計劃】系列文章,更多文章請加入內網知識星球共同學習。