該漏洞後續CVE-2021-34527,也懶得復現了,大差不差。來自推特大佬的圖鎮樓
RCE復現環境
DC:Windows Server 2019 IP:192.168.159.15
域主機:Win 10
SMB伺服器:非域內PC IP:192.168.159.129
本地提權復現環境:Windows 10 1803
POC
Mimikatz(https:Github腳本(https:Payload DLL:Cobalt Strike根據官方文檔的介紹,添加印表機驅動程序的API有:RpcAddPrinterDriverEx 和 AddPrinterDriverEx。調用這兩個API需要客戶端(用戶)具有 SeLoadDriverPrivilege 權限。該權限可以使用 whoami /priv進行查看。漏洞利用中涉及到的函數可以在官方文檔中查閱到:
另外關於RPC編程的知識直接百度看吧,有很多文章
RCE能利用的前提:
1、域管能訪問到SMB伺服器,網絡可達
2、攻擊者在域內
3、攻擊者到域控伺服器需要一個域用戶的用戶名密碼,建立RPC連接
再說下非域的情況,非域情況也可以實現RCE,但是實現RCE的前提是需要目標主機帳戶密碼,非域的情況下主機的用戶密碼一致的情況比較少,且如果知道了主機的帳戶密碼,可直接上去提權就好。
RCE整個攻擊的代碼執行流程(截圖不是Mimikatz裡的代碼,大致是一樣的):
1、攻擊者與域控伺服器建立RPC連接,進行句柄綁定(那一長串數字是印表機接口的UUID)
2、RpcBindingSetAuthInfoExW函數進行身份驗證
3、RpcEnumPrinterDrivers函數枚舉域控機器上的已安裝的印表機驅動程序目錄
4、RpcAddPrinterDriverEx函數進行驅動安裝(正常情況使用RpcAddPrinterDriverEx函數的前提是前面RPC驗證的用戶具有SeLoadDriverPrivilege權限,漏洞的點就在於繞過了這個權限驗證)
漏洞復現過程:
1、域控伺服器上創建一個普通用戶
2、建立SMB伺服器
複製下面信息到一個PS1文件中,管理員權限運行該powershell腳本
mkdir C:\shareicacls C:\share\ /T /grant Anonymous` logon:ricacls C:\share\ /T /grant Everyone:rNew-SmbShare -Path C:\share -Name share -ReadAccess 'ANONYMOUS LOGON','Everyone'REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionPipes /t REG_MULTI_SZ /d srvsvc /f REG ADD "HKLM\System\CurrentControlSet\Services\LanManServer\Parameters" /v NullSessionShares /t REG_MULTI_SZ /d share /fREG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v EveryoneIncludesAnonymous /t REG_DWORD /d 1 /fREG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v RestrictAnonymous /t REG_DWORD /d 0 /f將CS生成的dll放在SMB共享目錄中
3、Mimikatz攻擊驗證
4、成功上線,system權限
目前在Windows Server 2019上復現成功,Windows Server 2008/2012上未復現成功。Windows Server 2012系統,觀察到惡意的dll已經上傳到目標伺服器,在做備份時,創建了old目錄,後來又刪除了,原因未知,歡迎師傅找我一起探討。
另外,2019系統上線後發現沒過多久,印表機進程會崩潰掉線,所以得做上線會話遷移。
RCE的情況需要帳戶密碼的原因是因為RPC連接綁定印表機接口時,需要用戶身份驗證。對於本地提權,我們不需要帳戶密碼。也不需要搭建smb伺服器,dll直接放到主機上就好。
整個攻擊的代碼執行流程:
1、EnumPrinterDriversW函數枚舉域控機器上的印表機驅動
2、AddPrinterDriverEx函數進行驅動安裝
漏洞復現:
在漏洞利用的時候,需要對dll進行免殺,因為在漏洞利用的過程中惡意dll會在目標伺服器上落地。
另外,如果有師傅對逆向分析該漏洞代碼感興趣的,可以聯繫一起交流交流。
如您有任何投稿、問題、建議、需求、合作、請後臺留言NOVASEC公眾號!
或添加NOVASEC-MOYU 以便於及時回復。
感謝大哥們的對NOVASEC的支持點讚和關注
加入我們與萌新一起成長吧!
本團隊任何技術及文件僅用於學習分享,請勿用於任何違法活動,感謝大家的支持!!