vulnhub靶场之CORROSION: 2( 二 )


文章插图

vulnhub靶场之CORROSION: 2

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

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

文章插图

经验总结扩展阅读