简单记述一下吧,测试成功了
项目地址:
原理介绍:
在我们日常渗透测试中,往往会遇到这么一种情况:当我们针对某一目标进行渗透并获取到该目标公网边界上某一台服务器权限后,想要将其内网转发出来后进行下一步的内网渗透。但是由于其边界存在流量检测设备,或者边界访问控制对其出入协议进行了严格限制,导致我们的http、dns、socks等协议隧道无法正常建立。这时候就会很难继续进入内网进行进一步的动作。但是同时管理员往往又不会对icmp协议进行严格控制(即我们常用的ping)。这时候我们就可以利用icmp隧道将我们的流量封装到icmp协议中穿透到目标内网中。这样不仅可以顺利进行内网穿透,同时也可以绕过一些简单的封禁规则。当然,对icmp隧道接触比较早的同学,读书那会儿也曾利用该技术绕过校园网的访问控制。
来源:基于PingTunnel的icmp 隧道利用 – Scantime
搭建准备:
一台可以ping通的服务器,需要公网。假定IP地址为
114.51.41.81
安装服务端
从releases下载对应的安装包,如 pingtunnel_linux64.zip,然后解压,以root权限执行
sudo wget (最新release的下载链接) sudo unzip (文件名) sudo ./pingtunnel -type server
安装GUI客户端(新手推荐)
- 从pingtunnel-qt下载qt的gui版本
- 双击exe运行,修改server(如http://www.yourserver.com)、listen port(如1080),勾上sock5,其他设置默认即可,然后点击GO
- 一切正常,界面上会有ping值显示,然后可点击X隐藏到状态栏
- 设置浏览器的sock5代理到127.0.0.1:1080,如果连不上网,出现socks version not supported错误日志,说明浏览器的代理不是socks5代理
我这边设置的是4455
安装客户端(高玩推荐)
- 从releases下载对应的安装包,如pingtunnel_windows64.zip,解压
- 然后用管理员权限运行,不同的转发功能所对应的命令如下
- 如果看到有ping pong的log,说明连接正常
转发sock5
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1
转发tcp
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1
转发udp
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455
Docker
server:
docker run --name pingtunnel-server -d --privileged --network host --restart=always esrrhs/pingtunnel ./pingtunnel -type server -key 123456
client:
docker run --name pingtunnel-client -d --restart=always -p 1080:1080 esrrhs/pingtunnel ./pingtunnel -type client -l :1080 -s www.yourserver.com -sock5 1 -key 123456
效果
下载centos镜像 centos mirror,对比如下
不建议直接翻墙使用,因为会被reset,仅做技术交流。