一文打尽 Linux/Windows端口复用实战

本文详细介绍了Linux和Windows系统下的端口复用技术,包括iptables在Linux中的应用,以及HTTP.sys和WinRM在Windows上的端口共享。通过端口复用,可以隐蔽攻击行为,例如在内网渗透中将3389或22端口转发到80端口。文章提供了详细的配置和实验步骤,以帮助读者理解并实践端口复用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文作者:Spark(Ms08067内网安全小组成员)

Spark微信(欢迎骚扰交流):


       定义:端口复用是指不同的应用程序使用相同端口进行通讯。

场景:内网渗透中,搭建隧道时,服务器仅允许指定的端口对外开放。利用端口复用可以将3389或22等端口转发到如80端口上,以便外部连接。

示意图:

功能:

    • 端口复用可以更好地隐蔽攻击行为,提高生存几率。

    • 端口复用有时也用作通道后门。

特点:

    • 端口复用在系统已开放的端口上进行通讯,只对输入的信息进行字符匹配,不对网络数据进行任何拦截、复制类操作,所以对网络数据的传输性能几乎没有影响。

一、Linux端口复用


1.概述

使用iptables实现端口复用,使用socat进行连接。

使用该方法开启的端口复用为有限的端口复用,复用后端口正常业务会受影响,仅用于后门留存,或者临时使用,不建议长期使用。

2.原理

(1) iptables

iptables是linux下的防火墙管理工具。

    • 真正实现防火墙功能的是netfilter,它是linux内核中实现包过滤的核心。

    • 免费。

    • 可实现封包过滤、封包重定向网路地址转换(NAT)等功能。

(2) 数据通过防火墙流程

(3) 链

链是一些按顺序排列的规则的列表。

    • PREROUTING链——对数据包作路由选择前应用此链中的规则(所有的数据包进来的时侯都先由这个链处理)

    • INPUT链——进来的数据包应用此规则链中的策略

    • OUTPUT链——外出的数据包应用此规则链中的策略

    • FORWARD链——转发数据包时应用此规则链中的策略

    • POSTROUTING链——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

(4) 表

表由一组预先定义的链组成。

    • filter表——用于存放所有与防火墙相关操作的默认表。通常用于过滤数据包。

    • nat表——用于网络地址转换

    • mangle表——用于处理数据包

    • raw表——用于配置数据包,raw 中的数据包不会被系统跟踪。

(5) 链和表的关系及顺序

    • PREROUTING: raw -> mangle -> nat

    • INPUT: mangle -> filter

    • FORWARD: mangle -> filter

    • OUTPUT: raw -> mangle -> nat -> filter

    • POSTROUTING: mangle -> nat

(6) 表和链的关系

实际使用中是从表作为操作入口:

    • raw 表:PREROUTING,OUTPUT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值