權限怎麼升級?
📌 取得初始存取 → 權限升級 → 蒐集憑證 → 橫向移動 → 進一步控制
權限升級 → 小偷先闖入隔壁的普通房間,然後找到鑰匙變成房東
橫向移動 → 取得一台機器,「沿著走廊」去入侵更多房間,擴大控制範圍
攻擊方
-
偵察(Post-exploit discovery):查
/etc/passwd
、sudoers、SUID binaries(Linux);檢查本機群組、服務帳號、credential files(Windows)
-
本機權限升級(Local Privilege Escalation, LPE):
- Linux:利用 SUID 可執行檔、不安全的 sudo 規則、弱檔案權限、過時核心漏洞或 kernel exploit、world-writable scripts
- Windows:濫用弱服務權限(service misconfig)、不安全的 scheduled task、DLL 搜尋順序漏洞、可寫入的服務執行檔路徑、unquoted service path
-
蒐集憑證 / 憑證回收(Credential Harvesting):
- Windows:記憶體抓取(Mimikatz)取得明文/NTLM/krb5 ticket
- Linux:讀取配置檔(
~/.ssh/id_rsa
)、硬編碼憑證、token 檔案
-
使用合法工具橫向移動(Living off the land):PsExec、SMB/Windows file share、RDP、WinRM、WMI、SSH、cron jobs、PowerShell Remoting
-
持久化(Persistence):建立 scheduler/job、服務、開後門帳號或修改啟動項
防禦方
-
最小權限原則:帳號、服務與應用只給必要權限;避免使用共用管理帳號
-
修補與 Harden:修補 kernel / OS / 服務;移除 SUID 不必要二進位檔;修正 unquoted paths、設置安全的 service account
-
限制憑證暴露:不要在腳本放明文密碼、避免硬編碼憑證;使用 Managed Identity / Vault(KMS/HashiCorp Vault/Azure Key Vault)
-
網路分段與強化 ACL:把重要系統隔離,限制 lateral protocols(內網 SMB/RDP/SSH)僅允許必要來源
-
端點偵測(EDR)與行為分析:偵測異常 PowerShell 執行、非互動式帳號執行 shell、memory scraping 行為、發現 lateral 工具(PsExec、wmic、smbclient)
-
帳號/權限管理:定期輪換帳密、限制本地 admin 數量、使用 JIT/JEA(just-in-time / just-enough-admin)
-
日志與告警:監控異常登入、credential use、schedule/service 變更、掃描內網流量
常見漏洞
-
find / -perm -4000 -type f 2>/dev/null
。若看到可被濫用(例如 nmap
的某些版本、less
、自製腳本),可利用 spawn shell
- 若
/usr/local/bin/someservice
可由非 root 用戶寫入,攻擊者可植入 payload
-
sudo -l
顯示可用命令,若可無密碼執行 /bin/bash
或有權限執行需要被封鎖
-
wmic service get name,pathname
檢查服務執行路徑是否帶空格但未加引號
- 存在
C:\Program Files\Bad Service\service.exe
,若 C:\Program.exe
可寫入,會被系統誤執行
- 若攻擊者能寫入服務執行檔,能在重啟時執行惡意程式
偵測指標
- 非典型使用者執行
sudo
或嘗試 sudo -l
頻繁出現
- 出現可疑 SUID shell 的編譯或提權命令
- 帳號在短時間內由多台主機登入(credential reuse)
- 發現 memory dumping(lsass dump)、WMI/WinRM 的不尋常使用
- 新增本地 admin、service creation、scheduled tasks 的日誌
結論
📌 一旦在網域中取得管理權限,攻擊者能快速擴散
竊取更多憑證,並達到資料竊取或控制等行為
「減少攻擊面與硬化環境」:最小權限原則、修補已知漏洞
移除不必要的 SUID/可寫入資源、使用受管理的憑證存取
透過端點行為分析與網路分段提早偵測異常動