Windows 服務是管理長時間運行進程的關鍵組成部分。它們能夠載入惡意 DLL、執行應用程式、提升權限,甚至維持系統持久性,因此了解服務權限的重要性至關重要。本教學將簡單介紹如何查看和管理 Windows 服務權限。
每個 Windows 服務都具有唯一的名稱和執行檔路徑。這些資訊在管理服務時非常重要,尤其是在使用命令列工具時。
服務名稱:
用來查詢、啟動或停止服務的名稱。
可執行檔路徑:
服務啟動時執行的程式完整路徑。弱權限的 NTFS 設置可能讓攻擊者替換原始檔案為惡意軟體。
services.msc 是 Windows 系統內建的工具,能夠查看和管理幾乎所有的服務。
按下 Win + R 開啟執行對話框,輸入 services.msc。
進入後,可以查看服務名稱、啟動類型、服務狀態以及可執行檔路徑。
你可以透過命令列工具 sc 查詢和管理服務,這非常有助於批量操作和腳本自動化。
sc qc wuauserv
輸出將顯示服務名稱、可執行檔路徑及其所需的許可權。
想要停止或啟動服務時,我們可以使用 sc 命令。然而,這些操作需要在管理員權限下執行。
sc stop wuauserv
如果沒有管理員權限,你將會看到 "Access is denied" 的錯誤提示。
PowerShell 提供了更高級的工具來檢查服務的權限。例如,我們可以透過 Get-Acl 來檢查特定服務的註冊表權限。
Get-Acl -Path HKLM:\System\CurrentControlSet\Services\wuauserv | Format-List
這將列出服務的擁有者、群組和詳細的訪問控制資訊。
SDDL 是一種用來表示安全描述符的語言。透過 sc sdshow 命令,我們可以檢查服務的安全描述符。
sc sdshow wuauserv
這將顯示服務的 DACL(可自由存取控制清單),其中包含每個用戶或群組的具體許可權。
在 services.msc 中的 "Recovery" 標籤可以設置服務失敗後的動作。例如,服務失敗後可以執行一個程式。這也可能被攻擊者用來運行惡意軟體,因此需要謹慎配置。
假設你正在檢查 Windows Update 服務(wuauserv)的安全性。你可以按照以下步驟進行:
使用 services.msc 查看服務細節。
使用 sc qc wuauserv 獲取服務的配置資訊。
使用 sc sdshow wuauserv 查看其安全描述符。
使用 PowerShell 的 Get-Acl 命令查看註冊表中的權限。
透過這些步驟,你可以更好地理解服務的配置及其可能的安全問題。這些工具非常適合自動化大規模網路環境中的服務管理。
今天剛好出國旅遊,整個超累,回到飯店只能稍微整理一下文章就發了。
希望之後可以存好一陣子文章再參加。
https://academy.hackthebox.com/