我是靠谱客的博主 无私草莓,最近开发中收集的这篇文章主要介绍IPtables进行端口复用第一种方式:ICMP做遥控开关第二种方式:利用tcp数据包的关键字做遥控开关,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

目录

  • 第一种方式:ICMP做遥控开关
    • 1、创建端口复用链
    • 2、创建端口复用规则,将流量转发至22端口
    • 3、开启开关
    • 4、关闭开关
    • 5、let's do it
  • 第二种方式:利用tcp数据包的关键字做遥控开关
    • 1、端口复用链
    • 2、端口复用规则(与上面一致)
    • 3、开启开关
    • 4、关闭开关
    • 5、let's do it

第一种方式:ICMP做遥控开关

缺点在于如果目标在内网,无法直接ping到它

1、创建端口复用链

iptables -t nat -N HTTP_TO_SSH

在这里插入图片描述
我们可以查看是否创建

iptables -nvxL -t nat

在这里插入图片描述

2、创建端口复用规则,将流量转发至22端口

iptables -t nat -A HTTP_TO_SSH -p tcp -j REDIRECT --to-port 22

在这里插入图片描述

3、开启开关

如果接收到一个长为1139的ICMP包,则将来源IP添加为oupeng的列表中

iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1139 -m recent --set --name oupeng --rsource -j  ACCEPT

在这里插入图片描述

4、关闭开关

如果接收到一个长为1140的ICMP包,则将来源IP从oupeng列表中去掉

iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name oupeng --remove -j ACCEPT

在这里插入图片描述

5、let’s do it

如果发现SYN包的来源IP处于oupeng列表中,将跳转到LETMEIN链进行处理,有效时间为3600秒

iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name oupeng --rsource -j HTTP_TO_SSH

在这里插入图片描述
如下图我们可以看见5个链ok了
在这里插入图片描述
开启复用前,WEB是可以访问的:
开启复用

ping -c 1 -s 1111 192.168.81.130

在这里插入图片描述
向目标发送一个长度为1111的ICMP数据包(加上包头28,总长度实际为1139)
如下图,我们可以看到用ssh可以登陆到端口80上
在这里插入图片描述

关闭复用

ping -c 1 -s 1112 192.168.81.130

向目标发送一个长度为1112的ICMP数据包(加上包头28,总长度实际为1140)

第二种方式:利用tcp数据包的关键字做遥控开关

优点在于不怕目标在内网

1、端口复用链

2、端口复用规则(与上面一致)

3、开启开关

iptables -A INPUT -p tcp -m string --string 'zhimakaimen' --algo bm -m recent --set --name oupeng --rsource -j ACCEPT

4、关闭开关

iptables -A INPUT -p tcp -m string --string 'zhimaguanmen' --algo bm -m recent --name oupeng --remove -j ACCEPT

5、let’s do it

iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 -name oupeng --rsource -j LETMEIN

开机复用,开启后本机到目标80端口的流量将转发至目标的SSH,80将无法在被本机访问:

echo  threathuntercoming | socat - tcp:192.168.81.130

关闭复用,关闭后,80回复正常:

echo threathunterleaving | socat - tcp:192.168.81.130

最后

以上就是无私草莓为你收集整理的IPtables进行端口复用第一种方式:ICMP做遥控开关第二种方式:利用tcp数据包的关键字做遥控开关的全部内容,希望文章能够帮你解决IPtables进行端口复用第一种方式:ICMP做遥控开关第二种方式:利用tcp数据包的关键字做遥控开关所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部