本文最后更新于 512 天前,其中的信息可能已经有所发展或是发生改变。
参考文章:https://tryme.wang/archives/202401/macos-fuck-easyconnect.html
前排提醒:此文章针对 macOS 用户。
对于一些院校访问校内网站需使用 VPN,初衷大概是为了安全,但所使用的 EasyConnect 有点不对劲。
首先其会用 root 身份运行两个进程,完全停不掉,并且还会往系统注入一个证书。这会导致两个隐患:
- 这两个进程能读取设备上任意文件,属于是底裤都被看穿了。
- 注入证书就能实现中间人攻击,能监听甚至篡改请求。
因此,就需要对抗这些流氓行为。
首先对于已安装 EasyConnect 的用户,首先需要禁用开机自启。
sudo rm /Library/LaunchDaemons/com.sangfor.EasyMonitor.plist
sudo rm /Library/LaunchAgents/com.sangfor.ECAgentProxy.plist
然后立即重启电脑,然后删除证书:打开「钥匙串访问」-「系统」-「证书」,找到 Sangfor 关键字对证书,右键删除即可。
然后由于 EasyConnect 依赖这两个进程运行,直接启动就用不了了,可考虑两种方案(两种方案将在后续进行验证):
方案一
在 .zshrc 中添加:
startEC() {
/Applications/EasyConnect.app/Contents/Resources/bin/EasyMonitor > /dev/null 2>&1 &
/Applications/EasyConnect.app/Contents/MacOS/EasyConnect > /dev/null 2>&1 &
}
fuckEC() {
function killprocess()
{
processname=$1
killall $processname >/dev/null 2>&1
proxypids=$(ps aux | grep -v grep | grep $processname | awk '{print $2}')
for proxypid in $proxypids
do
kill -9 $proxypid
done
}
killprocess svpnservice
killprocess CSClient
killprocess ECAgentProxy
killprocess /Applications/EasyConnect.app/Contents/MacOS/EasyConnect
pkill ECAgent
pkill EasyMonitor
}
需要使用时打开终端,执行 startEC 即可,用完的时候使用 fuckEC 完全停止 EasyConnect。
方案二
使用 docker-easyconnect/docker-easyconnect 将 EasyConnect 搭建在软路由或 NAS 上,然后在浏览器中使用 zero-peak/ZeroOmega 访问。
此方案将在后续进行验证。