文章插图
文章插图
使用john进行密码爆破,命令:john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt,获得两组账户名和密码:melehifokivai/jaye、07051986randy/randy,第一组和前面的猜测一样 。emmm时间是真的长,差不多五个小时跑出来的,可以在晚上跑 。
文章插图
使用ssh服务登录randy账户 , 查看下当前用户有哪些可以不需要root密码就可拥有root权限的文件,发现了randombase64.py 。
文章插图
查看下该文件权限,发现当前用户不具备该文件的写入权限,查看该文件内容,发现其引入了base64模块 。
文章插图
查看下base64文件的位置,命令:locate base64 。
文章插图
查看下base64.py的权限,发现当前用户具有读写权限,因此我们可以在此文件中写入shell脚本 。
文章插图
写入脚本时缺少vim命令,只能采用nano来编辑py文件 , 写入:import os 和 os.system("/bin/bash") 。
文章插图
文章插图
shell写入完成后,运行 randombase64.py,命令:sudo /usr/bin/python3.8 /home/randy/randombase64.py,成功获取到root权限并读取flag值 。
文章插图
第二种:
首先查看下不需要root密码可以执行的root权限命令,sudo -l,显示不存在,这个行不通 。
文章插图
查看下具有root权限的文件,命令:find / -perm -4000 -type f 2>/dev/null,发现/usr/lib/policykit-1/polkit-agent-helper-1 ,
文章插图
下载exp在本地进行编译(make):https://github.com/berdav/CVE-2021-4034,然后将编译好的文件上传到靶机 。
文章插图
在执行时出现了错误,显示:/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found,就对比了一下靶机和本地的该文件,发现靶机不存在这个GLIBC_2.34,命令:strings /usr/lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC 。
文章插图
文章插图
但是生成的脚本在kali中测试是可以直接获取root权限的,(这里想着把靶机的文件复制过来就行了,但是直接导致kali命令都不能用了,还好有个镜像,直接恢复镜像了)没办法就只能重新找可利用的exp,这个网站:https://github.com/arthepsy/CVE-2021-4034,下载下来poc进行gcc编译,然后上传到靶机进行执行即可获得root权限 。
文章插图
文章插图
文章插图
【vulnhub靶场之CORROSION: 2】
推荐阅读
- 星火之歌克利奥帕特拉定位为控制
- 花亦山心之月天赐锦鲤活动攻略
- 生成器函数 javascript异步编程之generator与asnyc/await语法糖
- 金铲铲之战巨龙之巢龙拳瑟提玩法是什么
- FlinkSQL之Windowing TVF
- 云小课|MRS基础原理之MapReduce介绍
- SLAM中的内外点
- vulnhub靶场之NOOB: 1
- 原神机械之心任务怎么完成
- 支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用