【发布时间】:2018-05-16 18:37:38
【问题描述】:
在最近的一次渗透测试中,我们发现我们使用的 rbash 受限 shell 可以通过简单地强制分配一个伪终端来进行转义。
ssh -i id_rsa_key user@hostname -t "bash --noprofile"
我已经进行了大量研究,但找不到任何关于如何通过 ssh 配置或其他过程来防止这种情况的信息。任何有关如何锁定它的建议将不胜感激。
【问题讨论】:
-
你确定它与
-t有关吗?如果您唯一的步骤是将用户的登录 shell 设置为rbash,那么预计一个简单的bash将为您提供一个完整的、不受限制的 shell。 -
您的安全漏洞是用户执行
bash的能力,而不是用户获得TTY 的能力。即使没有 TTY,用户也可以调用 bash 并向其发送命令。 -
感谢您的回复。当用户在没有
-t "bash --noprofile"标志的情况下连接时,他们会收到一个 rbash shell,它只允许在/home/bin/目录中执行命令。如果您尝试执行除此之外的任何操作,您将被拒绝,包括 bash。