一文打尽端口复用 VS Haproxy端口复用

访客4年前关于黑客接单1094

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

一、概述

Haproxy是一个使用c语言开发的高性能负载均衡 *** 软件,提供tcp和http的应用程序 *** ,免费、快速且可靠。
类似frp,使用一个配置文件+一个server就可以运行。
优点:

大型业务领域应用广泛

支持四层 *** (传输层)以及七层 *** (应用层)

支持acl(访问控制列表),可灵活配置路由

windows使用cygwin编译后可运行(可跨平台)

访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表,这些指令列表用来告诉路由器哪些数据包可以接受,哪些数据包需要拒绝。

二、配置

官方配置手册:https://cbonte.github.io/haproxy-dconv/2.2/configuration.html
配置文件由全局配置和 *** 配置组成:
全局配置(global):定义haproxy进程管理安全及性能相关的参数

*** 设定(proxies):

defaults:为其他配置段提供默认参数,默认配置参数可由下一个"defaults"重新设定

frontend:定义一系列监听的套接字,这些套接字可接受客户端请求并与之建立连接

backend:定义"后端"服务器,前端 *** 服务器将会把哭护短的请求调度至这些服务器

listen:定义监听的套接字和后端的服务器,类似于将frontend和backend段放在一起

示例:

重点关注frontend和backend。
Frontend中需要编写acl规则,配置转发。比如,当http流量来的时候,转发给web服务;当rdp流量来的时候,转发给rdp服务。
Backend中需要编写具体的操作,就是转达到哪个目标的哪个端口。

三、思路

(1) 思路一(通用)

编写acl规则,在四层(传输层)进行负载,根据协议类型进行分发,例如:遇到http流量发送给http服务,遇到rdp发送给rdp服务等。

(2) 思路二

编写acl规则,在七层(应用层)进行负载,判断应用类型进行分发,例如,遇到http分发到http服务,否则发送到xxx服务。

四、步骤

以思路一为例:

通过wireshark捕获tpkt(应用层数据传输协议)信息

编写acl规则路由进行流量分发

添加后端server

原始接口接管

完成

4.1 捕获tpkt

关于tpkt可百度或查看参考链接
三次握手后,开始应用层数据传输。
使用wireshark抓包:
ssh协议:
图片.png

前三个包为三次握手,第四个包的起始三位,便是我们需要的tpkt,例如ssh为535348。
rdp协议:030000

图片.png速查:

协议TPKT
SSH535348
RDP030000
HTTP(GET)474554
HTTP(POS)504f53
HTTP(PUT)505554
HTTP(DEL)44454c
HTTP(OPT)4f5054
HTTP(HEA)484541
HTTP(CON)434f4e
HTTP(TRA)545241
HTTPS160301

4.2 编写acl规则

该配置文件的功能是监听8888端口,将http流量(速查表中http协议的8种tpkt)转发到本地的80上,将ssh流量转发到本地的22端口上,将rdp流量转发到另一主机的3389上。

五、实验

Target1:Ubuntu 16.04 x64

IP:192.168.213.128

开启22端口、80端口

图片.png

Target2:Win7 x64

IP:192.168.213.129

开启3389端口

图片.png启动haproxy,-f 指定配置文件,开启8888端口表示启动成功。-d:调试模式,可不加。

图片.png

HTTP协议:访问靶机的8888端口,流量被haproxy分发至本机的80。

图片.png

RDP协议:访问靶机的8888端口,流量被haproxy分发至192.168.213.129的3389。

图片.pngSSH协议:访问靶机的8888端口,流量被haproxy分发至本机的22。

图片.png

haproxy日志:

图片.png

六、端口重定向

为了不影响正常的80端口的访问,将过来的80端口流量转发到8888端口上。这样用户正常访问80端口时,流量会先转发到8888端口上,再由haproxy转发回80端口。

  • Linux:iptables(不需要重启服务)

访问80可以正常访问:

图片.png

Haproxy日志有记录,说明流量由80先到8888,再回到80。

图片.png

  • Windows:netsh(需要重启web服务)

注意:如果在windows下启用端口重定向,需要在端口启动前添加netsh端口转发规则。

七、参考链接

https://www.cnblogs.com/readygood/p/9776403.html

https://blog.csdn.net/qq_28710983/article/details/82194404

https://wenku.baidu.com/view/9f509844e2bd960591c67723.html?fr=search-1-wk_seaincome

MS08067实验室官网:www.ms08067.com

公众号:" Ms08067安全实验室"

Ms08067安全实验室目前开放知识星球: WEB安全攻防,内网安全攻防,Python安全攻防,KALI Linux安全攻防,二进制逆向入门

最后期待各位小伙伴的加入!

相关文章

怎么监控男朋友的微信聊天信息

最近在刷抖音的时候很多人都在评论里面说芒果发卡。这个话题还有一些小伙伴不知道这是个什么梗。难道真的芒果做的发卡吗。抖音芒果发卡是什么 抖音芒果发卡梗的出处是什么。友谊长存带来相关介绍。 抖音芒果发...

京东白条怎么还款?按时还款怎么盈利呢?

京东白条怎么还款?按时还款怎么盈利呢?

网络购物可以说是深入到每个现代人的生活之中了。这不又快到了11.11,又免不了买买买。京东和天猫作为国内数一数二的电商巨头,成了很多网友的网购选择。对于在京东网购的朋友来说,不少网友结账时会选择打白条...

手机直播怎么赚钱的?最适合手机直播的手机

手机直播怎么赚钱的?最适合手机直播的手机

2G时代我们给朋友发短信;3G时代开始能发照片和语音;今天全民4G,人们开始热衷于能动起来的画面——不管是Live Photo还是8到15秒长度不等的小视频,其所能包含的内容和表现力都要远远胜过单独的...

拼多多货源哪里有(拼多多获取货源的三大途径)

拼多多货源哪里有(拼多多获取货源的三大途径)

要想在拼多多开店的店家,最先第一步便是要寻找高品质一手货源,可是通常它是较难的一步,自身沒有一手货源方式的店家如果仍在为一手货源犯愁,一定要了解不论是网上還是线下推广,都是有高品质的货源供应商供店...

内衣网店代理加盟,老店长教你月入一万的技巧

内衣网店代理加盟,老店长教你月入一万的技巧

经营风险在商业竞争中,随时随地都存在,只是表现为可控还是不可控,内衣行业实体店要做到经营风险可控性高必须注意以下几个方面: 一.正确选择经营模式 经营模式在当下的市场中,可谓百花齐放,争鸣奔艳,哪...

我要找黑客的微信(黑客盗取微信聊天记录)

一般情况不会的,没有那么闲工夫的黑客入侵别人窃取聊天记录玩的 我跟你讲个简单的道理哦!你自己的微信号,换部手机登入,经常还要验证一下对吧,然后进去了,有没有聊天记录?顶多就是最后聊天的那几句话有,有时...