隐蔽通信隧道技术 (ICMP隧道)

一、隐密隧道基础知识

1、隐密隧道通信概述

什么是隧道?隧道就是让原本不能通行的网络,能够通行。网络安全研究人员需要掌握常见的隧道技术:

  • 网络层:IPv6隧道、ICMP隧道、GRE隧道
  • 传输层:TCP隧道、UDP隧道、常规端口转发
  • 应用层:SSH隧道、HTTP隧道、HTTPS隧道、DNS隧道

2、判断内网的连通性

  • ICMP协议
img
  • TCP协议(需要安装nc,配置环境变量)

nc -l -p 9000

  • HTTP协议(需要安装curl,配置环境变量)

curl +url

  • DNS协议(可以指定DNS服务器来解析域名)

nslookup www.zhihu.com 8.8.8.8

img

二、网络层隧道技术

1、IPv6隧道(勾上就拥有IPv6地址了)

img
  • 当前很多边界设备、防火墙、入侵检测系统还无法识别IPv6的通信内容,但大多数操作系统已经支持IPv6通信
img

2、ICMP隧道

  • 参考别的师傅搭建的icmptunnel

https://github.com/DhavalKapil/icmptunnel

新的ICMP隧道:ICMPSHhttps://github.com/inquisb/icmpsh.git

  • 关闭系统的Ping应答

sysctl -w net.ipv4.icmp_echo_ignore_all=1

防御ICMP隧道攻击的方法:

  • 检测同一来源的ICMP数据包的数量,一个正常的Ping命令每秒最多发送两个数据包,而使用ICMP隧道的浏览器会在短时间产生上千个ICMP数据包
  • 注意那些Payload大于64字节的ICMP包
  • 寻找响应数据包中的Payload和请求数据包中的Payload不一致的ICMP数据包