免责声明
由于传播、利用本公众号夜组安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号夜组安全及作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
脏牛提权
漏洞描述
脏牛漏洞(CVE-2016–5195),又叫Dirty COW,存在Linux内核中已经有长达9年的时间,在2007年发布的Linux内核版本中就已经存在此漏洞,在2016年10月18后才得以修复,因此影响范围很大。
漏洞具体是由于get_user_page内核函数在处理Copy-on-Write的过程中,可能产出竞态条件造成COW过程被破坏,导致出现写数据到进程地址空间内只读内存区域的机会。修改su或者passwd程序就可以达到root的目的。
影响版本
如果你的内核版本低于以下版本,则还存在此漏洞
漏洞复现
查看内核版本
1、上传脏牛提权EXP,注意上传到/tmp 这种可读可写的文件夹
exp地址:https://github.com/FireFart/dirtycow
2、编译EXP:
gcc
-pthread
dirty
.c
-o
dirty
–
lcrypt
3、生成root权限的用户:./dirty 123
查看/etc/passwd
成功创建一个firefart超级用户
尝试通过su 切换用户,报错了
这是因为通过这种方式连接得到的shell类型,不能su交互,tty表示交互式终端
解决方法可以切换一下shell
python -
c
'
import
pty; pty.spawn("/bin/sh")'
python -
c
'
import
pty; pty.spawn("/bin/bash")'
得到shell就可以su进行交互了。
参考链接
https://xz.aliyun.com/t/9757
https://github.com/FireFart/dirtycow
往期精彩
原文始发于微信公众号(夜组安全):经典Linux提权漏洞之脏牛
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论