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/