📝Full bug的日常
1.4K subscribers
63 photos
2 videos
51 files
66 links
技术分享,此频道主要发布更新日志
Download Telegram
clash正在代理你的流量😁

图片来源: x.com@Yenaifa
🥰132
config.yml
352 B
此配置文件即可触发之前所说的bug

利用原理:

mihomo对flow参数上的xtls-rprx-direct值已不再支持,触发内核进程退出代码,从而导致服务不可用。
koipy v1.7.3 (2024-09-21)

1. 支持使用 sub-store 进行订阅转换
2. 当subconveter与sub-store同时使用时,sub-store将优先使用

以下是启用sub-store的配置示例:

substore:
enable: true
backend: http://localhost:3000/download/sub?target=ClashMeta
ua: "ClashMeta/0.17.0"


sub-store 是一个订阅管理工具,它可以将订阅里面的节点信息进行修改覆写,通过排序,过滤,重新组合等操作,重新输出成一个新的配置文件,而且有一个非常友好的前端界面,可以方便地管理订阅。

koipy 仅使用 sub-store其中的订阅转换功能。

sub-store 文档指南:

https://xream.notion.site/Sub-Store-abe6a96944724dc6a36833d5c9ab7c87
https://t.me/zhetengsha/214
由于有人搭建sub-store出现了亿丢丢问题,所以决定将在此版本开始支持sub-store自动部署。

🔔Koipy v1.7.7 发布包
⬆️更新日志:


1. 优化洪水攻击防护触发阈值为1秒
2. 修复订阅转换无法识别 hy2://
3. 支持sub-store自动部署,相关配置 substore.autoDeploy
4. 支持设置sub-store的部署路径,相关配置 substore.path
5. 支持设置sub-store的js运行时,目前koipy自动下载的运行时为bun,相关配置 substore.jsRuntime
6. 自动部署的sub-store后端端口为3000,监听地址为127.0.0.1,暂时无法修改。如需修改,请手动部署sub-store
7. 修复sub-store套娃转换导致节点测试的问题
8. 修复并优化构建脚本,感谢 @qianlongzt 的代码贡献
👍1
已封车
一些非常高深的问题😁:

1) 0.5 ✖️ 0.8 =?
2) 13.8和13.11哪个大
3) 光年是长度单位还是时间单位
4) 空气中含量最多的成分是什么
5) tan90° 是多少
6) -1² = ?
#公开测速杂谈

目前节点测速bot进行公开测试还是有一定的瓶颈的,最主要的原因就是TG官方对api有速率限制

详见: https://core.telegram.org/bots/faq#my-bot-is-hitting-limits-how-do-i-avoid-this

本人无法获知能否提高这个限制阈值,也不知道其他tg bot的开发者是如何解决这个问题的。

速率限制会影响bot处理业务的能力,直观的感受就是有时候在公开群组无法及时获得响应,造成卡顿的错觉。

一个比较草率的结论就是,节点公开测试bot不会成为主流,这也是为什么在koipy后续版本中砍掉了公开测试功能。
这几天会更新一篇文章,谈谈现如今代理界网络拓扑分析的主要现状以及原理,敬请期待

#节点拓扑分析杂谈
👍114
等mihomo项目组正式发布新版本就同步更新,感谢上游开发组。
👍1
以下操作可以获取到测试bot的主端IP:

1. 订阅链接内容获取 (暴露给机场方)
2. 主端对后端进行ws连接,后端可获取到IP (暴露给后端)

如果你希望能尽力避免测速bot遭受DDOS攻击,可尝试以下配置:

network:
httpProxy: "http://host:port" # http代理,如果设置的话,bot会用这个拉取订阅


为每个后端设置单独的HTTP代理:

slaveConfig: # 后端配置
slaves:
- type: miaospeed # 固定值,目前只这个支持
id: "localmiaospeed" # 后端id
token: "ZfffaQ4/E-7S" # 连接密码
address: "127.0.0.1:8765" # 后端地址
proxy: http://username:password@proxy.example.com:7890 # 为此后端设置专门的http代理


这样配置好后,仅有代理服务器知晓bot的IP
11👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Clash-verge-rev service提权漏洞浅浅复现一下

作用:可以让任意程序提权到system(Windows)、root(*nix系)
版本影响:截止本消息发布前的拥有 clash-verge-service的所有版本
建议:临时禁用clash-verge-service服务,直到项目组修复
👍3
某些还在坚持Clash for Windows(简称CFW)的守旧派不要沾沾自喜哦😋

替换旧版内核为新版mihomo内核可以继续使用,但是这仅限于不开启服务模式。

CFW的服务进程(clash-core-service)在某一次更新中对内核文件进行了签名校验。意味着一旦通过改名更换内核文件,将无法使用服务模式,因为更换之后的校验无法通过。

当然如果替换旧版的服务进程,自然是没有签名校验的,但是这个情况下也就和clash-verge-rev差不多了,依旧存在本地提权漏洞

所以还是要及时更新科学上网的工具滴😷

晚点更新CFW的"漏洞"演示
👌7
This media is not supported in your browser
VIEW IN TELEGRAM
随手录的

利用Clash for Windows(CFW)服务模式进程进行提权的概念验证演示

前提条件:

1. CFW服务进程不是最新版或较新版本,较新版本加入了对内核文件的签名校验

本演示在用的CFW版本为停更的最后一版(0.20.39),此版本加入了签名校验,所以我找了一个未加入签名校验的版本进行替换,来演示早期CFW版本存在本地提权漏洞。cfw的作者在较新版本填补这个漏洞,所以用户无需担心

仅供娱乐,请勿较真


另外,如果大家想看绕过CFW针对内核文件进行签名校验的话,我可以单独出一期视频
4🤡1
Clash for Windows 的clash-core-service是服务模式的实现程序

其签名校验的验证逻辑如下:

1. 内核文件为clash-win64.exe,对应的签名文件为clash-win64.exe.sign

2. CFW服务进程通过开放HTTP API进行内核文件的启动管理

3. 开放的HTTP端口为53000
提供的接口有:
http://127.0.0.1:53000/start POST 启动内核进程
/stop GET 停止内核进程
/ping GET 确认接口是否存活,响应内容为“pong”
/command POST 可用来执行任意程序

4. 对/start和/command传进来的二进制路径中,对该路径所指向的文件进行sha256 hash

5. 将该 hash 用512位RSA私钥进行签名,然后进行 base64编码,得到签名字符串
6. 将该签名字符串与 对应文件名.sign 文件进行比对(比如文件名为clash.exe,那么就去找clash.exe.sign),如果正确才继续执行。
7. 自此验证逻辑结束

如果以上逻辑有不足之处,还望海涵
👍1
cfwtool.py
4.5 KB
相关代码参考
今天稍微研究了下另一个Clash GUI —— clash-nyanpasu

项目地址:https://github.com/libnyanpasu/clash-nyanpasu

发现它的的服务模式也存在本地提权漏洞(目前仅测试Win),但是好在作者在源码作了TODO计划,说明发现了问题。另外,clash-nyanpasu默认不开启服务模式,普通用户无需担忧

漏洞产生原因:

nyanpasu-service 在 Windows 下使用了不安全的 SecurityDescriptor 配置 D:(A;;GA;;;WD)
这个配置允许所有用户(WD=Everyone)完全访问(GA=Generic All)
脚本可以利用这一点,以普通用户权限通过 Named Pipe 直接调用特权级 API

不过这个提权会比rev要麻烦一些,但依旧可以利用
👍7
subconverter目前有任意文件读取漏洞,想用的话先把它丢在docker里运行

提示: 这个利用非常简单

https://github.com/tindy2013/subconverter/issues/845