利用PsExec提權為system管理員教學(windows提權)

這篇文章記錄一下Windows中利用PsExec提權成超越administrator權限,成為更高權限system的方法。

教學與PoC 

工具直接去微軟官網下載就好
https://docs.microsoft.com/en-us/sysinternals/downloads/psexec

把下載好的PSTools.zip解壓縮到一個資料夾下
以系統管理員身分執行CMD(命令提示字元)

然後切換目錄到剛剛解壓縮的該目錄下
譬如

cd C:\Users\XXXX\Downloads\PSTools\

執行指令

psexec.exe -s -i cmd.exe

應該就會彈出另一個視窗
成功拿到 systemroot 的cmd.exe
可以下指令whoami確認,身分會是nt authority\system
你就成功取得了傳說中的最高system權限
超越administrator的權限

如果上面指令失敗了
顯示存取被拒
有個可能是你的CMD執行的權限不夠
必須要用上面的方法來以系統管理員身分執行CMD才行
一般在視窗路徑輸入CMD的方法,權限很可能不夠高

其他 PsExec 指令

來源: https://blog.yowko.com/psexec/

用法

psexec [\\ computer [,computer2 [,...] | @file]] [ - u user [-p psswd] [ - ns] [ - r servicename] [ - h] [ - l] [ - s | -e] c [-f | -v]] [ - w directory] ​​[ - d] [ - <priority>] [ - an,n,...]

參數

參數說明
-a指定特定處理器執行應用程式 (For example, 指定 cpu 2 及 cpu 4 來執行程式 : “-a 2,
-c將指定執行的程式複製至目標電腦上執行;如果未使用這個參數,需確保程式存在目標電腦上的環境變數
-d不等執行程序終止 (非互動性).
-e不載入特定帳戶的個人資料.
-f目標電腦上已存在要執行的檔案,仍然複製
-i在目標電腦上建立專屬的 session 來執行程式.未指定會在 console session 下執行
-h如果目標系統是 Vista 之後,在允許的情況下會提高帳戶安全性層級來執行程式
-l以受限使用者來執行(取消管理者群組權限,只允許指定使用者群組的權限)。 Vista 會使用低完整
-n指定連線至目標電腦連線逾期的時間(單位:秒)
-p指定帳號的密碼.如果未使用這個參數提供,會跳出視窗要求密碼
-r指定目標電腦上的 service –> 這我測不出用途
-s在目標電腦的系統帳戶下執行程式
-u指定登入目標電腦的使用者帳號
-v需執行的檔案比目標電腦新才複製檔案
-w設定執行的工作目錄 (對於目標電腦而言). –> 這我測不出用途
-xDisplay the UI on the Winlogon secure desktop (local system only).
-priority指定不同的優先程式來執行程式: -low, -belownormal, -abovenormal, -high or -realtime. Vista 可以使用 -background 來降低 memory 跟 I/O .
computer指定 PsExec 執行指令的目標電腦.如果未指定電腦名稱就會直接在本機執行; 如果使用 (*) 來指定執行目標,發動電腦及目標電腦需在同一個網域中
@file執行指令的目標對象清單檔案
cmd想要執行的應用程式名稱
arguments執行應用程式的參數(檔案路徑需是目標電腦上的絕對路行).
-accepteula隱藏授權視窗

其他工具PsTools列表 

工具描述
PsExec可讓您在任何使用者內容中執行處理序。
PsFile顯示系統上以遠端方式開啟的檔案。
PsGetSid顯示電腦或使用者的 Windows 安全性識別碼 (SID)。
PsInfo列出有關 Windows 系統的資訊。
PsKill根據名稱或處理序識別碼刪除處理序。
PsList列出有關執行中處理序的詳細資訊。
PsLoggedOn顯示所有本機登入使用者,以及遠端資源共用使用者。
PsLogList傾印 Windows 事件記錄檔記錄。
PsPasswd變更使用者帳戶密碼。
PsService檢視和控制 Windows 服務。
PsShutdown讓電腦關閉、重新啟動、休眠或暫止。
PsSuspend暫止執行中的處理序。

發佈留言

Close Menu