💡 什麼是提權(Privilege Escalation)?
在昨天的文章中(Day 23),我們透過 Nmap 與 Gobuster 完成了靶機的資訊蒐集,並可能透過某個網頁漏洞(如檔案上傳或弱密碼)成功取得了低權限的 shell(例如 www-data 或一般使用者身份)。
然而,這只拿到了一張「門票」。此時我們如果去讀取系統的敏感檔案(如 /etc/shadow 或其他使用者的密碼),通常會因為權限不足而被拒絕。
因此,滲透測試中最刺激、也最關鍵的下一步就是——提權(Privilege Escalation):想辦法從一個普通的使用者權限,升級為系統的最高管理者(在 Linux 中是 root,在 Windows 中是 Administrator)。
🔍 Linux 提權的三大常見檢查向量
當我們取得低權限 shell 後,第一件事通常是上傳或執行自動化枚舉腳本(如 LinEnum 或 linpeas.sh),檢查以下幾個常見的提權突破口:
尋找方式:
Bash
find / -perm -4000 2>/dev/null
常見風險: 如果系統中存在一些不安全且帶有 SUID 權限的系統指令(如 find、vim、nmap 或自訂的 C 程式),攻擊者就能利用它們直接讀取 root 權限的檔案或開啟 root shell。
Bash
sudo -l
常見風險: 如果系統管理員設定允許該普通使用者「不需密碼」就能以 root 身份執行特定指令(例如 /usr/bin/apt 或 /bin/sh),我們就能瞬間切換成 root。
常見風險: 如果某個 root 定期執行的腳本,其檔案權限普通使用者居然有「寫入權限(Writeable)」,攻擊者就可以把惡意指令塞進該腳本中,等待 root 定期執行它,從而實現反彈 shell 提權!