安全防线-由http暗藏通道看网络安全
从这段说明中我们可以看出来它就是我们今天说要介绍的tunnel技术的一个证明,我们下面大致介绍一下它的使用。
httptunnel目前比较稳定的版本是3.0.5, 支持各种常见的unix系统,包括window平台。可以从相关站点(请参阅参考资料)下载,它的安装是比较简单的,照INSTALL文件做就可以了,这里不介绍。
整个软件安装完毕后,我们会得到两个关键文件,htc和hts,其中htc是客户端(c),而hts是server(s)端,我们来看看具体怎么使用的。
假设有A(域名client.yiming.com)机,B(域名server.yiming.com)机,两机均为solaris环境,A机在防火墙保护中,B机在防火墙以外,防火墙的管理员控制了访问规则,仅ALLOW 80和53端口的进出数据包。而我们的任务是要利用Httptunnel从A机telnet到B机上,穿过防火墙的限制。操作如下:
首先我们在A上启动client端,命令很简单:
client.yiming.com#htc -F 1234 server.yiming.com:80,
系统回到提示符下,此刻我们用netstat -an 可以看到系统内多出了1234端口的侦听 *.1234 *.* 0 0 0 0 LISTEN
然后我们在B机上启动server端,命令如下:
server.yiming.com#hts -F localhost:23 80
系统回到提示符下,此刻我们用netstat看 *.80 *.* 0 0 0 0 LISTEN
80端口处于侦听状态,需要注意的是,如果系统本身跑的有web服务(80端口本身处于侦听),并不会影响Httptunnel的工作。
Ok,server以及client端都启动了,我们可以开始我们的"通道"试验了,在client.yiming.com上执行一下如下命令看看:
Client.yiming.com#telnet localhost 1234
Trying 0.0.0.0...
Connected to 0.
Escape character is ^].
SunOS 5.7
This is yimings private box! Any question,contact me with yiming@security.zz.ha.cn
login:
看到B机的登录提示符了,输入账号密码看看是否工作正常?
Login:yiming
Password: (omit here;) )
sever.yiming.com# ls
bak check go httpd lost+found mrtg run soft wg
OK! 工作正常,和正常的telnet没有什么差别。
仔细观察整个过程,会发现在最开始的地方显示的是Trying 0.0.0.0...,Connected to 0.而不是Trying server.yiming.com…,Connect to server.yiming.com,这就很直观的可以看出来client端是转发1234数据包到本机80端口的。(然后再转发到远端)而不是直接连接远端的B机。
上面是比较直观的测试,为了进一步验证server和client之间不是通过23端口通讯,我们抓取数据包来看看。我们在server起个抓包工具tcpdump(请参阅参考资料)瞧瞧。
server.yiming.com#tcpdump host client.yiming.com
tcpdump: listening on hme0
14:42:54.213699 client.yiming.com.51767 > server.yiming.com.80: S 1237977857:1237977857(0) win 8760 (DF)
14:42:54.213767server.yiming.com.80 > client.yiming.com.51767: S 1607785698:1607785698(0) ack 1237977858 win 8760 (DF)
14:42:54.216186 client.yiming.com.51768 > server.yiming.com.80: . ack 1 win 8760 (DF)
14:42:54.218661 client.yiming.com.51768 > server.yiming.com.80: P 1:44(43) ack 1 win 8760 (DF)











