Linux内核9年高龄的“脏牛”0day漏洞POC测试报告

二进制安全研究 rabit2013 阅读(2159) 0评论

就在今天2016年10月21日早,圈子都在传这样的一个漏洞,这个名叫Dirty COW,也就是脏牛的漏洞,存在Linux内核中已经有长达9年的时间,也就说2007年发布的Linux内核版本中就已经存在此漏洞。那么这漏洞有多大危害,相关的研究团体给出了相关的POC。

基本上都在说是写文件,而对于搞渗透的人实在想的是怎么提权。

脏牛漏洞本质上可以理解为任意文件的覆盖写入有两个限制条件

第一该文件为当前用户组可读

第二写入的数据不得超过该文件大小

看起来似乎挺鸡肋的一个漏洞,假如再加上SUID就更有意思了。众所周知,SUID位是为了让某些程序能够以root权限去运行/修改操作系统本身的一些配置,例如passwd命令二进制文件位于/usr/bin/passwd)在执行该命令的时候由于SUID的存在该命令执行过程中会以root身份去进行处理从而使得每个用户都可以更新自己的密码。如果往passwd里写入ELFHEX,那么就可以直接借助passwdSUID权限拿到一个root shell同样的对于其他的具有SUID位的二进制程序也可以使用该办法完成提权拿到root shell,Warnning!!! 整个操作过程中会完全覆盖掉原有的文件请注意做好备份工作。

提权的EXP在哪?

POC&EXP

测试过程:该EXP提权效果如下

经过测试我们发现在Debian 7 Debian 7的衍生版本上执行该EXP是毫无影响的(内核版本Linux localhost.localhost 3.2.0-4-amd64)而在debian 8及其衍生版本(内核版本Linux localhost.localhost 4.8.3-x86_64)虽然是可以覆盖写入passwd,但是也会同时导致该系统宕机,导致该POC执行失败,7.X则可以成功,那么除了改写passwd,我们还能做什么还有crontab嘛,我们可以改写crontab使其执行我们想要的命令其他的靠各位发散思维啦,CentOS/RHEL系列,6.X由于线程竞争失败。经测试Ubuntu写文件或者提权也会被打挂,该EXP提权能获取root shell,但shell稳定时间不长,但也足以添加一个账户或者执行其他猥琐的行为。

修复建议:

1、对于检测存在该漏洞的服务器可以立刻进行内核升级或者随后升级,毕竟需要一个地权限的Shell。

2、对于承载Web业务服务器需要权衡是否立刻升级内核,为了保证整个服务器的数据安全建议及时升级内核。

针对此漏洞,相关产商也给出修复建议,建议进行系统内核升级,目前新版本已经登录各GNU/Linux发行版库,包括Arch Linux(测试中)、Solus和所有受支持版本的Ubuntu。Debian开发人员前天也宣布稳定版Debian GNU/Linux 8 “Jessei”系列内核重要更新——本次更新总共修复4个Linux内核安全漏洞,其中也包括了脏牛。各操作系统供应商应该即刻下载Linux kernel 4.8.3、Linux kernel 4.7.9和Linux kernel 4.4.26 LTS,为用户提供稳定版渠道更新。

转载请注明:CloverSec Labs » Linux内核9年高龄的“脏牛”0day漏洞POC测试报告

喜欢 (4)or分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址