SolidState

下载地址:https://download.vulnhub.com/solidstate/SolidState.zip

实战演练

找到靶场IP地址:192.168.32.156

image-20220612194228691

扫描对外端口

浏览器访问80端口

image-20220612194414845

扫描80端口的目录没有发现什么可用信息。

image-20220617142619876

搜索James服务可利用脚本

查看利用脚本

漏洞存在于_adduser_功能中。添加新用户时,服务器会创建一个新的子目录来存储该用户的传入和传出电子邮件。但是,用户名字段未正确验证。因此,当我们使用用户名"../../../../../../../../etc/bash_completion.d"创建用户时,任何发送到该用户将存储在该目录路径中。为什么这么危险?长话短说,目录 /etc/bash_completion.d 下的任何内容都由 Bash 自动为所有用户加载!

因此,如果我们使用指向 /etc/bash_completion.d 目录的用户名创建用户,当我们向该用户发送电子邮件时,我们的电子邮件将保存在 bash_completion.d 目录中,并且我们的电子邮件内容会自动加载当任何用户登录机器时使用 Bash。因此,如果我们在电子邮件中包含反向 shell,我们所要做的就是等待单个用户登录并且我们可以访问机器!

nc连接james的4555管理端口,使用默认密码root/root进行登录

可以列出用户以查看五个帐户:

可以更改每个用户的密码为123456

对于每个帐户,我现在可以连接到 TCP 110 (POP3) 来检查邮件。telnet最适合连接到 POP3。

第一个用户 james 没有消息:

ctrl+]键退出

thomas 中也没有邮件

但 john 确实显示了一条消息:

我将使用RETR命令来阅读它:

你能在mindy读到程序之前限制她的访问权限吗。还要确保你给她发了一个登录她账户的临时密码。

先谢谢你。

检查mindy 邮箱信息

亲爱的明迪, 欢迎加入固国安全网络团队!我们很高兴你能加入我们成为一名初级国防分析师。你的角色对于完成我们组织的使命至关重要。所附资料旨在为您介绍网络安全,并提供资源,帮助您顺利过渡到您的新角色。网络小组在这里支持你的过渡,所以,请知道,你可以呼叫我们中的任何一个来帮助你。

我们期待您加入我们的团队并取得成功。

尊重, 詹姆斯

这里是您访问系统的ssh凭证。首次登入后,请记得重置密码。 您的访问权限目前受到限制,请随意要求您的主管将您需要的任何命令添加到您的路径中。

使用上面发现SSH账号进行登录

正如电子邮件所建议的那样,shell的权限是有限的

mindy的shell是rbash

查看当前目录的内容

rbash 转义(快速方法)

james脚本利用(预期方法)

james手动添加用户

我将向该用户发送一封带有反向 shell 的电子邮件

误发删除之前的邮件

image-20220617155256572

不过我这边一直上不了SHELL,奇怪。使用快速方法进去。

查找可以利用的文件

找到/opt目录

使用pspy监控进程,发现每三分钟会执行一个计划任务,并且是root用户执行

image-20220617160944729

修改tmp.py,添加反弹shell,等三分钟

成功反弹成功

image-20230208160530051

最后更新于

这有帮助吗?