内网安全 - 应用层隧道技术

基础知识

代理和隧道技术区别?
	代理只是为了解决网络通信问题,有些内网访问不到,可以用代理实现
	隧道不仅是解决网络的通信问题,更大的作用是绕过过滤,突破防火墙/入侵检测系统

隧道技术为了解决什么?
	防火墙过滤问题、网络连接通信问题、数据回链封装问题在数据通信被拦截的情况下,
可以利用隧道技术封装改变通信协议进行绕过拦截。比如CS、MSF无法上线,数据传输不稳
定无回显,出口数据被监控,网络通信存在问题等问题,都可以通过隧道技术解决。

隧道技术前期的必备条件?
	在用隧道之前要先探测对应隧道协议是否支持,如果不支持,用这个隧道也没有任何意义

隧道原理:
	在实际的网络中,通常会通过各种边界设备、软/硬件防火墙甚至入侵检测系统来检查对外连接情况
如果发现异样,就会对通信进行阻断。那么什么是隧道呢?这里的隧道,就是一种绕过端口屏蔽的通信方式。
防火墙两端的数据包通过防火墙所允许的数据包类型或端口进行封装然后穿过防火墙,与对方进行通信
当封装的数据包到达目的地时将数据包还原,并将还原后的数据包发送到相应服务器上。

常用的隧道技术有以下三种:
	网络层:IPv6 隧道、ICMP 隧道(相当于伪造这个协议)
	传输层:TCP 隧道、UDP 隧道、常规端口转发
	应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道 

网络传输应用层检测连通性-检测
1.TCP协议
用瑞士军刀-netcat
执行nc命令:nc <端口>

2.HTTP协议
用“curl”工具,执行curl<IP地址:端口>命令。如果远程主机开启了相应的端口,且内网可连接外网的话,就会输出相应的端口信息

3.ICMP协议
在这里插入图片描述

隧道有各种层面的,每个层面又分不同协议,你想要用哪个隧道,就需要先确定目标主机是否支持对应隧道协议。
比如你想用一个网络层的 ICMP 隧道,这个时候你要去检测目标主机支不支持ICMP隧道的开启。
检测目标主机是否支持ICMP协议,可以使用ping命令去ping地址,看能不能正常通信,如果能的话就可以。(可以ping通,对方支持ICMP协议)

4.DNS协议
检测DNS连通性常用的命令是"nslookup"和"dig"
nslookup是Windows自带的DNS探测命令
dig是Linux系统自带的DNS探测命令

网络层 ICMP 隧道 Ptunnel 使用

网上介绍的大部分都是老牌工具,ptunnel工具几年前就没有更新了,不推荐使用。(而且需要自行编译)
老版本介绍:https://github.com/f1vefour/ptunnel(需自行编译)
推荐pingtunnel,这个是一直在升级更新的一个工具。
新版本:https://github.com/esrrhs/pingtunnel(二次开发版) 
pingtunnel隧道工具介绍
	pingtunnel是把tcp/udp/sock5流量伪装icmp流量进行转发的工具
为什么要转换?
	因为tcp、udp、sock5这几个协议受到防火墙和工具的拦截,这个工具就是把这些流量伪装成icmp进行数据传输!

pingtunnel语法:
	-p 表示连接 icmp 隧道另一端的机器IP(即目标服务器)
	-lp 表示需要监听的本地tcp端口
	-da指定需要转发的机器的IP(即目标内网某一机器的内网 IP)
	-dp指定需要转发的机器的端口(即目标内网某一机器的内网端口)
	-x设置连接的密码

Ptunnel使用演示
演示环境:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值