EasyConnect 是流氓软件吗?最近需要访问内网平台,但是必须安装 EasyConnect 才能进入,在此之前我对网上说 EasyConnect 是毒瘤软件不太在意。但是自从安装 EasyConnect 后,我的电脑出现了一些问题,下面一一列举:

问题一:Vmware 每次都需要重置网卡才能在本机连上Linux虚拟机

问题二:启动 CSGO/CS2 后游戏自动关闭,进程被杀(堡垒之夜正常🤣)

问题三:悄悄安装 Sangfor CA 根证书,且证书被删除后会被重新安装。(该证书即使删除,也会由驻留进程再次添加。)

问题四:后台服务常驻,这个软件为什么要常驻?

开始了漫长的问题排查,最后锁定在 EasyConnect 这个软件身上,这里也如有需要还是用 Docker 运行 EasyConnect,或者直接在虚拟机内安装,不要在本机安装。感觉它一直在背后偷偷摸摸地监控电脑

ps:管理员权限常驻进程,意味着这些进程可以读取和写入任何东西;安装根证书,意味着可以直接进行中间人攻击,随意篡改数据。

二、卸载

发现问题后我用 IObitUninstaller 卸载,但卸载后仍有两个进程,路径如下:

1
C:\Program Files (x86)\Sangfor\SSL\SangforPW\

这两个进程必须删除,否则会重新安装已删除的 Sangfor 证书。

建议:卸载后,使用 Everything 搜索Sangfor关键字,找到上述路径并全部删除,当然其中两个进程需在任务管理器结束再删。或使用第三方工具强制删除,我依然推荐 IObitUninstaller。

然后用管理员权限打开 Windows 终端,输入:sc delete SangforPWEx 删除服务

最后两个 .dll 文件,改后缀名后重启即可删除。

1.png

三、删除证书

完全卸载后,还需手动删除两个证书:

Windows 搜索管理用户证书,在受信任的根证书颁发机构中删除 Sangfor 证书;在受信任的发布者中删除 Sangfor 证书。

删除后必须重启检查,避免证书被再次自动安装!

2.png

四、解决方法

在这里我发现了一个大佬的项目:https://github.com/Hagb/docker-easyconnect

这个项目将 EasyConnect 运行在 Docker 容器内,并暴露出一个 Socks5 端口作为代理端口。我们可以在宿主机上使用该 Socks5 代理,当需要访问内网时,通过代理即可。

这样,EasyConnect 就被隔离到一个受控的容器环境中,无需再担心它的潜在风险。下面是具体操作步骤。

我们将使用 Clash 作为代理工具(Netch、Proxifier 等支持 Socks5 的工具也可)。

五、安装 WSL2 & Docker 、VNC Viewer

5.1、安装 WSL2 & Docker

关于安装WSL2,本博客之前有专门的一篇文章这里我就不重复安装方法了,建议查看下面路径安装WSL及Docker:

WSL2 (一) : Windows11 指定路径安装

WSL2 (二) : .wslconfig 限制性能

WSL2 (三) : Docker 安装

5.2、安装 VNC Viewer

这里我们需要图形界面登录 EasyConnect,所以需要安装 VNC Viewer,(不要图形界面就不用安装 VNC Viewer)

我们到官网的下载,选择相应的版本下载安装即可。

VNC Viewer 下载地址:https://www.realvnc.com/en/connect/download/viewer/

六、Docker 运行 EasyConnect

这里我就用图形界面版 EasyConnect 进行演示:

打开 Windows 终端输入:

1
docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=xxxx -e URLWIN=1 -v $HOME/.ecdata:/root -p 127.0.0.1:5901:5901 -p 127.0.0.1:1080:1080 -p 127.0.0.1:8888:8888 hagb/docker-easyconnect:7.6.7

注意:末尾 EasyConnect 版本号 7.6.7 请根据实际情况修改;arm64 和 mips64el 架构需要加入 -e DISABLE_PKG_VERSION_XML=1 参数;59011080端口如果你有其他服务在占用需要换成其他的端口号;

这里我改成15901和11080 端口,密码为1234:

1
docker run --rm --device /dev/net/tun --cap-add NET_ADMIN -ti -e PASSWORD=1234 -e URLWIN=1 -v $HOME/.ecdata:/root -p 127.0.0.1:15901:5901 -p 127.0.0.1:11080:1080 -p 127.0.0.1:8888:8888 hagb/docker-easyconnect:7.6.7

然后打开 VNC Viewer,点击左上角的 File -> New connection,或者快捷键 Ctrl + N,新建一个链接,在弹出的对话框中的 VNC Server 中填入 127.0.0.1:5901,Name 随意。

3.png

点击 OK 后,双击创建的链接,输入密码 1234 进行连接。进入熟悉的界面,输入地址、用户名和密码后即可关闭。

Docker 中运行的 EasyConnect 后续不需输入手机验证码,使用更加方便。因为这个项目本身会记住输入的服务器地址,后续用时只需点击登录即可。

4.png

至此,11080 端口上会运行一个 socks5 代理,我们可以在需要时通过 Clash 进行转发。

八、使用 Clash

现在我们已经有了一个 11080 的 sosks5,但是需要工具代理,这里我就用 Clash

首先运行 Clash,点击左侧导航栏的 Profiles,你会看到一个默认的 config.yaml,如果你有其他配置文件也可以编辑其他配置文件。点击你想编辑的配置文件右边的形如 < > 的按钮,在最后增加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
mixed-port: 7890
allow-lan: false
external-controller: 127.0.0.1:56830
secret: de1de074-c2a2-482a-b9c7-d5ea976812d2
proxies:
- name: EasyConnect
type: socks5
server: 127.0.0.1
port: 1080
proxy-groups:
- name: Sangfor
type: select
proxies:
- EasyConnect
rules:
- DOMAIN-SUFFIX,xxxx-it.com,EasyConnect
- DOMAIN,devops-new.dc.xxxx-sc.com,EasyConnect

注意:这里的 rules,我填写的是域名,指的是:只有访问 xxxx-it.com后缀的域名和devops-new.dc.xxxx-sc.com域名才会走上面配置的那个 socks5 代理,这里需要根据你的实际情况进行更改。(Clash支持 指定IP等等都可以)

当然,你如果是编辑你自己的配置文件,需要在原来的 proxiesrules 下新增,而不能再新增这两个属性。

到这一步,在 Clash 的 General 页面,将 System Proxy 打开,你就已经可以访问对应内网的网页了,我这里云盘直接使用也是打不开,在设置里面添加对应的代理即可

5.png

但是不可以使用远程桌面等功能,如果需要使用这些功能,还需要进一步配置。