Linux内核“脏牛”漏洞提权复现--高危
发布时间:2022-10-21 10:40:17 所属栏目:Linux 来源:
导读: 友情提示:
初入安全,小白一个,本文重在学习与经验分享!
背景
该漏洞具体过程是get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被
初入安全,小白一个,本文重在学习与经验分享!
背景
该漏洞具体过程是get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被
|
友情提示: 初入安全,小白一个,本文重在学习与经验分享! 背景 该漏洞具体过程是get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏linux漏洞,导致出现写数据到进程地址空间内只读内存区域的机会。 黑客通过远程入侵获取低权限用户后,利用该漏洞在全版本Linux系统服务器上实现本地提权,从而获取到服务器root权限。 1. 实验环境 本次实验假设黑客已经获得了linux系统低权限的账户。 靶机系统版本: CentOS 6.x和CentOS 7.x EXP工具: 在GitHub上找到两种EXP,分别实现CentOS6和CentOS7的系统提权 #此EXP可实现CentOS 6.x的提权 (1) #此EXP可实现CentOS 7.x的提权 (2) 2. 漏洞编号 CVE-2016-5195 3. 漏洞影响范围 Linux Kernel >= 2.6.22 的所有 Linux 系统。 4. 漏洞利用提权复现过程 漏洞利用条件: 黑客通过远程入侵获取低权限用户后,才能进一步在操作系统中本地利用该漏洞进行提权。 4.1 "脏牛"EXP工具一复现过程(CentOS 6.2) (1)查看系统内核版本 (2)下载"脏牛"漏洞利用工具dirty.c,并以普通用户身份将EXP工具上传到Linux系统的目录中,此目录需具备普通用户的执行权限 (3)在EXP工具目录下使用gcc命令对EXP进行编译,编译命令如下: #如果编译过程中,linux系统提示找不到gcc命令,则需要通过yum install gcc*命令进行此工具的安装,然后再进行编译 gcc -pthread dirty.c -o dirty -lcrypt (4)编译成功,会在当前目录下生成一个名为"dirty"的可执行文件 (5)执行生成的可执行文件"dirty" #执行以下命令会创建一个firefart用户,密码是admin123,此用户具备root权限 #注意:此EXP工具生成的可执行文件,网上有些文章说直接运行./dirty就可提权。但是,在实际测试后发现,必须加上后边的密码(可以是任意密码)才能成功提权,否则会报错。 ./dirty admin123 (6)测试是否提权成功 #切换用户并查看用户id su - firefart 经过以上实验测试,通过"脏牛"漏洞成功拿到linux用户的root全下。 注: 此方法会修改/etc/passwd文件下的root用户名为firefart,很容易被发现。而且,使用此EXP工具提示的命令"mv /tmp/passwd.bak /etc/passwd"恢复原始passwd文件,有可能会导致系统重启时卡在"进度条"界面。 4.2 "脏牛"EXP工具二复现过程(CentOS 7.0) (1)查看系统内核版本 (2)下载EXP工具二,进入EXP目录后执行make进行编译(gcc版本在4.8.2以上才能编译成功),编译成功会在当前目录生成一个名为"dcow"的可执行文件 (3)执行./dcow -s命令,如果成功,则会返回一个root权限的shell,失败则返回fail。 经过以上实验测试,通过"脏牛"漏洞成功拿到linux用户的root全下。 注: 此EXP工具获取root权限后,并不会修改/etc/passwd的内容,不易被发现。 5. 安全建议 (1)及时修复linux系统内核漏洞,但是在生产环境中,修复内核级别的漏洞可能会造成业务环境的不稳定。如果生产环境允许,建议还是以修复漏洞为主。如果生产环境不允许,则加强普通账户的管控。 (2)加强网络环境安全管控,如:修复已知的诸如SQL注入、暴力破解、ACL管控等措施,防止普通账户信息的泄露。 (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


