HTTP Tunnel 使用教程
- 网络安全
- 2024-11-06
- 64热度
- 0评论
一、介绍
HTTPTunnel 是一个隧道软件。通过http的GET和POST请求隐藏隧道内的流量。适用于有网络封锁的环境,比如防火墙仅允许80端口数据包通过,内部终端访问外部其他应用时,或者渗透测试时访问内部目标服务器的其他业务端口时,都可以通过80端口隐藏。

上图比较形象的体现了该软件的作用,就是突破网路封锁。
HTTPTunnel 由两个组件组成:

Client 和 Server,为了便于理解图中 Client 和 HTTPTunnel Client 可以认为同一台客户端,HTTPTunnel Server 和 Server 可以认为时同一台服务端。
二、下载和安装
地址:https://http-tunnel.sourceforge.net/
软件下载地址:https://sourceforge.net/projects/http-tunnel/files/
该软件支持各种常见的操作系统,包括window平台。
Windows 安装:
一旦安装,客户端和服务端都会安装,在配置中进行区分。

Linux 安装:
Linux平台下安装完毕会有2个文件:htc和hts,其中htc是客户端,而hts是server端。
tar xzf HTTPTunnel_*.tgz
cp -R common perl
cd perl
cd /usr/local/test/ht/perl/
perl httptunnel_client.pl &
# 浏览器访问(默认端口1079):http://localhost:1079
三、配置
1、服务端配置
服务端配置比较简单,但是要先理解概念。没有说服务端必须位于外网或位于内网,其实不管外网还是内网,客户端访问服务端是受限的,只能通过http的协议,这样去理解,就可以知道哪端应该配置为服务端。
点击图标,运行服务端,会在右下角出现服务端的图标。

右键点击图标,选择设置,出现浏览器窗口。

其实服务端不需要配置,直接运行即可使用。
可以看到侦听80端口。
通过 netsat -nao 命令可以看到80端口和3389端口已经打开。

PID为1516,通过任务管理器可以查到是httptunnel。

到这里服务端配置完毕。
2、客户端配置
像打开服务端设置一样打开客户端,也是通过浏览器的方式,不同的是客户端端口使用1079。

上面的端口映射是主要需要配置的,上面配置的是3000–>172.16.10.53:3389,这句话的意思是连接本地3000端口就是连接172.16.10.53的3389,172.16.10.53是服务端IP。

然后再配置 Server IP 和端口,最重要的是记住要点击保存。
这样一来就可以在本地客户端使用远程桌面连接服务端的3389。

当然172.16.10.53不一定非要是服务器端IP,可以是把服务端当成跳板写成服务端网络可达的任意IP。
同样也可以通过HTTP隧道配置多个链路。比如下图:

这样的话就是不同的本地端口代表了不同的目的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


设置好 Proxy Server 和 Rules 以后可以运行了。自动分应用走代理。
这样通过远程桌面客户端输入172.16.10.65直接打开,可以通过Proxifier 软件内看到有流量经过。
例子2,比如和客户端同样位置的其他主机可以通过socks代理使用服务端的网络。
比如设置浏览代理:172.16.10.14:1080,就可以通过客户端和服务端建立的隧道到达服务端,使用服务端的网络。
高级功能:
其他高级功能没有测试,比如管理登录、用户认证、DNS解析、安全设置、日志设置等。
总结
HTTPTunnel应该是比较老的隧道软件了,在实际应用中可能有更好的选择,但是作为图形化的、理解隧道概念和代理功能来说,是比较不错的测试软件。
番外
Web:http://10.10.4.56:27002/ 用户名:admin 密码:123456
数据流向:localhost:27001=>www.xxx.com:27080=>192.168.3.104:27001
/usr/local/test/./test -server=localhost:27001 -vkey=xxxxxxxxxxxxxx &
http://www.xxx.com:27038/upload/test/2.zip

鲁ICP备19063141号
鲁公网安备 37010302000824号