clash杂谈

使用了cfw多时,前段时间(上一年😀)突然爆出漏洞,趁现在有空马上迁移到我的Linux虚拟机中去,那么问题来了,用什么开源项目好捏?
抱着这个疑问,疯狂的google了一个下午,顺便搞明白了大概的运作方式(其实不难)
先说明:我的cfw是旧版0.18??,现在最新版是0.20.27,内核?(忘记了因为更新前忘记看了😃)

clash的前后端分离以及rec漏洞

前后端分离

其实之前使用的时候就觉得奇怪了
1
2
3
4
5
6
PS C:\233333\bugaosuni> tasklist |findstr /i clash
Clash for Windows.exe 3180 Console 20 89,768 K
Clash for Windows.exe 15148 Console 20 60,700 K
Clash for Windows.exe 24696 Console 20 44,300 K
Clash for Windows.exe 18964 Console 20 112,176 K
clash-win64.exe 6212 Console 20 27,648 K

为什么多了一个不同的进程?

1
2
3
4
5
6
7
8
9
10
11
12
13
├───locales
└───resources
└───static
├───files
│ ├───default
│ └───win
│ ├───common
│ │ └───tun2socks
│ │ ├───amd64
│ │ └───i386
│ └───x64 # 这个
│ └───service
└───imgs
1
2
3
4
5
6
7
8
9
└───x64  # 开源的内核放在这里的
│ clash-win64.exe #这里
│ clash-win64.exe.sign
go-tun2socks.exe
│ wintun.dll

└───service
clash-core-service.exe
service.exe

其实我们每次启动的cfw是这几个Clash for Windows.exe
然后他再去调用内核,内核生成配置文件
其实这里有个有趣的事情,题外话了(内核是 GPL-3.0 license.👀)
路径:C:\Users\你的用户名\.config\clash

1
2
3
4
5
6
7
8
9
cache.db
config.yaml #内核自动下载的
│ Country.mmdb #内核自动下载的
│ wintun.dll

├───logs
└───profiles
1233333332333.yml #这里是你导入的配置文件
list.yml #这里

core的config.yaml内容如下:(cfw默认生成,它动手脚了,下面我会说为啥)

1
2
3
4
5
mixed-port: 7890 # 混合
allow-lan: true #允许lan,也就是开放给同一局域网的人用
external-controller: 127.0.0.1:65213 # 漏洞重点,漏洞的原因就是这个功能
secret: c3ba3c77-8e1e-4f1b-ab5d-3b1cb2a6408e # 算是一种补丁

第一次单独运行内核的输出

1
2
3
16:58:41 INF [Config] can't find config, create a initial config file path=C:\Users\WDAGUtilityAccount\.config\clash\config.yaml
16:58:41 INF [MMDB] can't find DB, start download path=C:\Users\WDAGUtilityAccount/.config/clash/Country.mmdb
16:58:44 INF [Inbound] Mixed(http+socks) listening addr=127.0.0.1:7890

他有提示说下载yaml和mmdb文件,默认混合port7890,翻看文件还会发现生成了个cache.db
然后yaml内容如下

1
2
mixed-port: 7890
# 没了,其他功能要自己手动编写

其他功能要自己手动编写
https://dreamacro.github.io/clash/
自己翻文档看😁

cfw更改了默认配置config.yaml(core的)使其更加安全,默认锁定127.0.0.1,无法改为0.0.0.0,需要进面板关闭设置,secret 每次启动会随机生成(随机的 随机生成吗?有时候重启又不会变就很sao)
关于这个
external-controller: 127.0.0.1:65213

secret: c3ba3c77-8e1e-4f1b-ab5d-3b1cb2a6408e
可以看这个👇
https://clash.gitbook.io/doc/restful-api
也就是前后端分离,方便开发者套一个精美的壳,主要干活的还是内核。

rce漏洞

主要原理就是构造恶意的订阅链接,骗xdm下载然后执行任意的JavaScript

主要攻击方式
骗你点进网站,在网站里放入构造好的playload,流量经过clash内核就会自动下载、切换、执行、gg。
Linux、window和mac都会中招
参考:
https://classic0796.com/index.php/archives/26/
https://www.freebuf.com/vuls/323348.html

总结

  1. 网上链接不要乱点,在电脑中的软件不要太多(ps:不大可能),容易被Living Off The Land。
  2. 安装自己喜欢的杀软
  3. 一定要修改默认设置,一定要修改默认设置,一定要修改默认设置,一定要修改默认设置(天天说但是每次都百试百灵,什么默认密码不改,默认端口,默认路径)
  4. 养成良好上网习惯(误🧐)

clash杂谈
https://zixv33.github.io/2023/06/29/clash杂谈/
作者
zixv33
发布于
2023年6月29日
许可协议