漏洞背景
该漏洞存在于带有 eBPF bpf(2)系统(CONFIG_BPF_SYSCALL)编译支持的Linux内核中,是一个内存任意读写漏洞。该漏洞是由于eBPF验证模块的计算错误产生的。普通用户可以构造特殊的BPF来触发该漏洞,此外恶意攻击者也可以使用该漏洞来进行本地提权操作。
影响范围
内核版本:
Linux Kernel Version 大于3.13.0小于3.19
发行版本:
Ubuntu Linux 15.04
Ubuntu Linux 14.10
Ubuntu Linux 14.04
Ubuntu Linux 12.04
漏洞利用
获取到低权限的shell后我们通常做下面几件事:
- 检测操作系统的发行版本
- 查看内核版本信息
- 检测当前用户的权限
- 列举出所有suid文件
- 查看已经安装的包,程序以及运行的服务,是否存在有过期漏洞版本可以被利用。
用lsb_release -a
命令来查看发行版本,用uname -a
来查看内核版本
发现符合漏洞版本,在kali里面可以找到利用文件,使用命令searchsploit overlayfs
SearchSploit为您提供了在本地保存的存储库中执行详细的离线搜索的能力。这种能力特别适用于在没有互联网接入的情况下对网络进行安全评估。许多漏洞都包含了二进制文件的链接,这些文件不包含在标准存储库中,但可以在我们的Exploit-DB二进制文件中找到。
我这边是用msf命令行远控的机子,把c文件upload进去
用gcc命令给c重新编译,再给文件赋予运行权限,运行即可获得root权限