文章插图

文章插图
使用jaye账户查看下目录信息和文件信息,在jaye账户下的Files文件下下发现具有root权限和当前账户可执行权限的look命令,在/root文件下发现root.txt文件,因此直接使用look命令读取下root.txt信息,成功获取到flag值 。

文章插图
权限提升:(两种方法)
第一种:
在jaye账户下,使用look命令读取下/etc/shadow文件和/etc/passwd文件,命令:./look '' 文件名,将文件内容复制到本地使用unshadow生成密码本,然后进行暴力破解,生成密码本命令:unshadow passwd shadow > pass.txt 。

文章插图

文章插图
使用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 。

文章插图

文章插图
经验总结扩展阅读
- 星火之歌克利奥帕特拉定位为控制
- 花亦山心之月天赐锦鲤活动攻略
- 身弱之女一般嫁什么人 身弱的人找什么配偶
- 五行齐全有可怕之处吗 五行缺哪一项最不好
- 赞美荷花的唯美短句 描写荷花动态之美的句子
- 寒露过后是什么节气 寒露之后是哪个节气
- 生成器函数 javascript异步编程之generator与asnyc/await语法糖
- 30天之后喜事传千里 财运爱情喜上加喜的3大星座
- 未来30天意外之财接连不断 桃花如虹好运不断的3大星座
- 金铲铲之战巨龙之巢龙拳瑟提玩法是什么
