Linux提权—脏牛漏洞(CVE-2016-5195)

目录

脏牛漏洞

exp1复现:

exp2复现:


脏牛漏洞

脏牛漏洞,又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞。Linux kernel团队在2016年10月18日已经对此进行了修复。

漏洞范围:Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)

简要分析:该漏洞具体为,Linux内核的内存子系统在处理写入时复制(copy-on-write, COW)时产生了竞争条件(race condition)。恶意用户可利用此漏洞,来获取高权限,对只读内存映射进行写访问。(A race condition was found in the way the Linux kernel’s memory subsystem handled the copy-on-write (COW) breakage of private read-only memory mappings.)

竞争条件,指的是任务执行顺序异常,可导致应用崩溃,或令攻击者有机可乘,进一步执行其他代码。利用这一漏洞,攻击者可在其目标系统提升权限,甚至可能获得root权限。

POC:官方exp

exp1:https://github.com/FireFart/dirtycow

exp2:https://github.com/gbonacini/CVE-2016-5195

exp1复现:

环境:Redhat6.5,Linux内核版本 2.6.32

将exp1上传到目标机器,使用 gcc -pthread dirty.c -o dirty -lcrypt 命令对 dirty.c 进行编译,生成一个dirty的可执行文件。

exp2复现:

环境:Redhat7,Linux内核版本 3.10.0。

将exp2上传到目标机器,解压,进入解压目录。执行make后生成可执行文件dcow,执行  ./dcow -s ,如果成功的话,会返回一个root权限的shell,如下图。

注:执行make后的 gcc 版本要较高版本。

参考文章:脏牛Linux本地提权漏洞复现(CVE-2016-5195)
 

原文地址:https://www.cnblogs.com/csnd/p/11807651.html