扫码领资料
获网安教程
免费&进群
前言
frp 反弹确实很爽,但是很多时候这 B 服务器不出网,或者说动不动就被流量设备检测到了
linux 下可以使用 iptables 做端口复用,windows 下就没啥办法了。
除非你花一大笔钱找微软买个签名把驱动给签了然后做端口复用,这个土豪的方法我们先不提。
还有一个方法就是使用 Neo 这种类型的,挺好用的,但是有没有更快一点的方案?
比如。。。websocket?直接长连接?直接做到原生 tcp 的运行效率?
二话不说,开干!
iptables 端口复用
这里就随口提一下 iptables 端口复用
如果我们直接请求目标服务器的任意端口,只要能在 netstat -anpt
里面看到我们的请求 IP,我们就能根据这个 IP 用 iptables 做一个端口转发
iptables -t nat -A PREROUTING -p tcp -s 我们的IP --dport 目标WEB端口 -j REDIRECT --to-port 转发端口
GOST
原本想动手写的,但是想了想还是不能乱造轮子,于是乎 github 稍微搜索了一番,愉快的找到了这个工具
项目地址:GOST(https://github.com/ginuerzh/gost)
我们目标也很简单,就是听个 websocket 的代理,然后使用各种中间件中转,最后用本地代理,设置级联就行
项目里的功能正好符合我们的需要,我们只需要在远程服务器上,运行
gost -L ws://:7000
然后在中间件各种配置,最后在我们本地使用
gost -L=:8080 -F=ws://远程web地址:远程web端口
就可以使用 web 端口复用走 Web 的,长连接的,websocket 的代理了
Nginx中间件配置
nginx 的配置挺简单的,一个端口转发就行
location /ws {
proxy_redirect off;
proxy_pass http://ws监听ip:本地ws监听代理;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 300s;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
Nginx 有个好,就是有热重载功能,直接一句 nginx -s reload
就行,至少不怕炸原本的业务
Apache
Apache 修改的就有点多了, 得给配置文件添加模块引用。然而唯一有点安慰的就是,这玩意的模块是自带的。
先引用模块,有两个方案,直接用命令
sudo a2enmod proxy proxy_http proxy_ajp proxy_balancer mod_proxy_wstunnel.so
或者直接在你的 conf 里面添加,把上面这些模块都加进去
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so # 填写apache模块的绝对路径``....
然后写入代码
ProxyPass /ws ws://127.0.0.1:7000/ws
最后再 service apache2 reload
就行
IIS
windows 就不大一样了,可以图形化点点点,也能命令行,啊,但是命令行操作我不会.jpg
应该可以用 powershell 解决,但是 windows 上其实非常滴麻烦,因为要手动安装两个模块,并不自带
所以推荐还是 Neo 或者 IIS 插件后门,除非你觉得管理员水平实在太差。
首先是启用 Websocket,打开控制面板,启用或删除 windows 功能
选上Websocket
接下来就是安装 ARR 和 URL REWRITE
安装 ARR:(https://www.iis.net/downloads/microsoft/application-request-routing)
安装 URL REWRITE:(https://www.iis.net/downloads/microsoft/url-rewrite)
然后配置 ARR
点击启用就行
然后配置一个 URL 转发,找到你的项目吃,点击 URL 重写
咱们也不需要什么通配符,直接完全匹配 GOST 的 ws 就行
其他中间件
原理基本就是配一个 websocket 转发,大差不差
进阶
上面的 ws 全部应该都可以改成 MWS,我看 gost 是支持多路复用的,虽然不知道实际提升有多大,但是听起来很牛逼,那就当它很牛逼就好了
还有一个就是 ws 的通讯协议没加密,可以考虑升级 WSS,但是 WSS 配置又会遇到很多很麻烦的东西。最典型的就是证书啊证书啊证书啊。
还有一个就是 gost 的 ws 默认监听路由也得改一改,流量特征太大了。这些后续都要自己处理一下,避免实战中被发现。
来源:https://9bie.org/index.php/archives/969/
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
学习更多渗透技能!体验靶场实战练习
(hack视频资料及工具)
(部分展示)
往期推荐
【精选】SRC快速入门+上分小秘籍+实战指南
爬取免费代理,拥有自己的代理池
漏洞挖掘|密码找回中的套路
渗透测试岗位面试题(重点:渗透思路)
漏洞挖掘 | 通用型漏洞挖掘思路技巧
干货|列了几种均能过安全狗的方法!
一名大学生的黑客成长史到入狱的自述
攻防演练|红队手段之将蓝队逼到关站!
巧用FOFA挖到你的第一个漏洞
原文始发于微信公众号(白帽子左一):不同中间件端口复用代理解决方案
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论