12月8日,主机论坛有人发帖表示自己的nginx二进制文件疑似被篡改,网站被挂马,据网友介绍,可能是0day漏洞,目前宝塔方面正在进一步排查。
事件经过
12月28日,主机交流论坛网友发帖表示自己的nginx被篡改,网站被挂马,宝塔疑似存在0day漏洞,宝塔论坛也已有反馈
主机论坛原文链接:https://hostloc.com/thread-1111691-1-1.html
事件分析
据网友“林笑天”介绍,本次事件详情如下:
大家查一下/www/server/nginx/sbin下面是否有 nginx 4.51 MB 文件(其他大小不算)
具体特征:
- 最近修改 nginx 4.51 MB 文件
- 日志被清空
- 存在 bb.tar.gz 这个操作日志 且 与最近修改 nginx 4.51 MB 文件 时间几乎无差
- 查看/tmp/ 下面 是否存在 systemd-private-56d86f7d8382402517f3b5-jP37av (挂马文件)
文件:nginx 4.51 MB
文件:systemd-private-56d86f7d8382402517f3b5-jP37av两个被挂马的人进行了对比 文件一致
目前没有办法复现,只看到一人出现 bb.tar.gz 这个操作日志 与 最近修改 nginx 4.51 MB 文件 时间几乎无差 其他人日志都被清除过
事件原因
宝塔回应如下:
当前有个别用户反馈被挂马的情况,我司立即组织技术团队跟进排查,经过2天的紧急排查,暂未发现Nginx以及面板的安全漏洞,经分析,此木马主要行为是篡改Nginx主程序,以达到篡改网站响应内容。目前累计收到10个用户反馈网站被挂马,均为境外服务器,我们继续全力跟进和协助用户排查Nginx挂马情况,直到溯源出结果。
@写在前面:
nginxBak文件是当在面板更新nginx时 面板会自动备份一份nginxBak文件 防止更新出现异常后无法进行恢复如之前的nginx版本为1.22.0,如果在面板点击更新,更新至1.22.1,就会备份一份1.22.0的主程序文件为nginxBak
同时文件大小不一致的话 是因为通过极速安装包的安装大小一般都为5M、编译方式安装的大小大约为10M以上,而更新走的是编译方式更新
以上nginxBak并非挂马文件
下面是目前已知木马特征:
明显现象:访问自己的网站跳转到其他非法网站
如果出现了上面的现象,则是否符合下面的特征
1、使用无痕模式访问目标网站的js文件,内容中包含:\_0xd4d9 或 \_0x2551 关键词的
2、面板日志、系统日志都被清空过的
3、/www/server/nginx/sbin/nginx 被替换的,或者存在 /www/server/nginx/conf/btwaf/config 文件的
4、*期安装的nginx存在 /www/server/panel/data/nginx\_md5.pl 文件,可与现有文件进行比较确认是否被修改(nginx\_md5.pl文件是我们用来记录上一次安装nginx时的md5值,如果您的网站异常了,可以打开这个文件跟现在的/www/server/nginx/sbin/nginx文件md5做对比)
另外,未出现异常问题正常使用的用户,我们给出加固建议,如果您担心面板存在风险,可以登录终端执行bt stop命令停止面板服务(开启服务命令是bt restart),停止面板服务不会影响您网站的正常运行。
其次,宝塔面板中可以做出下面的措施进行网站、面板、服务器加固
1、升级面板到最新版,已经是最新版的,在首页修复面板,并开启BasicAuth认证
2、nginx升级到当前主版本号的最新子版本,如1.22.0升级到1.22.1,已经是最新版的,请卸载重装
3、因生产需要暂时无法升级面板或nginx的,开启BasicAuth认证,有条件的设置授权IP
5、【企业版防篡改-重构版】插件可以有效防止网站被篡改,建议开启并设置root用户禁止修改文件(需要使用时再放开),另外,将nginx关键执行目录(/www/server/nginx/sbin)锁住
6、【宝塔系统加固】插件中的【关键目录加固】功能,可以将nginx关键执行目录(/www/server/nginx/sbin)锁住,此目录在正常使用中不会有任何修改的行为,除了重装以外其他修改行为均可视为被篡改,所以将它锁上。
如果已经出现明显挂马、异常跳转等问题,可以联系我免费帮忙处理跟进。
请广大网友注意,为了节省资源加速对该问题的处理,已经出问题的用户请联系我,可以加我的企业微信或者qq直接联系,没有出现问题的用户可以帖子留言,感谢使用宝塔面板。
QQ号:1021266737
临时防御措施
目前,宝塔官方尚未确定问题原因,需要等待进一步排查,尚不清楚到底是宝塔存在0day漏洞还是相关用户配置不当导致,基于不怕一万,就怕万一原则,本站现提供临时解决方案:
1.如果发现nginx被篡改请立刻重装nginx,检查网站是否存在异常;
2.安装服务器云锁(https://yunsuo.qianxin.com),其中的“操作系统加固”功能可直接拦截nginx被篡改,同时基于纵深防护体系,云锁还可以有效抵御Sql注入、XSS跨站,CC以及病毒、后门、木马等恶意代码,有效防护服务器及网站安全;
3.使用防篡改软件将/www/server/nginx/sbin/目录锁住;
4.加强人工巡检,不要设置ssh弱密码,加固易被攻击资产。
究竟是否是0day?
目前不得而知,但是根据国内知名安全厂商知道创宇的分析,基本排除是宝塔存在0day漏洞导致,所以宝塔用户无需担心,知道创宇404实验室研究认为,是部分宝塔用户弱口令导致服务器被植入木马,通过远控木马进一步篡改nginx导致,所以,在此iMin提醒,请各位一定不要设置弱密码,必要时可关闭ssh端口或改为密钥验证登录
附录
附件一:云锁可拦截篡改行为
附录二:网上流传情报信息



