دليل شامل لاختراق صندوق Blue في Hack The Box: استغلال ثغرة EternalBlue

دقائق القراءة: 6

تُعد منصة Hack The Box (HTB) بيئة تدريبية افتراضية تتيح لك صقل مهاراتك في اختبار الاختراق. تحتوي المنصة على مجموعة واسعة من التحديات المتجددة باستمرار، والتي تتراوح بين محاكاة سيناريوهات العالم الحقيقي وصولاً إلى تحديات بأسلوب مسابقات التقاط العلم (CTF). ملاحظة: يُسمح فقط بكتابة شروحات عن أجهزة HTB التي تم سحبها من الخدمة.

واجهة منصة Hack The Box الرئيسية

يُعد صندوق Blue أحد أبسط الأجهزة المتاحة على منصة Hack The Box، ولكنه يقدم عرضاً حياً للتأثير المدمر لثغرة EternalBlue الشهيرة. هذه الثغرة استُخدمت سابقاً في اختراق العديد من الشركات عبر هجمات الفدية (ransomware) واسعة النطاق وهجمات تعدين العملات المشفرة. في هذا الدليل، سنستخدم الأدوات التالية لاختراق هذا الصندوق على نظام Kali Linux:

  • nmap
  • searchsploit
  • metasploit
  • meterpreter

لنبدأ رحلتنا. الخطوة الأولى هي إضافة إدخال للصندوق Blue في ملف /etc/hosts الخاص بنا. يمكننا القيام بذلك باستخدام محرر النصوص nano:

nano /etc/hosts
10.10.10.40 blue.htb

إضافة إدخال Blue في ملف hosts

الخطوة 1: الاستطلاع وجمع المعلومات

قبل الشروع في استغلال أي نظام، تُعد مرحلة الاستطلاع وجمع المعلومات (Reconnaissance) خطوة حاسمة. هذه المرحلة هي الأساس الذي يحدد مسار الاستغلال المحتمل، وكلما أمضيت وقتاً أطول في جمع المعلومات، زادت فرص نجاحك في تحديد الثغرات المناسبة.

مسح المنافذ باستخدام Nmap

سنستخدم أداة Nmap (Network Mapper)، وهي أداة مجانية ومفتوحة المصدر لاكتشاف الشبكات وتدقيق الأمن. تعتمد Nmap على حزم بروتوكول الإنترنت الأولية لتحديد المضيفين المتاحين على الشبكة، والخدمات التي يقدمونها، وأنظمة التشغيل التي يعملون عليها، وأنواع مرشحات الحزم/جدران الحماية المستخدمة، وعشرات الخصائص الأخرى. توفر هذه الأداة العديد من الأوامر القوية لمسح الشبكة. للمزيد من المعلومات، يمكنك الاطلاع على وثائق Nmap الرسمية.

واجهة Nmap أثناء عملية المسح

لإجراء مسح شامل ومفصل، سنستخدم الأمر التالي:

nmap -A -v blue.htb
  • -A: يُفعّل اكتشاف نظام التشغيل، واكتشاف الإصدارات، وفحص السكربتات، وتتبع المسار (traceroute).
  • -v: يزيد من مستوى التفاصيل في الإخراج (verbosity).
  • blue.htb: اسم المضيف (hostname) لصندوق Blue.

إذا وجدت النتائج كثيرة جداً وغير واضحة، يمكنك تجربة الأمر المبسّط التالي:

nmap blue.htb

نتائج مسح Nmap المبسّط

من خلال تحليل نتائج المسح، نلاحظ وجود عدد من المنافذ المفتوحة، أبرزها:

  • المنفذ 445: خدمة Microsoft-DS (Directory Services) SMB لمشاركة الملفات.

لقد حصلنا أيضاً على معلومات حول اسم الكمبيوتر (haris-PC) وإصدار بروتوكول SMB (2.02). يُعد بروتوكول Server Message Block (SMB) بروتوكول شبكة يمكّن المستخدمين من التواصل مع أجهزة الكمبيوتر والخوادم البعيدة لاستخدام مواردها أو مشاركة الملفات وفتحها وتحريرها. بالنظر إلى اسم الصندوق، وكونه يعمل بنظام Windows مع فتح المنفذ 445، يمكننا أن نفترض أن الجهاز قد يكون عرضة لثغرة EternalBlue. للتحقق من هذه الفرضية، سنستخدم سكربت Nmap المخصص لاكتشاف الثغرات:

nmap --script vuln -p 445 blue.htb

نتائج فحص Nmap لثغرات SMB

تؤكد النتائج أن الصندوق معرض لثغرة تنفيذ التعليمات البرمجية عن بُعد (Remote Code Execution) في خوادم Microsoft SMBv1، والمعروفة بالرمز ms17-010.

الخطوة 2: فهم ثغرة MS17-010 (EternalBlue)

ما هي ms17-010؟ ثغرة EternalBlue هي استغلال هجوم سيبراني تم تطويره بواسطة وكالة الأمن القومي الأمريكية (NSA). تم تسريبها من قبل مجموعة قراصنة Shadow Brokers في 14 أبريل 2017، بعد شهر واحد من إصدار مايكروسوفت لتصحيحات لهذه الثغرة. (المصدر: ويكيبيديا). تم تصحيح هذه الثغرة وإدراجها في نشرة مايكروسوفت الأمنية بالرمز MS17-010. تسمح EternalBlue للمخترقين بتنفيذ تعليمات برمجية عشوائية عن بُعد للحصول على وصول إلى الشبكة. تستغل هذه الثغرة ضعفاً في بروتوكول SMB الخاص بنظام التشغيل Windows، ويمكن أن تؤدي إلى اختراق الشبكة بأكملها والأجهزة المتصلة بها.

رسم بياني يوضح آلية عمل EternalBlue

يمكن للبرمجيات الخبيثة التي تستخدم EternalBlue أن تنتشر عبر الشبكات بسهولة. في عام 2017، استخدمت برمجية الفدية WannaCry الشهيرة، والتي تُصنف كـ crypto-ransomware، استغلال EternalBlue لانتشارها الذاتي عبر الشبكات وإصابة جميع الأجهزة المتصلة.

الخطوة 3: استغلال ثغرة EternalBlue

للبحث عن استغلالات (exploits) معروفة لثغرة EternalBlue، سأستخدم أداة Searchsploit. تُعد Searchsploit أداة بحث سطر الأوامر لقاعدة بيانات الاستغلالات (Exploit Database). سأقوم بتشغيل الأمر التالي:

searchsploit eternalblue

نتائج البحث عن EternalBlue باستخدام Searchsploit

للحصول على تفاصيل أكثر حول استغلال معين، يمكن استخدام الأمر searchsploit -x متبوعاً بمعرف الاستغلال، على سبيل المثال:

searchsploit -x 41738.py

تفاصيل استغلال EternalBlue عبر Searchsploit

يمكنك أيضاً زيارة قاعدة بيانات الاستغلالات (Exploit Database) مباشرة للبحث عن الاستغلالات، على سبيل المثال:

صفحة استغلال EternalBlue في Exploit Database

الرابط: https://www.exploit-db.com/exploits/42315

يوجد أيضاً وحدة (module) متاحة ضمن إطار عمل Metasploit لاستغلال هذه الثغرة. سنستخدم Metasploit، وهو إطار عمل لاختبار الاختراق يُسهّل عمليات الاختراق، ويُعد أداة أساسية لكل من المهاجمين والمدافعين.

وحدة Metasploit لـ EternalBlue

الرابط: https://www.rapid7.com/db/modules/exploit/windows/smb/ms17_010_eternalblue

شعار Metasploit

الموقع الرسمي: https://www.metasploit.com/

سأقوم بتشغيل إطار عمل Metasploit على نظام Kali Linux والبحث عن الأمر المناسب للاستغلال. لا تنسَ تحديث Metasploit عند تشغيله باستخدام الأمر التالي:

msfupdate

تحديث Metasploit

يمكنك أيضاً التحقق مما إذا كان الهدف معرضاً لثغرة EternalBlue باستخدام وحدة مساعدة (auxiliary module) في Metasploit. ابدأ بالأمر التالي:

search eternalblue

ثم اختر الوحدة المناسبة (غالباً ما تكون الخيار الأول) باستخدام الأمر:

use 1

أو يمكنك تحديدها مباشرة بالمسار الكامل:

auxiliary/scanner/smb/smb_ms17_010

البحث عن وحدات EternalBlue في Metasploit

يمكنك مراجعة الخيارات المتاحة للوحدة باستخدام الأمر show options، ثم قم بتعيين المضيف الهدف (RHOSTS) إلى blue.htb باستخدام الأمر:

set RHOSTS blue.htb

بعد ذلك، قم بتشغيل الوحدة المساعدة باستخدام الأمر:

run

ستلاحظ أن المضيف من المرجح أن يكون عرضة لثغرة MS17-010! الآن، لننتقل إلى وحدة الاستغلال الفعلية. يمكنك اختيارها باستخدام الأمر use 2 (إذا كانت الخيار الثاني في نتائج البحث) أو مباشرة بالمسار الكامل:

exploit/windows/smb/ms17_010_eternalblue

تحديد وحدة استغلال EternalBlue في Metasploit

نحتاج إلى إعداد خيارات RHOSTS (المضيف الهدف) و LHOST (المضيف المحلي). في حالتي، كان عنوان LHOST هو 10.10.14.24. ستحتاج إلى تعيين LHOST الخاص بك وفقاً لعنوان IP لجهاز Kali Linux الخاص بك.

إعداد خيارات RHOSTS و LHOST
التحقق من عنوان IP المحلي (LHOST)

قبل تشغيل الاستغلال، يمكنك التحقق مرة أخرى مما إذا كان الجهاز عرضة للثغرة. سيقوم هذا الأمر بتشغيل الوحدة المساعدة التي استخدمناها سابقاً باستخدام الأمر:

check

التحقق من الثغرة قبل الاستغلال

بعد التأكد، سأقوم بتشغيل الاستغلال باستخدام الأمر:

run

تشغيل استغلال EternalBlue

قد يتطلب الأمر تشغيل الاستغلال عدة مرات قبل الحصول على جلسة Meterpreter ناجحة. إليك تعريف Meterpreter من Offensive Security: “Meterpreter هي حمولة (payload) متقدمة وقابلة للتوسيع ديناميكياً، تستخدم مراحل حقن مكتبات DLL في الذاكرة وتتوسع عبر الشبكة أثناء وقت التشغيل. تتواصل عبر مقبس المرحلة (stager socket) وتوفر واجهة برمجة تطبيقات Ruby API شاملة من جانب العميل. تتميز بسجل الأوامر، والإكمال التلقائي (tab completion)، والقنوات، والمزيد.”

جلسة Meterpreter ناجحة

لنبدأ بجمع بعض المعلومات الأساسية. الأمر getuid يُرجع معرف المستخدم الحقيقي للعملية المستدعية.

الحصول على معرف المستخدم (UID) في Meterpreter

يشير NT Authority\SYSTEM أو حساب LocalSystem إلى حساب Windows مدمج يُعد الأقوى على أي نسخة Windows محلية. هذا يعني أننا حصلنا على صلاحيات إدارية كاملة على الجهاز المستهدف.

الخطوة 4: البحث عن علم المستخدم (user.txt)

سأنتقل إلى مجلد haris ضمن Documents and Settings. يمكنني عرض جميع الملفات والمجلدات باستخدام الأمر التالي:

ls -la

ثم سأنتقل إلى مجلد Desktop باستخدام الأمر:

cd Desktop

التنقل إلى مجلد سطح المكتب والعثور على user.txt

وهنا، وجدت علم المستخدم (user flag)! يمكنني عرض محتويات الملف باستخدام الأمر:

cat user.txt

الخطوة 5: البحث عن علم الجذر (root.txt)

لنبحث الآن عن علم الجذر (root flag). سأعود إلى مجلد Users وأتحقق من مجلد Administrator/Desktop. وها هو العلم!

العثور على علم الجذر (root.txt)

سأستخدم الأمر التالي لعرض محتويات الملف:

cat root.txt

تهانينا! لقد عثرت على كلا العلمين بنجاح.

إجراءات التخفيف والحماية

للتخفيف من مخاطر ثغرة EternalBlue وغيرها من الثغرات المماثلة، يُنصح باتباع الإجراءات الوقائية التالية:

  • تحديث أجهزتك بتصحيح الأمان الخاص بـ Microsoft Windows SMB v1. يمكنك مراجعة نشرة مايكروسوفت الأمنية لمعرفة أنظمة التشغيل المتأثرة.
  • تعطيل بروتوكول SMB v1 واستخدام الإصدارات الأحدث SMB v2 أو SMB v3.
  • تطبيق مبدأ الحد الأدنى من الامتيازات (Principle of Least Privilege) على جميع أنظمتك وخدماتك.

الخلاصة التقنية

يُظهر هذا الدليل العملي كيف يمكن لثغرة قديمة مثل EternalBlue أن تظل خطيرة إذا لم يتم تطبيق التصحيحات الأمنية اللازمة. لقد نجحنا في اختراق صندوق Blue في Hack The Box من خلال مراحل الاستطلاع الدقيقة، وتحديد الثغرة في بروتوكول SMBv1، ثم استغلالها بفعالية باستخدام إطار عمل Metasploit للحصول على صلاحيات إدارية كاملة والعثور على الأعلام المطلوبة. يؤكد هذا التمرين على أهمية التحديثات الأمنية المنتظمة وتطبيق مبادئ الأمن السيبراني الأساسية لحماية الأنظمة من الهجمات المعروفة.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *