SolidState
下载地址:https://download.vulnhub.com/solidstate/SolidState.zip
实战演练
找到靶场IP地址:192.168.32.156

扫描对外端口
浏览器访问80端口

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

搜索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 的电子邮件
误发删除之前的邮件
不过我这边一直上不了SHELL,奇怪。使用快速方法进去。
查找可以利用的文件
找到/opt目录
使用pspy监控进程,发现每三分钟会执行一个计划任务,并且是root用户执行

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

最后更新于
这有帮助吗?
