脏牛Dirty漏洞复现

漏洞范围:
Linux kernel >= 2.6.22(2007年发行,到2016年10月18日才修复)
危害:
低权限用户利用该漏洞可以在众多Linux系统上实现本地提权
简要分析:
该漏洞具体为,get_user_page内核函数在处理Copy-on-Write(以下使用COW表示)的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。具体分析请查看官方分析。
测试过程(EXP):
本次环境使用VM-Kali Linux虚拟机进行测试。
假设一开始获得的是普通用户test的权限。
1.新建用户test
sudo adduser test
pwd:asd123
脏牛Dirty漏洞复现

2.使用uname -a命令查看linux内核信息,发现在脏牛漏洞范围内,可以进行测试。
脏牛Dirty漏洞复现
3.登出root用户,使用test用户登录。
使用gcc -pthread dirty.c -o dirty -lcrypt命令对桌面上的dirty.c进行编译。
脏牛Dirty漏洞复现
4.生成一个dirty的可执行文件。
执行./dirty 密码命令,即可进行提权。
脏牛Dirty漏洞复现
5.使用上图中的账号firefart,密码qwer1234查看是否获取root权限
脏牛Dirty漏洞复现
以上过程借鉴于:
https://www.jianshu.com/p/df72d1ee1e3e
https://blog.csdn.net/wanzt123/article/details/81879680