作者CMJ0121 (不要偷 Q)
看板NetSecurity
標題[閒聊] 2017.W44-45 - Privileges Escalation
時間Tue Nov 7 22:37:55 2017
2017.W44-45 - Privileges Escalation
## 前言 ##
上禮拜外出取材 不巧遇到 PTT 大斷線就停刊一天
今天的內容我會更加充實的 (握拳)
話說 推薦已滿 18 歲的人可以去看淺草的 ROCKZA
目前已經三刷 ROCKZA 感覺都滿有趣的 內容也相當有水準
可以用欣賞的眼光來觀賞 ~
## 內容 ##
Privileges Escalation (Gain Privileges)[0] 又稱為提權
是軟體漏洞中一個分類[1] 泛指透過程式缺陷來改變權限
根據權限的改變又可以分為
水平 (轉換)、
垂直 (提升) 兩種
在一個作業系統 (x86) 中 權限可以分為 Ring 0 ~ 3 四種[2]
Ring 0 表示系統最高權限 通常表示 Kernel 的執行權限 表示可任意存取記憶體、IO 等
Ring 3 表示最低權限 可以表示使用者的受限權限
在封閉系統中[3] 為了系統的安全與穩定而禁止使用者接觸到 Ring 0 的權限
越獄 (Jailbreaking) 則是利用提權來獲得 Ring 0 權限 來完全控制系統
專注在軟體的漏洞上 提權的漏洞造成的危害被視為是最後一哩路
在各種安全性漏洞 RCE (Remote Code Execute) 或者是 CE (Code Execute) 視為是一個指標
表示已經可以對系統做一定行為的操作
跟 XSS、CSRF 不一樣 這兩種攻擊方式都需要等受害者觸發漏洞
但是一個高權限 (root) 的 RCE 漏洞 [4] 並非每天都可以在垃圾桶中挖掘
每一個高權限的 RCE 都價值不凡
即使不用
黑市價格 [5] 一個 Windows 的 RCE 都可以販售到 $300,000
但是 CVSS [6] 分數在 9 以上的漏洞只佔 RCE 中的 3 成
這表示有絕大多數的 RCE 都是低權限的指令執行 這在安全危害上又顯得不夠嚴重
用 Linux 當作系統的例子 作業系統可以分為 Linux distribution (distro) [7] 跟 Kernel
前者是一個發行單位 預先替使用者整合好 Linux Kernl 以及各種應用程式
使用者僅需小幅度修改設定 (e.g. 修改密碼) 就可以使用 表示在 Linux 環境中有兩個方面可針對攻擊
以 Ubuntu 為例 預設的 logrotation script 在 Ubuntu 15.04 [8] 中就存在本地提權的問題
即使是沒有使用到這功能的使用者 也會因使用 Ubuntu 15.04 而有這潛在的安全問題
假若一個管理者 使用了有低權限 RCE 安全問題的 Web Framework [9] 在這版本的 Distro
攻擊者就可利用多個安全性漏洞來達到 Root RCE 的目的
這類型的本地提權是因為軟體程式上的缺陷 進而讓攻擊者透過惡意的 Payload [10] 來攻擊
程式原本的執行權限為 root 或者啟動後將權為較低的 system 權限
因設計缺陷而恢復到原本的高權限狀態 另一種則是針對 kernel 本身 [11] 來進行攻擊
像是 CVE-2015-1328 [12] 就是利用 Ubuntu 在實作 overlayfs 有缺陷存在的提權漏洞
這類型的漏洞是針對 kernel 本身的設計來進行攻擊
因為 kernel 本身已經是 ring 0 的權限來執行 如果能夠劫持 kerenl 就表示一定擁有最高權限
[0]:
https://en.wikipedia.org/wiki/Privilege_escalation
[1]:
http://www.cvedetails.com/vulnerability-list/opgpriv-1/gain-privilege.html
[2]:
https://en.wikipedia.org/wiki/Protection_ring
[3]:
https://en.wikipedia.org/wiki/IOS_jailbreaking
[4]:
http://www.cvedetails.com/cve/CVE-2016-7406/
[5]:
https://zerodium.com/program.html
[6]:
https://www.first.org/cvss/
[7]:
https://en.wikipedia.org/wiki/Linux_distribution
[8]:
https://www.cvedetails.com/cve/CVE-2015-2285/
[9]:
https://en.wikipedia.org/wiki/Web_framework
[10]:
https://en.wikipedia.org/wiki/Payload_(computing)
[11]:
http://www.cvedetails.com/vulnerability-list/vendor_id-33/product_id-47/opgpriv-1/Linux-Linux-Kernel.html
[12]:
https://www.exploit-db.com/exploits/37292/
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.193.122.171
※ 文章網址: https://webptt.com/m.aspx?n=bbs/NetSecurity/M.1510065478.A.DEC.html
1F:→ skycat2216: 那ARM呢? 11/11 11:39