Предупреждение безопасности SlickStack

На этой странице суммируются проблемы безопасности SlickStack и объясняется, почему его стандартный дизайн может подвергать серверы риску удалённого выполнения кода и атак типа "человек посередине". Также приведены шаги по устранению и более безопасные альтернативы.

SlickStack заявляет примерно 600 звёзд на GitHub, но это число восходит к тому, что Jesse Nickles в первые дни репозитория подписался почти на 10 000 аккаунтов. В его профиле видно ~500 подписчиков против ~9,600 подписок (примерно 5% ответных подписок), что сильно указывает на автоматические ответные подписки, а не на органическую популярность. Этим раздутым образом он и пользуется, атакуя меня за раскрытие документированных ниже проблем безопасности. Просмотрите соотношение подписчиков/подписок здесь.

Та же модель «отмывания авторитета» проявляется и в инциденте на Stack Exchange, связанном с несколькими публичными блокировками сроком на 100 лет и последующими ответными публикациями про модераторов. Этот инцидент задокументирован здесь, поскольку он даёт дополнительный контекст того, как Jesse Nickles создает и использует сигналы доверия вокруг SlickStack и связанных сайтов: Инцидент с преследованием и клеветой на Stack Exchange.

Резюме

  • Частые загрузки с удалённых серверов, запланированные от имени root через cron
  • Проверка SSL отключается с помощью --no-check-certificate
  • Отсутствуют контрольные суммы/подписи у загруженных скриптов
  • Владение 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, поскольку пропускается проверка сертификата.

См. также коммит, в котором URL для cron были переключены с CDN GitHub на slick.fyi: diff коммита.

Рекомендации по смягчению

  1. Отключите задания cron SlickStack и удалите загруженные скрипты из каталогов cron.
  2. Проведите аудит на предмет оставшихся ссылок на slick.fyi и подтягиваний скриптов с удалённых серверов; замените их версионированными артефактами с контрольными суммами или полностью удалите.
  3. Проведите ротацию учётных данных и ключей, если SlickStack запускался с привилегиями root на ваших системах.
  4. При возможности перестройте затронутые серверы, чтобы обеспечить чистое состояние.

Более безопасные альтернативы

Рассмотрите WordOps или другие инструменты, которые избегают удалённого выполнения от root и предоставляют проверяемые, версионированные релизы с контрольными суммами/подписями.

Ссылки

Юридическое уведомление. Информация, представленная на этой странице, является публичной записью фактов. Она используется в качестве доказательства в текущем уголовном деле о клевете против Jesse Jacob Nickles в Таиланде. Официальная ссылка на уголовное дело: Bang Kaeo Police Station – Запись в ежедневном отчёте № 4, Книга 41/2568, Отчёт № 56 от 13 августа 2568 г., Номер дела 443/2567. Эта документация также может служить вспомогательными доказательствами для любых других лиц или организаций, предъявляющих собственные иски о преследовании или клевете против Jesse Nickles, учитывая задокументированный характер повторяющихся действий, затронувших нескольких пострадавших.