HTTPTunnel测试

介绍

HTTPTunnel是一个隧道软件。通过http的GET和POST请求隐藏隧道内的流量。适用于有网络封锁的环境,比如防火墙仅允许80端口数据包通过,内部终端访问外部其他应用时,或者渗透测试时访问内部目标服务器的其他业务端口时,都可以通过80端口隐藏。
HTTPTunnel测试_第1张图片
上图比较形象的体现了该软件的作用,就是突破网路封锁。
HTTPTunnel由两个组件组成:
HTTPTunnel测试_第2张图片
Client和Server,为了便于理解图中Client和HTTPTunnel Client可以认为同一台客户端,HTTPTunnel Server和Server可以认为时同一台服务端。

下载和安装

软件下载地址:https://sourceforge.net/projects/http-tunnel/

我在查看资料时看支持各种常见的unix系统,包括window平台。
Linux平台下安装完毕会有2个文件:htc和hts,其中htc是客户端,而hts是server端。
我使用的是Windows平台,安装完毕后:
HTTPTunnel测试_第3张图片
也就是说一旦安装,客户端和服务端都会安装,在配置中进行区分。

配置

服务端配置

服务端配置比较简单,但是要先理解概念。没有说服务端必须位于外网或位于内网,其实不管外网还是内网,客户端访问服务端是受限的,只能通过http的协议,这样去理解,就可以知道哪端应该配置为服务端。

点击图标,运行服务端,会在右下角出现服务端的图标。
HTTPTunnel测试_第4张图片
右键点击图标,选择设置,出现浏览器窗口。
HTTPTunnel测试_第5张图片
其实服务端不需要配置,直接运行即可使用。
可以看到侦听80端口。
通过netsat -nao命令可以看到80端口和3389端口已经打开。
HTTPTunnel测试_第6张图片
PID为1516,通过任务管理器可以查到是httptunnel。
在这里插入图片描述
到这里服务端配置完毕。

客户端配置

像打开服务端设置一样打开客户端,也是通过浏览器的方式,不同的是客户端端口使用1079。
HTTPTunnel测试_第7张图片
上面的端口映射是主要需要配置的,上面配置的是3000–>172.16.10.53:3389,这句话的意思是连接本地3000端口就是连接172.16.10.53的3389,172.16.10.53是服务端IP。
HTTPTunnel测试_第8张图片
然后再配置Server IP和端口,最重要的是记住要点击保存。

这样一来就可以在本地客户端使用远程桌面连接服务端的3389。
HTTPTunnel测试_第9张图片
当然172.16.10.53不一定非要是服务器端IP,可以是把服务端当成跳板写成服务端网络可达的任意IP。
同样也可以通过HTTP隧道配置多个链路。比如下图:
HTTPTunnel测试_第10张图片
这样的话就是不同的本地端口代表了不同的目的IP和端口。
经过我测试和客户端同一个局域网内的主机通过也可以使用此隧道。
比如使用其他主机远程桌面打开:172.16.10.14:3000,实际上打开的就是172.16.10.65的3389。
172.16.10.14是客户端IP。
本测试为了方便没有划分更多网段,但是肯定是测试是通过隧道的,因为把隧道软件关闭连接马上断开。

SOCKS Proxy设置

下面SOCKS Proxy配置就是启用SOCKS代理。
可以对客户端所在网络的其他主机开放SOCKS代理。
也是把服务端当成跳板。
例子1,比如和客户端同样位置的其他主机可以通过socks代理使用远程桌面连接目标主机。
mstsc远程桌面好像不支持socks代理。
我们可以使用Proxifier。

Proxifier

HTTPTunnel测试_第11张图片
HTTPTunnel测试_第12张图片
设置好Proxy Server和Rules以后可以运行了。自动分应用走代理。
这样通过远程桌面客户端输入172.16.10.65直接打开,可以通过Proxifier 软件内看到有流量经过。

例子2,比如和客户端同样位置的其他主机可以通过socks代理使用服务端的网络。
比如设置浏览代理:172.16.10.14:1080,就可以通过客户端和服务端建立的隧道到达服务端,使用服务端的网络。

高级功能

其他高级功能没有测试,比如管理登录、用户认证、DNS解析、安全设置、日志设置等。

总结

HTTPTunnel应该是比较老的隧道软件了,在实际应用中可能有更好的选择,但是作为图形化的、理解隧道概念和代理功能来说,是比较不错的测试软件。

你可能感兴趣的:(笔记,服务器,linux,网络)