利用 RDP 协议搭建 Socks5 代理隧道

VSole2022-01-14 07:06:23

前言

如今,在很多组织机构内部,针对 DMZ 或隔离网络区域内的计算机设备,为了限制其它接入端口风险,通常只允许这些设备开启 3389 端口,使用远程桌面来进行管理维护。那么我们能不能利用这个 3389 端口的 RDP 服务建立起一条通向内网的代理隧道呢?当然可以,下面就引出我们今天的主角 —— SocksOverRDP。

SocksOverRDP

  • 项目地址:https://github.com/nccgroup/SocksOverRDP

SocksOverRDP 可以将 SOCKS 代理的功能添加到远程桌面服务,它使用动态虚拟通道,使我们能够通过开放的 RDP 连接进行通信,而无需在防火墙上打开新的套接字、连接或端口。此工具在 RDP 协议的基础上实现了 SOCKS 代理功能,就像 SSH 的 -D 参数一样,在建立远程连接后,即可利用 RDP 协议实现代理功能。

该工具可以分为两个部分:

  • 第一部分是一个 .dll 文件,需要在 RDP 连接的客户端上进行注册,并在每次运行时将其加载到远程桌面客户端 mstsc 的上下文运行环境中。
  • 第二部分是一个 .exe 可执行文件,它是服务端组件,需要上传到 RDP 连接的服务器并执行。

以下是该工具的运作原理:

If the DLL is properly registered, it will be loaded by the mstsc.exe (Remote Desktop Client) or Citrix Receiver every time it is started. When the server executable runs on the server side, it connects back to the DLL on a dynamic virtual channel, which is a feature of the Remote Desktop Protocol. After the channel is set up, a SOCKS Proxy will spin up on the client computer, by default on 127.0.0.1:1080. This service can be used as a SOCKS5 Proxy from any browser or tool.

大致原理是,当 SocksOverRDP-Plugin.dll 在 RDP 客户端上被正确注册后,每次启动远程桌面时都会由 mstsc 加载。接着,当 SocksOverRDP-Server.exe 被上传到 RDP 服务端上传并执行后 ,SocksOverRDP-Server.exe 会在动态虚拟通道上回连 SocksOverRDP-Plugin.dll,这是远程桌面协议的一个功能。虚拟通道设置完成后,SOCKS 代理将在 RDP 客户端计算机上启动,默认为 127.0.0.1:1080。此服务可用作任何浏览器或工具的 SOCKS5 代理。并且服务器上的程序不需要服务器端的任何特殊特权,还允许低特权用户打开虚拟通道并通过连接进行代理。

通过 SocksOverRDP 搭建 SOCKS5 代理

测试环境如下:

右侧为一个内网环境,其中 Windows Server 2012 是一个 Web 服务器,有两个网卡,分别连通内外网。假设此时攻击者已经通过渗透手段拿下了这台 Web 服务器,需要设置代理进入内网继续对内网进行横向渗透。但是由于防火墙的规则等原因,只允许 TCP/UDP 3389 端口可以进行通信,所以我们只能尝试利用用 RDP 协议来建立通讯隧道。

攻击端

在攻击机上需要安装注册 SocksOverRDP-Plugin.dll。首先我们将 SocksOverRDP-Plugin.dll 放置到攻击机的任何目录中,但是为了方便我们可以将其放置到 %SYSROOT%\system32\ 或 %SYSROOT%\SysWoW64\ 目录下。

然后使用以下命令对 SocksOverRDP-Plugin.dll 进行安装注册:

regsvr32.exe SocksOverRDP-Plugin.dll  # 注册

# regsvr32.exe /u SocksOverRDP-Plugin.dll  取消注册


如上图所示,注册成功。但是由于 SocksOverRDP 建立的 SOCKS5 代理是默认监听在 127.0.0.1:1080 上的,所以只能从攻击机本地使用,为了让攻击者的 Kali 也能使用搭建在攻击机 Windows 10 上的 SOCKS5 代理,我们需要修改其注册表,将 IP 从 127.0.0.1 改为 0.0.0.0。注册表的位置为:

KEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client\Default\AddIns\SocksOverRDP-Plugin


然后启动远程桌面客户端 mstsc.exe 连接目标 Web 服务器 Windows Server 2012:



如上图所示,弹出了一个提示说 SocksOverRDP 成功启动,当服务端的可执行文件运行后即可在攻击机的 1080 端口上启动 SOCKS5 代理服务。

服务端

远程桌面连接成功后,将服务端组件 SocksOverRDP-Server.exe 上传到 Windows Server 2012 上:


直接运行 SocksOverRDP-Server.exe 即可:


此时便成功搭建了一个 SOCKS5 代理隧道,查看攻击机 Windows 10 的端口连接状态发现已经建立连接:

然后在攻击机 Kali 上配置好 proxychains:


此时便可以通过代理访问到内网的主机 DC 了。如下所示,成功打开了 DC 的远程桌面:

proxychains4 rdesktop 192.168.93.30


探测内网主机 DC 的端口开放情况:

proxychains4 nmap -sT -Pn 192.168.93.30 -p 445


先该主机开启了 445 端口,我们可以直接用 smbexec.py 连接:

proxychains4 python3 smbexec.py whoamianony/administrator:Whoami2021@192.168.93.30


如上图所示,成功拿下内网主机 DC。

socks5socks5代理
本作品采用《CC 协议》,转载必须注明作者和本文链接
云函数简介 云函数是腾讯云为企业和开发者们提供的无服务器执行环境,可以无需购买和管理服务器的情况下运行代码。只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF是实时文件处理和数据处理等场景下理想的计算平台。服务端配置云函数基础配置选择自定义创建,地域自选,部署模式,代码部署,运行环境Python3.6,其余默认即可。
在内网横向过程中,经常会用frp、狗洞、nps等工具,在内网环境中搭建一个反向socks5代理,方便红队人员开展内网渗透工作。socksProxyVersion版本号是5或者是4,默认是5版本,也就是Socks5代理,这里也可以指定。
以上两种代理方式虽均能实现内网穿透的目的,但是代理质量相对来说并不稳定,难以满足内网渗透的需求。FRP反向代理 FRP 的 中文官方文档 可了解其作用和用法。
防火墙出网探测工具
2022-01-28 06:27:16
TFirewall是测试已控主机哪些端口可以出网及建立内网socks5代理的工具.工具主体使用golang开发,工具包含客户端及服务端,适用于windows,linux,x64,x86.
如今,在很多组织机构内部,针对 DMZ 或隔离网络区域内的计算机设备,为了限制其它接入端口风险,通常只允许这些设备开启 3389 端口,使用远程桌面来进行管理维护。那么我们能不能利用这个 3389 端口的 RDP 服务建立起一条通向内网的代理隧道呢?当然可以,下面就引出我们今天的主角 —— SocksOverRDP。
如今,在很多组织机构内部,针对 DMZ 或隔离网络区域内的计算机设备,为了限制其它接入端口风险,通常只允许这些设备开启 3389 端口,使用远程桌面来进行管理维护。
SSH代理转发
2022-03-04 22:03:04
浏览器开启代理SOCK5可以看到IP发生变化四、SSH本地转发网络拓扑图1.kali能与边界服务器互通。这里用ubuntu作为边界服务器sudo apt-get install openssh-server //安装SSH服务
此工具是因为看到了Dliv3师傅的Venom工具后,想着自己也写一个属于自己的多级代理工具,故而利用闲暇时间编写的(是的,我又在重复造轮子), 在此感谢Dliv3师傅 XD。 废话不多说,我把我的README先搬过来给大家瞅瞅 Stowaway是一个利用go语言编写的多级代理工具用户可使用此程序将外部流量通过多个节点代理至内网,并实现管理功能 此工具仅限于安全研究和教学,用户承担因使用此
nps是一款轻量级、高性能、功能强大的内网穿透反向代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
VSole
网络安全专家