
QiAnXin's XLab 的研究人员本周表示,他们在运行 Control Web Panel(CWP)的 Web 服务器中发现了一个隐藏的后门;CWP 是一款用于管理 Linux 托管服务器的免费面板。
这个被植入后门的 Web 服务器会执行攻击者通过 Web 请求发送的命令,而这些请求从不会出现在其访问日志中。安装它需要 root 访问权限,因此攻击者必须已经控制了服务器。
研究人员将该后门命名为 cwpdoor,并于 6 月 29 日捕获了其安装程序——一个伪装成版本更新的 shell 脚本。该安装程序只处理该 Web 服务器的两个版本:cwpsrv 1.15.10 和 1.24.0。研究人员尚不清楚攻击者如何获得安装程序所需的 root 访问权限。
9 月 30 日,一个包含该后门副本的压缩包从巴西被上传到 VirusTotal。研究人员称,这表明“真实受害者已经存在于实际环境中”。他们没有给出受感染服务器的数量。
研究人员在技术分析中发现,后门就是 cwpsrv 本身,它被加入了额外代码并重新构建。在收到一个请求之前,它的行为与正常程序相同;该请求在名称以 X-Ngx-Integrity 开头的自定义标头中带有有效时间戳和签名。随后,它会运行请求中携带的命令。
当安装程序替换 cwpsrv 文件时,它会把文件日期恢复为原始值,因此用 ls 和 stat 检查时会显示该文件未发生变化。研究人员检查时,该后门文件在 VirusTotal 上的 63 个检测中检出数为零。
检查服务器是否感染后门
XLab 给出了三项检查:
- 套接字:运行 ss -axp | grep integrity。如果结果中出现 ngx_http_integrity_helper——后门使用的 Unix 套接字——则是感染迹象。
- 进程:运行 ps aux | grep cwpsrv,查找由 cwpsrv 启动的异常辅助进程。
- 文件:运行 strings /usr/local/cwpsrv/bin/cwpsrv | grep X-Ngx-Integrity,查找该后门的标头名称。
在研究人员给出的示例中,套接字检查在一台开放端口列表看起来正常的服务器上发现了该后门。

研究人员公布了以下指标:
- MD5:e505d4ffa21cf494a5dc2d7c8f4f1236(安装程序脚本,cwpsrv_update.sh)
- MD5:965aea67fb40de1bab5169ada993349f(被植入后门的 cwpsrv 1.15.10)
- MD5:d3f4e95113d49ab3991b45e457bda75b(被植入后门的 cwpsrv 1.24.0)
- IP:136.0.141[.]71(下载服务器)
- URL:http://136.0.141[.]71/static/cwpsrv_update.sh
- URL:http://136.0.141[.]71/static/cwpsrv_1.15.10
- URL:http://136.0.141[.]71/static/cwpsrv_1.24.0
清理受感染的服务器
如果服务器已受感染,研究人员建议采取三个步骤:
- 从安装程序在 /usr/local/cwpsrv/bin 中创建的备份恢复原始 cwpsrv,该备份的名称以 cwpsrv.prev- 开头,并以日期和时间结尾。研究人员对安装程序的描述称,它会在成功替换后删除“临时文件和备份”,因此这份副本可能已经不存在。
- 升级到最新版本,然后确认 ss -axp | grep integrity 没有返回任何结果。
- 更改所有控制面板凭据,因为该后门可以运行任何命令