heartbleed-vulnerability-exploitation
الوصف
تحقيق عملي في ثغرة Heartbleed (CVE-2014-0160).
الملخص
يوثّق هذا المختبر تحقيقًا عمليًا في ثغرة Heartbleed، وهي عيب خطير في تنفيذ OpenSSL لامتداد نبض TLS (TLS heartbeat extension). كان الهدف هو فهم كيفية عمل الثغرة على مستوى البروتوكول واستغلالها في بيئة مُتحكَّم بها لملاحظة تأثيرها، مع التدرب على مهارات ذات صلة مباشرة بتحليل SOC (تقييم الثغرات وتحليل التأثير).
الهدف
- فهم السبب الجذري لثغرة Heartbleed (التحقق غير الصحيح من الحدود في امتداد النبض في OpenSSL).
- تحديد خدمة OpenSSL مصابة بالثغرة باستخدام أدوات الاستطلاع والفحص.
- استغلال الثغرة في بيئة مختبر مُتحكَّم بها لملاحظة تسريب البيانات.
- توثيق استراتيجيات المعالجة من منظور SOC/المحلل.
البيئة والأدوات
- الهدف: خادم ويب مصاب بالثغرة (nginx 1.15.7 على المنفذ 443) يعمل بإصدار قديم من OpenSSL، جهاز افتراضي معزول في المختبر.
- جهاز المهاجم/المحلل: بيئة تحليل تعمل بنظام Linux.
- الأدوات المستخدمة:
nmap - تعداد الخدمات واكتشاف الثغرات.
Metasploit - وحدة auxiliary/scanner/ssl/openssl_heartbleed للاستغلال.
المنهجية
1. الاستطلاع
- تم تشغيل فحص كامل لمنافذ TCP مع اكتشاف الخدمات/الإصدارات (nmap -sS -vv -p- -A )
- تم تحديد المنافذ المفتوحة: 22 (SSH)، 111 (rpcbind)، 443 (SSL/HTTP).
- تم تحديد بصمة المنفذ 443 على أنه يشغّل ngix 1.15.7 عبر SSL/TLS (مرشح لإصدار OpenSSL قديم)
2. تحديد الثغرة
- تم تشغيل (nmap -sV --script vuln ) لفحص جميع الخدمات المكتشفة مقابل نصوص الثغرات المعروفة.
- تم تأكيد أن الهدف مصاب بثغرة Heartbleed عبر نص NSE المسمى ssl-heartbleed، وتم تصنيفه على أنه عالي الخطورة.
3. الاستغلال
- تم تشغيل إطار عمل metasploit (msfconsole) وتحديد الوحدة ذات الصلة باستخدام (search heartbleed).
- تم اختيار auxiliary/scanner/ssl/openssl_heartbleed ومراجعة خيارات الوحدة.
- تم ضبط RHOSTS وRPORT 443 وverbose true، ثم تشغيل الوحدة.
- أرسلت الوحدة طلب نبض TLS مشوّهًا والتقطت استجابة الخادم المفرطة الحجم، مما أدى إلى تسريب ذاكرة العملية المجاورة.
النتائج
- تم تأكيد أن الهدف (nginx 1.15.7، المنفذ 443) مصاب بالثغرة CVE-2014-0160 عبر كل من نص ssl-heartbleed في nmap وماسح openssl_heartbleed في Metasploit.
- نجح الاستغلال في تسريب ذاكرة الكومة (heap memory) من الخادم، وأعاد سلاسل نصية قابلة للطباعة إلى جانب بيانات ثنائية.
- احتوت الذاكرة المسرّبة على أجزاء من جسم طلب HTTP سابق، بما في ذلك معاملات "user_name وuser_email وuser_message"، مما يُظهر أن Heartbleed يمكن أن يكشف بيانات طبقة التطبيق التي تصادف وجودها في الذاكرة المجاورة.
- لم تكن هناك حاجة إلى أي مصادقة لاستغلال الثغرة، مما يجعلها قابلة للاستغلال من قبل أي مهاجم متصل بالشبكة.
المعالجة
- ترقية OpenSSL إلى إصدار مُرقَّع.
- إبطال وإعادة إصدار أي شهادات SSL/مفاتيح خاصة قد تكون تعرضت للكشف قبل الترقيع.
- فرض إعادة تعيين كلمات المرور للحسابات التي كانت جلساتها نشطة خلال فترة الثغرة.
- تعطيل امتداد heartbeat بالكامل إذا لم يكن الترقيع ممكنًا على الفور.
المهارات المُثبتة
- مسح المنافذ بنطاق كامل وتعداد الخدمات (nmap).
- فحص الثغرات باستخدام سكربتات NSE (vuln، ssl-heartbleed)
- تهيئة وحدة الاستغلال وتنفيذها في إطار عمل Metasploit.
- تحليل السبب الجذري لثغرة تتعلق بسلامة الذاكرة.
- إعداد تقارير الأمان والتخطيط للمعالجة.
المراجع