آسیب پذیری امنیتی در bash

3 دیدگاه
دسته بندی: آموزش, امنیت, لینوکس
آسیب پذیری امنیتی در bash

bash یک پوسته یونیکس و مفسر دستورات خط فرمان است  که در اکثر لینوکس‌ها به عنوان پوسته پیش‌فرض نصب می‌شود. علاوه بر لینوکس در سیستم عامل MAC OSX نیز bash پوسته پیش فرض است.

یک آسیب پذیری در bash اعلام شده‌‌است،‌ این حفره به کسانی که به متغییرهای محلی سیستم دسترسی دارند اجازه می‌دهد سیستم محدود کننده متغییرهای محلی bash را رد کند، با وارد کردن کدهای bash آسیب‌زا در متغییرهای محلی سیستم و اجرای این کدها به سیستم، دسترسی بگیرند. 

این آسیب‌پذیری همه محصولاتی که از bash استفاده می‌کنند (همه مخصولاتی که bash را اجرا می‌کنند) را تحت تاثیر قرار می‌دهد.

آسیب‌پذیری bash

آیا bash من آسیب‌پذیر است؟

برای بررسی آسیب‌پذیری bash دستور زیر را در bash وارد کنید.

env x='() { :;}; echo vulnerable'  bash -c "echo this is a test"

چنانچه خروجی دستور به شکل زیر باشد bash آسیب پذیر است و باید bash را به آخرین نسخه به‌روز رسانی کنید.

vulnerable

this is a test

اگر با اجرای دستور خروجی زیر را مشاهده کردید BASH آسیب پذیر نیست. 

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
this is a test

 چند نمونه از برنامه‌های آسیب‌پذیر: 

  • وب‌سرور httpd: اسکرپیت‌های CGI می‌توانند آسیب‌پذیر باشند، هنگامی که وب‌سرور اسکریپت CGI را اجرا می‌کند برای ارسال داده‌ها به اسکریپت از متغییرهای محلی استفاده می‌کند. این متغییرهای محلی ممکن است بوسیله هکر مورد استفاده قرار گیرد.
  • ‫ssh: ممکن است مدیر سیستم با استفاده از آپشن ForceCommand دسترسی کاربران را در ssh محدود کرده باشد و کاربر تنها قادر به اجرای  برنامه‌های خاصی مانند git یا rsync باشد. در این موارد کاربر می‌تواند با دسترسی به متغییرهای محلی هر دستوری را در سرور اجرا کند.
  • ‫dhclient: کلاینت‌های dhcp تنظیمات شبکه را با استفاده از bash انجام می‌دهند چنانچه dhcp کلاینت تنظیمات را از یک سرور dhcp که در اختیار هکر است بگیرد می‌تواند آلوده شود.
  • CUPS: سیستم پرینت CUPS نیز با توجه به اینکه بسیار از تنظیمات را در متغییرهای محلی ارسال می‌کند می‌تواند آسیب‌پذیر باشد.

رفع آسیب‌پذیری bash:

برای رفع آسیب‌پذیری کافی‌است bash سیتسم خود را به آخرین نسخه آپدیت کنید،

در سیستم‌های CentOS برای به‌روز رسانی bash دستور زیر را وارد کنید:

yum update bash

در سیستم‌های ابونتو برای به‌روز رسانی bash دستور زیر را وارد کنید:

 apt-get upgrade bash
امتیاز شما

مایلید هر دو هفته یک ایمیل مفید دریافت کنید؟

ما را در شبکه‌های اجتماعی دنبال کنید

همچنین شاید دوست داشته باشید!

ساخت Swap File در لینوکس

راهنمای ساخت و حذف Swap File در لینوکس

0
Swap File نجات‌دهنده آبروی RAM جلوی کاربر است؛ فایل سیستم کوچکی که هنگام کم آوردن حافظه RAM، وارد صحنه شده و مسئولیت ذخیره داده‌ها را…

نظرات کاربران

3 دیدگاه. دیدگاه تازه ای بنویسید

  • درب اتوماتیک
    5 مهر 1393 12:32

    دستتون درد نکنه بابت اطلاع رسانی به موقع

    پاسخ
  • در صورتیکه از ورژنی از اوبونتو استفاده می کنید که بروز رسانی bash آن منتشر نشده می توانید بروش زیر اقدام کنید:
    2. Check OS codename (for example: saucy)
    lsb_release -a

    3. Search & replace codename to newest release (not necessary if trusty already):
    sudo sed -i ‘s/saucy/trusty/g’ /etc/apt/sources.list

    3. Perform upgrade of bash:
    sudo apt-get update
    sudo apt-get install –only-upgrade bash

    4. Check if problem is fixed:
    env X=”() { :;} ; echo busted” `which bash` -c “echo completed”

    5. Possibly change back your sources.list by running the sed command again with codenames reversed if you don’t want to use the newest repositories.
    sudo sed -i ‘s/trusty/saucy/g’ /etc/apt/sources.list

    منبع:http://cloudgames.com/blog/fix-bash-exploit-old-new-releases-ubuntu-apt-get/

    سایت majazitv.com

    پاسخ
    • ایران‌سرور
      14 مهر 1393 05:29

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

      پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.
شما برای ادامه باید با شرایط موافقت کنید

فهرست