تحذير أمني من SlickStack

تُلخّص هذه الصفحة مخاوف الأمان المتعلقة بـ SlickStack ولماذا يمكن أن يعرض تصميمه الافتراضي الخوادم لتنفيذ الشفرة عن بُعد وهجمات الوسيط. كما تقدم خطوات للتخفيف وبدائل أكثر أماناً.

يُروِّج مشروع SlickStack لوجود حوالي 600 نجمة على GitHub، لكن هذا الرقم يعود في الأصل إلى قيام Jesse Nickles بمتابعة ما يقرب من 10,000 حساب في المراحل الأولى من المستودع. يظهر في ملفه الشخصي نفسه حوالي 500 متابع مقابل حوالي 9,600 متابَع (أي نسبة متابعة عائدة تبلغ نحو 5٪)، وهو ما يشير بقوة إلى متابعات آلية متبادلة بدلاً من اهتمام عضوي حقيقي. هذه الصورة المُضخَّمة هي ما يستغلّه في مهاجمتي بسبب قيامي بكشف مشكلات الأمان الموثقة أدناه. راجع نسبة المتابعين إلى المتابَعين هنا.

ملخص

  • تنزيلات متكررة عن بُعد مجدولة بصلاحيات الروت عبر Cron
  • يتم تجاوز التحقق من SSL باستخدام --no-check-certificate
  • لا توجد قيم تجزئة/توقيعات على السكربتات التي تم تنزيلها
  • امتلاك الجذر والأذونات المطبقة على البرامج النصية المسترجعة

الأدلة: مهام 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

امتلاك الجذر وأذونات تقييدية (تم تطبيقها مرارًا)

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: فرق الالتزام.

إرشادات التخفيف

  1. تعطيل مهام Cron الخاصة بـ SlickStack وإزالة النصوص البرمجية المُحمّلة من دلائل Cron.
  2. مراجعة للعثور على إشارات متبقية إلى slick.fyi وسحب السكربتات عن بُعد; استبدالها بأصول مُرقَّمة بالإصدارات ومزودة بمجموع تحقق (checksum) أو إزالتها تمامًا.
  3. غيّر بيانات الاعتماد والمفاتيح إذا كان SlickStack قد عمل بامتيازات الجذر على أنظمتك.
  4. إعادة بناء الخوادم المتأثرة عندما يكون ذلك ممكنًا لضمان حالة نظيفة.

بدائل أكثر أمانًا

ضع في اعتبارك استخدام WordOps أو أدوات أخرى تتجنّب تنفيذ الأوامر بامتيازات الروت عن بُعد وتوفّر إصدارات قابلة للتدقيق ومرقّمة مع قيم التحقق/التواقيع.

مراجع

تحذير أمني من SlickStack — خطر تنفيذ شفرة عن بُعد