drippingblues:1-vulnhub靶场
环境信息
靶机:192.168.124.137
攻击机:192.168.124.129
打靶过程
1.nmap扫描端口及服务
发现开放21,22,80端口,且ftp可匿名访问,80端口下的 robots.txt 发现了2条 disallowed 信息
robots.txt 信息如下
访问 /dripisreal.txt
访问 https://www.azlyrics.com/lyrics/youngthug/constantlyhating.html
没看出什么信息
访问 /etc/dripispowerful.html,返回404,看这路径,猜测可能存在文件包含漏洞,暂时没发现利用点
2.ftp 匿名访问
再看看ftp 匿名访问,存在一个压缩包 respectmydrip.zip
下载该压缩包并解压发现需要密码,尝试一番未果
3.fcrackzip 爆破
使用命令 fcrackzip 爆破压缩包密码
fcrackzip -D -p /usr/share/wordlists/rockyou.txt -u ./respectmydrip.zip
爆破出密码 072528035
解压该压缩包,得到两个文件,respectmydrip.txt、secret.zip
查看 respectmydrip.txt 提示要关注“drip”,secret.zip 解压也需要密码,尝试刚才的密码失败
尝试爆破未果
4.目录扫描
扫描了一下目录,未发现新的信息
5.文件包含
到这里陷入僵局,目前还没利用到的信息有 一个歌词网站、一个可疑文件(/etc/dripispowerful.html)、一个提示要关注“drip”,再联想到这里可能存在文件包含漏洞,于是尝试用“drip”作为参数尝试文件包含。
果然存在文件包含漏洞,并发现了一个密码 imdrippinbiatch
再次尝试解压 secret.zip,还是不正确
6.ssh 登录
想到还开放了22端口,尝试 ssh 登录,用户就用页面提示的 travisscott、thugger,或者再包含一下 /etc/passwd 选取用户来尝试登录
成功登录 thugger 用户
获取第一个 flag
7.提权
使用命令sudo -l
该用户无法在这执行
使用命令find / -user root -perm -4000 -print 2>/dev/null
查看 suid
未发现可利用点
在目录下一番寻找,发现了动态库文件夹(/usr/lib/)下有很多库文件(类似的还有/lib/),其中有一个 policykit-1 库文件
在系统进程中也发现了 polkitd 进程
polkit 是一个应用程序级别的工具集,通过定义和审核权限规则,实现不同优先级进程间的通讯:控制决策集中在统一的框架之中,决定低优先级进程是否有权访问高优先级进程。Polkit 在系统层级进行权限控制,提供了一个低优先级。
Polkit 在系统层级进行权限控制,提供了一个低优先级进程和高优先级进程进行通讯的系统。和 sudo 等程序不同,Polkit 并没有赋予进程完全的 root 权限,而是通过一个集中的策略系统进行更精细的授权。
Polkit 定义出一系列操作,例如运行 GParted, 并将用户按照群组或用户名进行划分,例如 wheel 群组用户。然后定义每个操作是否可以由某些用户执行,执行操作前是否需要一些额外的确认,例如通过输入密码确认用户是不是属于某个群组。
那么找一下 polkit 可利用的 exp
CVE-2021-3560 漏洞影响范围:
- RHEL 8
- Fedora 21 (or later)
- Debian testing ("bullseye")
- Ubuntu 20.04
将 exp 下载下来,攻击机开启 http 服务供靶机下载,靶机获取 exp 后执行,或者直接靶机 wget下来
这里执行后出现了“Couldn't add the user, try again it may work”,尝试过几遍后还是不行
并且我尝试了其他 exp 也还是不行,可恶!!
我重新导入靶机后,再执行 exp,成功提权,可能是靶机有点的问题
重新导入靶机后执行 exp,成功提权
get flag!!
补充
此外,
通过收集靶机的操作系统信息,符合利用条件的提权漏洞有:
- Linux DirtyPipe权限提升漏洞 CVE-2022-0847 (Linux内核 5.8 及之后版本)
- Linux kernel权限提升漏洞 CVE-2021-3493(Ubuntu 20.04 LTS)
- Linux sudo权限提升漏洞 CVE-2021-3156(Sudo 1.8.2 - 1.8.31p2)
- Linux Polkit权限提升漏洞 CVE-2021-4034(2009年5月至今发布的所有Polkit 版本)
polkit 这里还可以使用另一个 exp(CVE-2021-4034),同样可以提权
目前除了最新版的 Polkit 修复了该漏洞,其他版本都可以提权,可利用版本的范围极大
相关信息收集如下:
总结
1.ftp 匿名访问:有 21 端口就要可以测试下
2.fcrackzip 爆破:常用的爆破工具还有 zip2john、rarcrack
3.文件包含:主要关注参数,有时会提示,或者直接 wfuzz 爆破
4.动态库:动态库目录(/usr/lib/),类似的还有库文件目录(/lib/),一些可执行程序存在漏洞也是突破点