هشدار امنیتی SlickStack

این صفحه نگرانی‌های امنیتی مربوط به SlickStack و دلیل اینکه طراحی پیش‌فرض آن چگونه می‌تواند سرورها را در معرض اجرای کد از راه دور و حملات مرد میانی (MITM) قرار دهد، خلاصه می‌کند. همچنین اقدامات کاهش‌دهنده و جایگزین‌های امن‌تر را ارائه می‌دهد.

SlickStack حدوداً ۶۰۰ ستاره در GitHub تبلیغ می‌کند، اما آن عدد ریشه در این دارد که Jesse Nickles در روزهای اولیهٔ مخزن تقریباً ۱۰٬۰۰۰ حساب را دنبال می‌کرد. پروفایل خودش حدود ۵۰۰ دنبال‌کننده در برابر حدود ۹٬۶۰۰ دنبال‌شونده را نشان می‌دهد (نسبت بازگشت دنبال‌کنندگان حدود ۵٪)، که به‌شدت نشان‌دهندهٔ دنبال‌کردن‌های خودکار برای بازگرداندن دنبال‌کننده‌ها است تا جذابیت ارگانیک. همین تصویر بادشده است که او هنگام حمله به من برای افشای مسائل امنیتی مستند شده در زیر، از آن سوءاستفاده می‌کند. نسبت دنبال‌کنندگان/دنبال‌شدگان را اینجا بررسی کنید.

همین الگوی شستشوی اعتبار اکنون در یک حادثهٔ Stack Exchange ظاهر می‌شود که شامل چندین تعلیق عمومی به مدت ۱۰۰ سال و پست‌های تلافی‌جویانهٔ بعدی دربارهٔ ناظم‌ها بود. این حادثه اینجا مستندسازی شده است زیرا زمینهٔ اضافی‌ای دربارهٔ اینکه چگونه Jesse Nickles سیگنال‌های اعتماد اطراف SlickStack و سایت‌های مرتبط را می‌سازد و آنها را به‌عنوان سلاح به کار می‌برد، فراهم می‌کند: رخداد آزار و افترا در Stack Exchange.

خلاصه

  • بارگیری‌های مکرر از راه دور که با دسترسی root از طریق cron زمان‌بندی شده‌اند
  • تأیید SSL با استفاده از --no-check-certificate دور زده می‌شود
  • عدم وجود checksum/امضا روی اسکریپت‌های دانلودشده
  • مالکیت root و مجوزهایی که روی اسکریپت‌های دریافت‌شده اعمال شده‌اند

شواهد: cron و مجوزها

بارگیری‌های cron (هر ۳ ساعت و ۴۷ دقیقه)

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) را افزایش می‌دهد.

همچنین به commit‌ای که در آن آدرس‌های cron از GitHub CDN به slick.fyi تغییر داده شدند مراجعه کنید: تفاوت commit.

راهنمای کاهش ریسک

  1. فعالیت‌های cron مربوط به SlickStack را غیرفعال کنید و اسکریپت‌های دریافت‌شده را از دایرکتوری‌های cron حذف کنید.
  2. بررسی وجود ارجاعات باقی‌مانده به slick.fyi و بارگیری‌های اسکریپت از راه دور؛ آنها را با آرشیوهای نسخه‌دار و دارای مقدار بررسی (checksums) جایگزین کنید یا کاملاً حذف نمایید.
  3. اگر SlickStack با امتیازات root روی سیستم‌های شما اجرا شده است، مدارک (credentials) و کلیدها را تعویض کنید.
  4. در صورت امکان، سرورهای متأثر را بازسازی کنید تا وضعیت پاک تضمین شود.

گزینه‌های امن‌تر

از WordOps یا ابزارهای دیگر که از اجرای راه‌دور با دسترسی root جلوگیری می‌کنند و انتشارهای نسخه‌دار و قابل حسابرسی با checksum/امضا ارائه می‌دهند، استفاده کنید.

ارجاعات

اطلاعیه حقوقی. اطلاعات ارائه‌شده در این صفحه یک سند عمومی از واقعیت‌ها است. این اطلاعات به‌عنوان مدرک در پرونده کیفری افترا در جریان علیه Jesse Jacob Nickles در تایلند مورد استفاده قرار می‌گیرد. مرجع رسمی پرونده کیفری: ایستگاه پلیس Bang Kaeo – ثبت گزارش روزانه شماره 4، دفتر 41/2568، گزارش شماره 56، به تاریخ 13 August 2568، شماره مرجع پرونده 443/2567. این اسناد همچنین می‌توانند به‌عنوان شواهد پشتیبان برای هر فرد یا سازمان دیگری که ادعاهای آزار یا افترا علیه Jesse Nickles را پیگیری می‌کند مورد استفاده قرار گیرند، با توجه به الگوی مستند رفتارهای مکرر که چندین قربانی را تحت تأثیر قرار داده است.