搜索公众号:白帽子左一,领配套练手靶场,全套安全课程及工具
一、内网-隧道传输
网络隧道技术指的是利用一种网络协议来传输另一种网络协议,它主要利用网络隧道协议来实现这种功能。网络隧道技术涉及了三种网络协议,即网络隧道协议、隧道协议下面的承载协议和隧道协议所承载的被承载协议。
在安全人员人员的日常工作中,会遇到因为相关配置或设备导致的无法和目标设备通信的状况,这时就可以尝试使用隧道通信解决。
防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装,然后穿过防火墙,与对方进行通信。当被封装的数据包到达目的地时,将数据包还原,并将还原后的数据包发送到相应的服务器上。常见的隧道列举如下:
网络层:IPv6隧道、ICMP隧道、GRE隧道
传输层:TCP隧道、UDP隧道、常规端口转发
应用层:SSH隧道、HTTP隧道、HTTS隧道、DNS隧道
网络层传输技术
ICMP 隧道
ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。
控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
最常见的ICMP消息为ping命令的回复,只要可以ping通,就可以尝试建立ICMP隧道,将数据包封装在ICMP里面
常用的ICMP隧道工具有icmpsh、PingTunel、icmptunel、powershell icmp等
PingTunel
PingTunel 是一款跨平台的工具,下载地址为
http://freshmeat.sourceforge.net/projects/ptunnel/
下载后需要编译,我在ubuntu 和 centos 下遇到同样的坑,解决方案如下:
先安装下面的依赖环境
wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
tar zxfv libpcap-1.9.0.tar.gz
cd libpcap-1.9.0/
yum install flex bison
./configure
make && make install
ptunnel 基础指令如下
ptunnel
-×指定icmp隧道连接验证密码
-lp指定要监听的本地tcp端口
-da指定要转发到的机器的ip地址
-dp指定要转发到的机器的tcp端口
-p指定icmp隧道另一端机器的ip地址
场景:
vps 192.168.206.128
边界服务器 192.168.206.129
内网服务器 win2k8 192.168.206.131
step1:在边界服务器上执行ptunnel -x 密码
,如ptunnel -x test123
steo2:在vps 上执行
ptunnel -p 边界服务器ip -lp 端口1 -da 内网服务器ip -dp 端口2 -x 密码,如 ptunnel -p 192.168.206.129 -lp 1234 -da 192.168.206.131 -dp 3389 -x test123
step3:通过访问192.168.206.129:1234
就可以访问192.168.206.131:3389
二、传输层隧道传输
lcxd端口转发
lcx是一个基于socket套接字实现的端口转发工具,有Windows和Linux两个版本,Windows版本为lcx.exe,Linux版本为portmap。
一个正常的socket隧道必须具备两端&