vulnhub靶场之CORROSION: 2( 二 )


文章插图

vulnhub靶场之CORROSION: 2

文章插图
使用john进行密码爆破,命令:john --wordlist=/usr/share/wordlists/rockyou.txt pass.txt,获得两组账户名和密码:melehifokivai/jaye、07051986randy/randy,第一组和前面的猜测一样 。emmm时间是真的长,差不多五个小时跑出来的,可以在晚上跑 。
vulnhub靶场之CORROSION: 2

文章插图
使用ssh服务登录randy账户 , 查看下当前用户有哪些可以不需要root密码就可拥有root权限的文件,发现了randombase64.py 。
vulnhub靶场之CORROSION: 2

文章插图
查看下该文件权限,发现当前用户不具备该文件的写入权限,查看该文件内容,发现其引入了base64模块 。
vulnhub靶场之CORROSION: 2

文章插图
查看下base64文件的位置,命令:locate base64 。
vulnhub靶场之CORROSION: 2

文章插图
查看下base64.py的权限,发现当前用户具有读写权限,因此我们可以在此文件中写入shell脚本 。
vulnhub靶场之CORROSION: 2

文章插图
写入脚本时缺少vim命令,只能采用nano来编辑py文件 , 写入:import os 和 os.system("/bin/bash") 。
vulnhub靶场之CORROSION: 2

文章插图

vulnhub靶场之CORROSION: 2

文章插图
shell写入完成后,运行 randombase64.py,命令:sudo /usr/bin/python3.8 /home/randy/randombase64.py,成功获取到root权限并读取flag值 。
vulnhub靶场之CORROSION: 2

文章插图
第二种:
首先查看下不需要root密码可以执行的root权限命令,sudo -l,显示不存在,这个行不通 。
vulnhub靶场之CORROSION: 2

文章插图
查看下具有root权限的文件,命令:find / -perm -4000 -type f 2>/dev/null,发现/usr/lib/policykit-1/polkit-agent-helper-1 , 
vulnhub靶场之CORROSION: 2

文章插图
下载exp在本地进行编译(make):https://github.com/berdav/CVE-2021-4034,然后将编译好的文件上传到靶机 。
vulnhub靶场之CORROSION: 2

文章插图
在执行时出现了错误,显示:/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 。
vulnhub靶场之CORROSION: 2

文章插图

vulnhub靶场之CORROSION: 2

文章插图
但是生成的脚本在kali中测试是可以直接获取root权限的,(这里想着把靶机的文件复制过来就行了,但是直接导致kali命令都不能用了,还好有个镜像,直接恢复镜像了)没办法就只能重新找可利用的exp,这个网站:https://github.com/arthepsy/CVE-2021-4034,下载下来poc进行gcc编译,然后上传到靶机进行执行即可获得root权限 。
vulnhub靶场之CORROSION: 2

文章插图

vulnhub靶场之CORROSION: 2

文章插图

vulnhub靶场之CORROSION: 2

文章插图
【vulnhub靶场之CORROSION: 2】

推荐阅读