原理:两种数据包包同时通过一个端口进行转发,比如一个木马绑定到服务器的一个合法端口,当接收到来自客户端的请求时,会先判断自己的特定包格式,如果是自己的包则自己处理,如果不是再转发给合法端口,攻击人无需与目标服务器建立连接,从而达到隐藏后门的目的。

如上图:

  • 第一步:客户端会先去发送一个请求到服务端的80端口,该请求包可以是http/socks协议
  • 第二步:服务端的80端口收到客户端的请求之后,会直接将请求包直接转发给4444端口
  • 第三步:4444端口收到请求包,会去判断该请求包是什么协议,如果是http协议,就将包发回给80端口,如果是socks协议,则将请求包发给9999端口
  • 总结:这样,就实现了80端口复用。其中,4444端口作为中间人,对请求包进行处理,从而使80端口不仅转发自身的http包,还会转发9999端口的socks包。

最重要的是,目标只需要对外开启80端口即可实现。

除此之外,上面案例中的4444端口其实也可以不用转发给9999端口,它既可以作为中间人,也可以作为socks包的处理者,自己处理socks包即可,无需将请求包发送给9999端口

最后,可以通过自己动手实现端口复用,从而加深理解该技术的原理,具体的实现方法有很多,有简单的也有高深的,以下提供两种简单的实现方法,采用现有的工具实现即可

windows端口复用实现:

端口复用实现_Shanfenglan7的博客-CSDN博客_端口复用

Linux端口复用实现:

linux端口转发_frsocks+protoplex+流量重定向实现端口复用_weixin_39717029的博客-CSDN博客

(权限维持)端口复用原理相关推荐

  1. 管理端口_内网渗透 | 红蓝对抗:Windows利用WinRM实现端口复用打造隐蔽后门

    目录 WinRM端口复用原理 端口复用配置 新增80端口监听 修改WinRM默认监听的端口 远程连接WinRM WinRM端口复用原理 该端口复用的原理是使用Windows的远程管理服务WinRM,结 ...

  2. nginx端口复用配置及原理

    前阵子在nginx中配置服务时,发现服务器只对外开放了80端口,若想服务器提供多项服务,就得考虑端口如何复用了.这里是通过域名也就是server_name字段来区分各项服务的.配置如下: http { ...

  3. 端口映射原理,公网,内网,NA

    端口映射原理,公网,内网,NA<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" ...

  4. 端口映射原理,公网和内网,NA

    端口映射原理,公网,内网,NA 内网的一台电脑要上因特网,就需要端口映射 端口映射分为动态和静态 动态端口映射:内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP ...

  5. linux 端口复用后门,一条命令实现端口复用后门

    说到端口复用,大部分人第一反应肯定是想到内核驱动,需要对网络接口进行一些高大上的操作才能实现.但只要合理利用操作系统提供的功能,就能以简单的方式实现这一目标,本文将公布一种基于内置系统服务的端口复用后 ...

  6. [导入]C#中实现Socket端口复用

    一.什么是端口复用: 因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递交给谁,而且没有权限之分.这种多重绑定便称之为端口 ...

  7. python监听多个udp端口_Python的Socket编程过程中实现UDP端口复用的实例分享

    关于端口复用 一个套接字不能同时绑定多个端口,如果客户端想绑定端口号,一定要调用发送信息函数之前绑定( bind )端口,因为在发送信息函数( sendto, 或 write ),系统会自动给当前网络 ...

  8. 在C#中实现Socket端口复用

    一.什么是端口复用: 因为在winsock的实现中,对于服务器的绑定是可以多重绑定的,在确定多重绑定使用谁的时候,根据一条原则是谁的指定最明确则将包递交给谁,而且没有权限之分.这种多重绑定便称之为端口 ...

  9. STM32-IO引脚复用-原理和使用

    1.什么是端口复用? STM32有很多的内置外设(把一些功能ADC\看门狗-集中到芯片里面),这些外设的外部引脚都是与GPIO复用的.也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个 ...

最新文章

  1. Java中finalize方法用途何在?
  2. Spring JTA multiple resource transactions in Tomcat with Atomikos example--转载
  3. 盖茨推荐人人该读的九本书
  4. uefi多linux系统启动盘,DIY制作无需格BIOS+UEFI双启动U盘工具|支持syslinux+grub+boomgr+grub2多启动...
  5. 关闭Android电池温度告警框,android电源信息查看(电量、温度、电压)实例代码
  6. python 匹配字符串map lambda函数_Python map amp; reduce 以及lambda匿名函数 - jvisualvm - ITeye博客...
  7. shell例题3-百度面试题
  8. fast.ai 深度学习笔记:第一部分第三课
  9. OSChina 周二乱弹 —— 高手应该习惯寂寞
  10. php5.6源码包,PHP-5.6.8 源码包编译安装
  11. Dart教程(四):语法
  12. 低分辨率刷视频看了个寂寞?华为HMS Core超分辨率功能助您一招提升用户体验
  13. 【学习笔记】移动无线信道理论
  14. vue结合高德地图V2.0(JSAPI key搭配代理服务器并携带安全密钥转发)
  15. UVALive 4850 Installations——思维
  16. codeforces:E. MEX and Increments【贪心 + 略加优化】
  17. js 原生cookie封装
  18. varlimo阿米洛机械键盘 win lock锁定
  19. sdp3命令 matlab,Yalmip学习笔记
  20. sqlmap蜜罐原理与实现

热门文章

  1. 之江实验室提出:用于弱监督目标定位的再注意Transformer
  2. Mock和Spy的区别 打桩的区别
  3. Configuration servicename.MapServer can not be started.
  4. PNG免扣透明素材,一个网站告别抠图了。
  5. 线性规划整数规划求解器SCIP的失败使用 与 GLPK的成功使用
  6. python透视表画图_用Python实现数据的透视表的方法
  7. 易观分析:三大协会发声NFT,未来监管走向几何?
  8. 信号与系统小总结:时域与频域
  9. linux下Qt中文乱码问题
  10. 如何将数字字符串转换为数字技巧