如何使用 plink 将外部端口转发到内部端口

如何使用 plink 将外部端口转发到内部端口

对于渗透测试,我可以访问运行旧版 Windows 的计算机的 shell,我想将端口 4450 转发到 127.0.0.1:445,因为防火墙在外部阻止了 445。

我陷入以下困境:

plink -L 4450:127.0.0.1:445 SSH-Server

根据我找到的文档,我必须指定一个 SSH 服务器。但我找到的所有文档都只使用同一网络中的 SSH 服务器。将其转发到本地主机端口,这无济于事。

我是否必须在该机器上安装 SSH 服务器或者还有其他方法吗?

答案1

如果你在 Windows 系统上有 ssh 客户端,你可以建立到你控制的系统上的 SSH 出站,然后你可以使用远程端口转发,即使用选项-R。这实际上与相反-L,它在远程(连接到)上设置一个侦听器,并通过您正在连接的系统转发回来。

因此,在 Windows 系统上运行 ssh/putty/plink 或-R 4450:127.0.0.1:445同等程序,然后登录到您控制的 sshd。然后您可以在该系统上连接到 127.0.0.1:4450。

根据你的“shell 访问”的性质,其他选项可能包括运行socatnetcat跨越它,例如:

socat -ddd SYSTEM:"ssh somewhere 'socat TCP4-LISTEN:4450 STDIO'"  TCP:127.0.0.1:445

请注意,这只能让您返回一个连接,socat每一侧都需要该连接。

答案2

要以这种方式绕过防火墙,您需要一个位于防火墙后面的 SSH 服务器。

您是否使用 Metasploit 获取了 shell?如果您使用 Meterpreter 负载,它能够设置端口转发。

http://www.offensive-security.com/metasploit-unleashed/Portfwd

相关内容