مقال : شرح ثغرة GHOST وكيفية إكتشافها وترقيعها
سمعنا في الفترة الأخيرة عن ثغرة GHOST التي أصابت أنظمة تشغيل Linux , وهي ثغرة من نوع Buffer overflow أصابت مكتبة GNU C Library وإختصارها Glibc وتحديداً في الدالة __nss_hostname_digits_dots() المستخدمه من قبل الدالة الرئيسية gethostbyname() , وجاءت تسمية ثغرة Ghost من “GetHost” وكما ذكرت هي المقطع الأول من إسم الدالة الرئيسية gethostbyname وكما تم الإشارة إليها بالرمزCVE-2015-0235 , سوف نقوم بهذا المقال إن شاء الله من عمل تعريف بسيط جداً بالثغرة وكيفية إكتشافها على السيرفرات والأجهزة الخاصة بكم التي تعمل بنظام Linux وكذلك ترقيعها بشكل كامل.
الثغرة تم إكشتافها من قبل شركة qualys الأمريكية المختصه في أمن المعلمات والثغرة هذه تصيب أغلب توزيعات Linux وهذه التوزيعات المصابة نقلاً عن أحد المصادر الأجنبية :
- RHEL (Red Hat Enterprise Linux) version 5.x, 6.x and 7.x
- CentOS Linux version 5.x, 6.x & 7.x
- Ubuntu Linux version 10.04, 12.04 LTS
- Debian Linux version 7.x
- Linux Mint version 13.0
- Fedora Linux version 19 or older
- SUSE Linux Enterprise 11 and older (also OpenSuse Linux 11 or older versions).
- SUSE Linux Enterprise Software Development Kit 11 SP3
- SUSE Linux Enterprise Server 11 SP3 for VMware
- SUSE Linux Enterprise Server 11 SP3
- SUSE Linux Enterprise Server 11 SP2 LTSS
- SUSE Linux Enterprise Server 11 SP1 LTSS
- SUSE Linux Enterprise Server 10 SP4 LTSS
- SUSE Linux Enterprise Desktop 11 SP3
- Arch Linux glibc version <= 2.18-1
حسناً دعونا نقوم الأن بذكر نبذه أكبر قليلاً عن هذه الثغرة , كما ذكرنا أن الثغرة هي بالأساس موجوده داخل مكتبة Glibc في دالة التابعة للدالة الرئيسية gethostbyname , لذلك إمكانية الإستغلال لهذه الثغرة تتيح للمخترق أن يقوم بتشغيل اكواد ضاره عن بعد من خلال هذه الثغرة والحصول على إختراق كامل للنظام , ويفيد بعض الباحثيين الأمنيين أنه من الممكن أن يكون هنالك إستغلال للثغرة في تطبيقات ويب مشهورة مثل WordPress والتي مبرمجة بالأساس من خلال لغة php.
من الجدير بالذكر أيضاً ان الثغرة ظهرت مسبقاً في عام 2000 في الإصدار glibc-2.2 حسب مقالة مكتوبة عن الثغرة في مجتمع شركة qualys.
طبعاً العديد من مدراء الأنظمة وأصحاب المواقع يتسألون عن كيفية ترقيع هذه الثغرة وإكتشافها وسوف أشرح الان كيفية إكتشاف الثغرة في الأجهزة والخوادم الخاصة بنا ومن ثم كيفية ترقيعها بشكل سريع جداً.
شركة qualys نشرت مسبقاً الكود المصدري لبرنامج صغير بلغة C يقوم بتحديد ما إذا كانت الثغرة موجوده في النظام أم لا , وسوف أشرح الأن كيفية ترجمة هذا البرنامج وتشغيله على أجهزتنا أو على أحد السيرفرات الخاصة بنا ومن ثم إكتشاف ما إن كان مصاب بالثغرة أم لا وأخيراً كما ذكرت سوف نقوم بترقيعه مباشرة.
سوف نقوم بتحميل وعمل ترجمة للملف من خلال سطر الأوامر الخاص بي والموجود على جهازي والذي يعمل بنظام Ubuntu 14.04 LTS , وفي ما يلي كيفية عمل ترجمة للملف وتشغيله وقرأة النتيجة :
كما نرى قمنا بتحميل الملف المرفق من خلال wget ومن ثم قمنا بترجمة الملف بإستخدام الأمر gcc -o file source.c وبعد ذلك قمنا بإعطائه صلاحيات التنفيذ ليظهر لنا السطر “not vulnerable” والذي يشير بأن النظام ليس مصاب.
دعونا نقوم بالتنفيذ على سيرفر خاص بالتجارب ل iSecur1ty ونرى في حال كان مصاب أم لا وكيفية ترقيعه في حال كان مصاب 😀
بعد سحب البرنامج وترجمته وتنفيذه ظهر لنا التالي :
كما نرى السطر vulnerable أي أن السيرفر مصاب .. لترقيع الثغرة بشكل سريع سوف نقوم بإستخدام الأمر yum update حيث بعد إصدار ترقيع لمجموعة إصدارات تم تضمينها للمستودعات الخاصة ببعض التوزيعات ,ولأننا نستخدم نظام CentOS إستخدمنا yum update وفي حال كنت تستخدم Debian أو Ubuntu قم بتحديث الحزم من خلال apt-get , وهذه النتيجة بعد إنتهاء التحديث وتشغيل الملف مره أخرى :
يجب عمل إعادة تشغيل للخادم لكي يقوم النظام بتثبيت التحديثات بشكل صحيح وتفعيلها وتستطيعون عمل إعادة تشغيل للنظام من خلال الأمر reboot
إن شاء الله خلال الأيام القادمة وبعد التأكد من أن الثغرة تم ترقيعها في أكبر عدد ممكن من الخوادم سوف نقوم بعمل شرح فيديو يتحدث عن كيفية إستغلالها بإذن الله تعالى 🙂
نتمنى أن يكون نال المقال إعجابكم وبإذن الله ونراكم في مقالات أخرى 🙂
ممكن سورس البرنامج الدي يقوم بالبحث عن التغرة
الرابط موجود بالمقال
http://www.isecur1ty.org/wp-content/uploads/2015/02/glibc-ghost.c
لكن ما هي طريقة استغلال هذه الثغرة
سوف نقوم إن شاء الله عزيزي بنشر كيفية الإستغلال قريباً 🙂 كما ذكرت بالمقال مسبقاً بأننا ننتظر ترقيع أكبر عدد من الخوادم لكي نستطيع نشر الإستغلال بإذن الله تعالى 🙂
شكرا جزيلا لك أخي الكريم
العفو عزيزي عصام 🙂
شكراً ، تمنيت لو كان بالفيديو 🙂 ، لكن على كلٍ جزاكم الله خيراً .
العفو عزيزي وسوف نحاول أن يكون شرح الإستغلال من خلال الفيديو 🙂
thanks sir mohamed
هل من الممكن ان تحدد موعد نشر استغلال الثغره !
سلام عليكم اخي محمد شرح وافي وافي بارك الله فيك
ممكن حسابك اخي
انا ناصف ام بدة من السودان عوز تخصص هندسة اشو احسن فى هندسة البرمجة