利用 VPS 在内网进行 RDP 横向移动

在当今世界,有了大量的新一代杀毒软件,在计算机之间横向运行 WMI/PowerShell Remoting/PSExec 并不总是最好的选择。我们还看到一些组织系统正在记录所有发生的 Windows 命令提示。为了解决这一切,我们有时需要回到基本的横向运动。使用 VPS 服务器的问题是,它只是一个没有 GUI 接口的 shell。因此,我们将配置路由和代理转发来自攻击者主机的流量,通过 VPS,然后再到被攻陷的主机,最后横向移动到下一个受害者。幸运的是,我们可以使用大部分本地工具完成任务。

利用 VPS 在内网进行 RDP 横向移动 - 图1

首先,我们需要设置一个 VPS 服务器,启用开放到公网的多个端口,用 PTH 配置 Metasploit,并用 Meterpreter 攻陷最初的受害者。我们也可以用 Cobalt Strike 或其他框架来实现这一点,但在本例中我们将使用 Meterpreter。

我们可以利用默认的 SSH 客户机,使用本地端口转发(-L)。在这个场景中,我使用的是 Mac,但这也可以在 Windows 或 Linux 系统上完成。我们将使用 SSH 密钥通过 SSH 连接到我们的 VPS。我们还将在攻击者机器上配置本地端口,在本例中是3389(RDP),以将任何发送到该端口的流量转发到我们的 VPS。当该端口上的流量转发到我们的 VPS 时,它会将该流量发送到 VPS 上 3389 端口上的本地主机。最后,我们需要在 3389 端口上设置一个监听我们的 VPS 的端口,并使用 Meterpreter 的端口转发功能通过被攻陷的受害机器设置一个端口转发,以能连接到受害者的系统。

  1. 用 Meterpreter payload 攻击受害者
  2. 在我们的机器上开启 SSH,并在我们的攻击者系统上设置本地端口转发(本地监听端口3389),以将针对该端口的所有流量发送到 3389 上的 VPS 本地主机端口。
    • ssh -i key.pem ubuntu@[VPS IP] -L 127.0.0.1:3389:127.0.0.1:3389
  3. 在 Meterpreter 会话上设置一个前置端口以监听端口3389上的 VPS,并通过被攻陷的机器将该流量发送到下一个要横向移动到的服务器。
    • portfwd add -l 3389 -p 3389 -r [Victim via RDP IP Address]
  4. 在我们的攻击者机器上,打开我们的 Microsoft 远程桌面客户端,将你的连接设置为你自己的本地主机 -127.0.0.1,然后输入受害者的凭据以通过 RDP 进行连接。

利用 VPS 在内网进行 RDP 横向移动 - 图2