PsTools之PsExec執行遠端電腦上的指令或批次檔
PsExec 是PsTool中的一項工具,可讓我們在本地端執行遠端電腦的程式,甚至遠端電腦無該程式,也可直接從本地端下參數,啟動時複製到遠端電腦直接執行。
語法
1 | psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd]][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...][-verbose] cmd [arguments] |
參數
Parameter | Description |
---|---|
-a | 以逗號分隔應用程式可執行檔處理器,其中 1 是最低的編號 CPU。 例如,若要在 CPU 2 和 CPU 4 上執行應用程式,請輸入:「-a 2,4」 |
-c | 將指定的可執行檔案複製到遠端系統以供執行。 如果您省略此選項,應用程式必須位於遠端系統上的系統路徑中。 |
-d | 請勿等候進程終止 (非互動式) 。 |
-e | 不會載入指定的帳號設定檔。 |
-f | 即使檔案已存在於遠端系統上,仍複製指定的程式。 |
-i | 執行程式,使其與遠端系統上指定會話的桌面互動。 如果未指定任何會話,進程就會在主控台會話中執行。 嘗試使用重新導向的標準 IO) ,以互動方式 (執行主控台應用程式時 ,需要 此旗標。 |
-h | 如果目標系統是 Vista 或更高版本,請讓進程在有帳戶提升許可權的權杖的情況下執行。 |
-l | 以有限使用者身分執行程式 (移除 Administrators 群組,並只允許指派給 Users 群組的許可權) 。 在 Windows Vista 上,進程會以低完整性執行。 |
-n | 指定連線到遠端電腦的秒數逾時。 |
-p | 指定使用者名稱的選擇性密碼。 如果您省略此專案,系統會提示您輸入隱藏的密碼。 |
-r | 指定要建立或互動的遠端服務名稱。 |
-s | 在系統帳戶中執行遠端進程。 |
-u | 指定登入遠端電腦的選擇性使用者名稱。 |
-v | 只有在指定檔案的版本號碼較高或比遠端系統上的版本更新時,才複製指定的檔案。 |
-w | 設定相對於遠端電腦) 的程式工作目錄 (。 |
-x | 僅) 在 Winlogon 安全桌面上顯示 UI (本機系統。 |
-priority | 指定 -low、-belownormal、-abovenormal、-high 或 -realtime,以不同的優先順序執行進程。 使用 -background 在 Vista 上以低記憶體和 I/O 優先順序執行。 |
computer | 指示 PsExec 在指定的遠端電腦或電腦上執行應用程式。 如果您省略電腦名稱稱,PsExec 會在本機系統上執行應用程式,而且如果您指定萬用字元 (\*) ,PsExec 會在目前網域的所有電腦上執行 命令。 |
@file | PsExec 會在檔案中列出的每部電腦上執行 命令。 |
cmd | 要執行的應用程式名稱。 |
arguments | 要傳遞 (的引數請注意,檔案路徑必須是目標系統上的絕對路徑) 。 |
-accepteula | 此旗標會隱藏授權對話方塊的顯示。 |
其他PsTools工具
工具 | 描述 |
---|---|
PsExec | 可讓您在任何使用者內容中執行處理序。 |
PsFile | 顯示系統上以遠端方式開啟的檔案。 |
PsGetSid | 顯示電腦或使用者的 Windows 安全性識別碼 (SID)。 |
PsInfo | 列出有關 Windows 系統的資訊。 |
PsKill | 根據名稱或處理序識別碼刪除處理序。 |
PsList | 列出有關執行中處理序的詳細資訊。 |
PsLoggedOn | 顯示所有本機登入使用者,以及遠端資源共用使用者。 |
PsLogList | 傾印 Windows 事件記錄檔記錄。 |
PsPasswd | 變更使用者帳戶密碼。 |
PsService | 檢視和控制 Windows 服務。 |
PsShutdown | 讓電腦關閉、重新啟動、休眠或暫止。 |
PsSuspend | 暫止執行中的處理序。 |
取得最高SYSTEM權限
以系統管理員身分執行CMD(命令提示字元)
執行指令
1 | psexec.exe -s -i cmd.exe |
應該就會彈出另一個視窗
成功拿到 systemroot 的cmd.exe
可以下指令whoami確認,身分會是nt authority\system
你就成功取得了傳說中的最高system權限
超越administrator的權限
Run local bat file on a remote machine
1 | psexec \\remotemachine -u remoteuser -i -d cmd -c localdisk:\folder\batchfile.bat |
-c
will copy from local path