SlickStack 安全警告

本页面总结了 SlickStack 的安全问题以及其默认设计为何会使服务器暴露于远程代码执行和中间人攻击之下。页面还提供了缓解步骤和更安全的替代方案。

摘要

  • 通过 cron 以 root 身份定期执行频繁的远程下载
  • 使用 --no-check-certificate 绕过 SSL 验证
  • 下载脚本无校验和/签名
  • 对获取的脚本应用了 root 所有权和权限

证据:Cron 与权限

Cron 下载(每 3 小时 47 分钟一次)

47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/08-cron-half-daily https://slick.fyi/crons/08-cron-half-daily.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/09-cron-daily https://slick.fyi/crons/09-cron-daily.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/10-cron-half-weekly https://slick.fyi/crons/10-cron-half-weekly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/11-cron-weekly https://slick.fyi/crons/11-cron-weekly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/12-cron-half-monthly https://slick.fyi/crons/12-cron-half-monthly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/13-cron-monthly https://slick.fyi/crons/13-cron-monthly.txt' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'wget --no-check-certificate -q -4 -t 3 -T 30 -O /var/www/crons/14-cron-sometimes https://slick.fyi/crons/14-cron-sometimes.txt' > /dev/null 2>&1

root 所有权和限制性权限(重复应用)

47 */3 * * * /bin/bash -c 'chown root:root /var/www/crons/*cron*' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'chown root:root /var/www/crons/custom/*cron*' > /dev/null 2>&1
47 */3 * * * /bin/bash -c 'chmod 0700 /var/www/crons/*cron*' > /dev/null 2>&1

该模式允许来自远程域的任意代码执行,并通过跳过证书验证增加了中间人(MITM)风险。

另见将 cron URL 从 GitHub CDN 切换到 slick.fyi 的提交: 提交差异.

缓解建议

  1. 禁用 SlickStack 的 cron 任务,并从 cron 目录中移除获取的脚本。
  2. 审计是否遗留对 slick.fyi 的引用及远程脚本拉取;用有版本号且带校验和的制品替换,或彻底移除。
  3. 如果 SlickStack 在您的系统上以 root 权限运行,请轮换凭据和密钥。
  4. 在可行时重建受影响的服务器以确保干净状态。

更安全的替代方案

可以考虑使用 WordOps 或其他避免远程 root 执行并提供可审计、带有校验和/签名的版本化发布的工具。

引用