SSH 选项 AllowTcpForwarding 可以绕过吗?

SSH 选项 AllowTcpForwarding 可以绕过吗?

我理解这是为了防止用户使用服务器作为代理。但如果用户可以使用 curl/wget,这是否意味着它基本上是可以绕过的?

有关 SSH 的手册页也说了同样的事情,但是没有具体说明如何做到这一点。

答案1

我的经验是,您只能将此选项与受限制的 shell 结合使用,例如您可能command=在 authorized_keys 中设置的 shell。当您授予用户完全 shell 访问权限时,它不是很有用。

如果你有 shell 访问权限,过去的一种方法就是使用类似滑溜这基本上会模拟给你一个公共部门伙伴关系连接至盒子。

我不确定使用 curl/wget 的具体方法,但我对此一点也不感到惊讶。不过我认为如果 netcat 在远程系统上,绕过它会容易得多。

答案2

如果您允许通过 SSH 远程执行内容,则可以启动 curl/wget 并通过安全连接传输吞吐量。由于这不是 TCP 转发,因此它是触发应用程序执行的 TCP 连接,该应用程序执行会触发另一个 TCP 连接(或一系列 TCP 连接),然后通过原始 TCP 连接返回数据。它需要经过第 7 层。这样做会麻烦得多,但可以做到。

相关内容