آسیب‌پذیری خطرناک در Bash

آســـیب پذیری CVE-2014-6271 چیست؟

مشکل امنیتی ShellShock یکی از جدی‌ترین مشکلات امنیتی سال ۲۰۱۴ در دنیای متن‌باز بوده. از آن‌جایی‌که bash به‌عنوان پوسته‌ی اصلی تعداد بسیار زیادی از سرورها استفاده می‌شود و همچنین واسطی است برای تفسیر cgi ها برای آپاچی، درنتیجه تعداد بسیار زیادی از سرورهای جهان در معرض خطر حمله به‌وسیله این باگ قرار دارند. در این نوع حمله، مهاجم با استفاده از sshd ،mod_cgi و mod_cgid می‌تواند کد دلخواه را به سرور تزریق و آن را اجرا کند.
این نوع حمله به دلیل پیچیدگی بسیار کم و عدم نیاز به احراز هویت، امتیاز ۱۰ از ۱۰ را در خطرناک بودن کسب کرده است.

ShellShock چگونه کار می‌کند؟

فرد مهاجم با ارسال مقدار «() {:; };» در سرآمد درخواست (Header) و ارسال کد موردنظر به آن می‌تواند کد دلخواه را بر روی سرور اجرا نماید. درواقع ما در مرحله‌ی اول از bash می‌خواهیم هیچ کاری انجام ندهد و در مرحله‌ی بعد کدی که می‌خواهیم اجرا شود را به آن ارسال می‌کنیم.
آیا سیستم ما در معرض خطر است؟

شما می‌توانید تعداد بسیار زیادی از نسخه‌هایی که این مشکل رادارند در اینترنت بیابید و یا کد زیر را بر روی سیستم خود اجرا کنید:

env X="() {:;}; echo shellShock" /bin/sh -c "echo stuff"

اگر شما مقدار shellShock را در خروجی دریافت کردید یعنی سیستم شما از این آسیب‌پذیری رنج می‌برد. برای رفع این مشکل تنها کافی است که سیستم خود را به‌روزرسانی کنید.
اسکریپتی برای آزمون سرورها به فارسی نوشته‌شده که عملیات آزمون را بر روی سرورها و بدون اجرای دستور مخرب بر روی آن‌ها انجام می‌دهد. این اسکریپت که به زبان پایتون است و در نشانی http://webcare.ir:81/shell قابل‌دستیابی است، با دریافت محل cgi-bin موردنظر، با احتمال بسیار زیادی مشخص می‌کند که سرور موردنظر دارای باگ shellShock است یا خیر. کد مربوط به این سرویس به‌صورت آزاد منتشرشده و از طریق گیت‌هاب در اختیار همگان قرار داده‌شده تا در صورت نیاز نسبت به تغییر و بهبود و شخصی‌سازی آن اقدام کنند.
http://webcare.ir:81/shell/
درنهایت این‌که سرویس فوق تنها برای آزمون آسیب‌پذیری سرورها ایجاد شده است و از آن نباید برای صدمه زدن به سیستم‌های دیگر استفاده نمود.