آسیب‌پذیری در xp_cmdshell

معرفی اکسپلویت

  • پلتفرم آسیب‌پذیر: Microsoft SQL Server
  • نسخه‌های آسیب‌پذیر: تمام نسخه‌های Microsoft SQL Server
  • نوع آسیب‌پذیری: Privilege Escalation و Remote Code Execution (RCE)

توضیحات فنی

xp_cmdshell، یک ویژگی قدرتمند اما پرخطر است که در Microsoft SQL Server تعبیه شده است. این رویه (stored procedure) به کوئری‌های SQL اجازه می‌دهد تا دستورات ویندوز را در سطح SYSTEM اجرا کنند.

جزئیات آسیب‌پذیری

ویژگی xp_cmdshell که برای انجام کارهای مدیریتی طراحی شده است، در صورت پیکربندی نادرست یا سوءاستفاده، به مهاجمان مسیر مستقیمی برای کنترل سرور SQL می‌دهد. این ویژگی به طور پیش‌فرض غیرفعال است، اما مهاجمان می‌توانند آن را در عرض چند ثانیه دوباره فعال کنند، بنابراین دفاع پیشگیرانه کلید اصلی است.

نفوذگران از روش‌هایی مانند تزریق کدهای مخرب SQL، حملات Brute force یا ابزارهایی نظیر PsExec برای فعال کردن و سوءاستفاده از xp_cmdshell استفاده می‌کنند که اغلب منجر به اجرای باج‌افزار، سرقت اطلاعات کاربری یا دیگر حملات خطرناک می‌شود.

نحوه مقابله با آسیب‌پذیری

  • توصیه می‌شود xp_cmdshell غیر فعال یا به شدت محدود شود و درصورتی که استفاده از آن ضروری است، فقط برای مدت زمان انجام امری که به آن نیاز است، این ویژگی فعال شود.
  • لازم است به این نکته توجه شود که هنوز در برخی سازمان‌ها، اتوماسیون‌هایی که وظیفه تبادل کوئری با پایگاه داده SQL را برعهده دارند از رویه xp_cmdshell استفاده می‌کنند. این امر یک آسیب‌پذیری محسوب می‌شود و در صورت امکان باید کد برنامه توسط توسعه‌دهندگان نرم‌افزار بهینه شود.
  • به منظور مقابله با تهدیدات احتمالی و جهت حصول اطمینان از امنیت سیستم، توصیه می‌شود اقدام به نصب آنتی‌ویروس پادویش شود.