تحليل آلة Valentine على Hack The Box: فهم ثغرة Heartbleed ومسار الاستغلال خطوة بخطوة

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

مقدمة إلى تحدي Valentine على منصة Hack The Box

تُعد منصة Hack The Box من أشهر البيئات العملية لتطوير مهارات اختبار الاختراق وتحليل الأنظمة. فهي توفر مختبرات متنوعة، بعضها يحاكي سيناريوهات واقعية، وبعضها يأتي بأسلوب قريب من مسابقات CTF. وفي هذا المقال سنستعرض آلة Valentine، وهي من الآلات السهلة نسبياً، لكنها تركز على واحدة من أخطر الثغرات التي هزّت عالم الأمن السيبراني: ثغرة Heartbleed.

هذا التحليل مخصص للأغراض التعليمية وعلى الآلات المصرح بها فقط، مع الالتزام بأن الكتابات التفصيلية الخاصة بمنصة HTB تُنشر عادة للآلات المتقاعدة.

صورة افتتاحية لتحدي Valentine على منصة Hack The Box بطابع تقني وأمنيلقطة شاشة لآلة Valentine ضمن منصة Hack The Box

الأدوات المستخدمة في التحليل

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

  • Nmap
  • Nmap Scripting Engine
  • Gobuster
  • Searchsploit
  • xxd
  • OpenSSL
  • SSH
  • tmux

هذه الأدوات لا تُستخدم عشوائياً، بل يكمل بعضها بعضاً: فالأولى للاستطلاع، والثانية لاكتشاف الثغرات، ثم تأتي أدوات استخراج المعلومات وفك الترميز والوصول النهائي.

المرحلة الأولى: الاستطلاع وجمع المعلومات

أهمية مرحلة الاستكشاف قبل أي استغلال

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

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

يمكن تنفيذ فحص مكثف للهدف عبر الأمر التالي:

nmap -A -v 10.129.1.190

تشغيل أداة Nmap لإجراء فحص أولي على آلة Valentineنتائج فحص المنافذ على آلة Valentine باستخدام Nmap

يشير الخيار -A إلى تفعيل اكتشاف نظام التشغيل، وتحديد الإصدارات، وتشغيل السكربتات، وتنفيذ traceroute. أما -v فيزيد من مستوى التفاصيل أثناء الفحص.

أظهر الفحص وجود ثلاثة منافذ مفتوحة:

  • المنفذ 22: خدمة SSH للوصول الآمن عن بُعد.
  • المنفذ 80: خدمة HTTP.
  • المنفذ 443: خدمة HTTPS.

فحص الثغرات عبر سكربتات NSE

بعد معرفة المنافذ المفتوحة، يمكن الانتقال إلى فحص الثغرات المعروفة باستخدام محرك سكربتات Nmap:

nmap --script vuln 10.129.1.190

تنفيذ فحص الثغرات عبر سكربتات Nmap على Valentine

يوفر Nmap Scripting Engine مرونة عالية في أتمتة مهام الشبكات وتحليل الخدمات. وغالباً ما توجد السكربتات على المسار التالي:

/usr/share/nmap/scripts

مجلد سكربتات Nmap على نظام الاختبار

كما يمكن البحث عن سكربت محدد باستخدام grep عند الحاجة.

البحث عن سكربتات محددة داخل مجلد Nmap scripts

ومن أهم ما ظهر في النتائج أن النظام متأثر بثغرة ssl-heartbleed.

نتيجة تكشف قابلية الخدمة لثغرة ssl-heartbleed

كما توفّر النتائج مراجع مهمة لفهم الثغرة بشكل أعمق، مثل:

  • قاعدة بيانات CVE لدى MITRE.
  • النشرة الأمنية الرسمية لمشروع OpenSSL.

مرجع CVE الخاص بثغرة Heartbleedالنشرة الأمنية الرسمية من OpenSSL المتعلقة بثغرة Heartbleed

ما هي ثغرة Heartbleed؟

ثغرة Heartbleed هي خلل أمني شهير أصاب مكتبة OpenSSL. ظهرت الثغرة في عام 2012، ثم كُشف عنها علناً في أبريل 2014. خطورتها نابعة من أنها تسمح للمهاجم بقراءة أجزاء من ذاكرة الخادم أو العميل المتأثر، ما قد يؤدي إلى تسريب كلمات المرور، والمفاتيح الخاصة، وبيانات الجلسات، وغير ذلك من المعلومات الحساسة.

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

موقع Heartbleed التوضيحي الخاص بالثغرة الأمنيةرسم توضيحي ساخر يشرح مفهوم ثغرة Heartbleed

المرحلة الثانية: فحص واجهة الويب

بعد الاستطلاع، من المنطقي البدء بالخدمة العاملة على المنفذ 80. عند زيارة الصفحة، تظهر واجهة بسيطة تحتوي على صورة مرتبطة بهوية ثغرة Heartbleed، ما يعزز الفرضية التي خرجنا بها من نتائج الفحص.

صورة شعار ثغرة Heartbleed المرجعيةواجهة الويب الخاصة بآلة Valentine على المنفذ 80

تفقد الشيفرة المصدرية للصفحة لم يكشف عن شيء مهم.

عرض الشيفرة المصدرية لصفحة Valentine دون مؤشرات واضحة

اكتشاف المسارات والمجلدات باستخدام Gobuster

هنا تظهر أهمية أدوات تعداد المحتوى المخفي. يمكن استخدام Gobuster مع قوائم كلمات مختلفة للعثور على ملفات ومجلدات غير ظاهرة مباشرة.

الأمر الأول باستخدام قائمة big.txt:

gobuster dir -u 10.129.1.190 -w /usr/share/wfuzz/wordlist/general/big.txt -x php,html,txt

تشغيل Gobuster باستخدام قائمة big.txt على Valentine

ثم يمكن تكرار الفحص باستخدام قائمة megabeast.txt:

gobuster dir -u 10.129.1.190 -w /usr/share/wfuzz/wordlist/general/megabeast.txt -x php,html,txt

تشغيل Gobuster باستخدام قائمة megabeast.txt على Valentine

هذه المرحلة تؤكد نقطة مهمة: اختيار قائمة الكلمات المناسبة قد يصنع فرقاً كبيراً. أحياناً لا تكشف قائمة واحدة كل شيء، لذلك يفيد الجمع بين أكثر من قائمة للحصول على صورة أشمل.

من أبرز النتائج التي ظهرت:

  • المسار /dev
  • المسار /decode
  • المسار /encode

اكتشاف مجلد dev ضمن نتائج Gobuster

داخل مجلد /dev وُجد ملفان مهمان. الأول يحمل الاسم hype_key ويحتوي على قيم ست عشرية hex، والثاني هو notes.txt ويبدو كأنه قائمة مهام.

ملف hype_key الذي يحتوي على بيانات hexadecimalملف notes.txt داخل مجلد dev

كما وُجدت صفحة لفك الترميز على /decode، وأخرى للترميز على /encode.

واجهة decode ضمن تطبيق الويب في Valentineواجهة encode ضمن تطبيق الويب في Valentine

المرحلة الثالثة: استخراج المفتاح وفك تمثيله

عند نسخ محتوى الملف hype_key إلى ملف محلي، يمكن أولاً التحقق من سلامة النسخ عبر الأمر:

cat hype.key

نسخ محتوى ملف hype_key إلى ملف محليالتحقق من محتوى ملف hype.key محلياً

بما أن البيانات مكتوبة بصيغة hex، فيمكن تحويلها إلى شكلها الأصلي باستخدام xxd:

cat hype.key | xxd -r -p

الخيار -r يعكس العملية، بينما يسمح -p بقراءة نص ست عشري بسيط. النتيجة هنا كانت مفتاح RSA مشفراً.

فك تمثيل البيانات الست عشرية إلى مفتاح RSA

لحفظ الخرج في ملف جديد:

cat hype.key | xxd -r -p > hype_key.rsa

حفظ المفتاح الناتج في ملف hype_key.rsa

لكن وجود مفتاح خاص مشفر دون عبارة مرور لا يكفي وحده. لذلك تصبح الخطوة التالية هي البحث عن كلمة المرور المرتبطة به.

المرحلة الرابعة: البحث عن استغلال مناسب لثغرة Heartbleed

بما أن نتائج الاستطلاع أشارت بوضوح إلى وجود ثغرة Heartbleed، فمن الطبيعي البحث عن استغلال جاهز معروف لها باستخدام أداة Searchsploit.

searchsploit heartbleed

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

بعد ظهور النتائج، يمكن فتح تفاصيل الاستغلال المطلوب:

searchsploit -x 32764.py

عرض تفاصيل الاستغلال 32764.py عبر Searchsploitمراجعة كود استغلال Heartbleed من قاعدة Exploit Database

ويمكن كذلك معرفة مكان ملف الاستغلال على النظام:

searchsploit -p 32764.py

إظهار مسار ملف الاستغلال 32764.py على النظام

ثم نسخه إلى مجلد العمل الحالي:

cp /usr/share/exploitdb/exploits/multiple/remote/32764.py .
ls -la

التحقق من نسخ ملف الاستغلال إلى مجلد العمل

ولتبسيط التسمية، يمكن إعادة تسمية الملف:

mv 32764.py heartbleed.py

إعادة تسمية ملف الاستغلال إلى heartbleed.py

ثم تشغيله:

python2 heartbleed.py 10.129.1.190

تشغيل استغلال Heartbleed ضد آلة Valentine

عند مراجعة المخرجات، ظهر نص لافت:

$text =aGVhcnRibGVlZGJlbGlldmV0aGVoeXBlCg==

هذه السلسلة تبدو مرمزة بصيغة Base64. وهنا يمكن الاستفادة من صفحة /decode التي اكتشفناها مسبقاً.

استخدام صفحة decode لفك سلسلة Base64

بعد فك الترميز ظهرت عبارة المرور التالية:

heartbleedbelievethehype

نتيجة فك ترميز Base64 والحصول على كلمة المرور

ويمكن أيضاً فكها من الطرفية مباشرة عبر:

echo aGVhcnRibGVlZGJlbGlldmV0aGVoeXBlCg== | base64 --decode

فك ترميز Base64 من سطر الأوامر مباشرة

المرحلة الخامسة: فك تشفير مفتاح RSA والوصول عبر SSH

بعد الحصول على عبارة المرور، يمكن محاولة فك حماية المفتاح الخاص عبر OpenSSL:

openssl rsa -in hype_key.rsa -out hype_key_decrypted.rsa

عند المطالبة بكلمة المرور، يتم إدخال العبارة المستخرجة سابقاً.

فك تشفير مفتاح RSA باستخدام OpenSSL

وبالعودة إلى نتائج الفحص الأولي، نعرف أن خدمة SSH متاحة على المنفذ 22. وبناءً على اسم الملف hype_key وما ظهر في المسارات، يمكن افتراض أن اسم المستخدم هو hype.

أمر الاتصال:

ssh -i hype_key_decrypted.rsa hype@10.129.1.190

الاتصال بآلة Valentine عبر SSH باستخدام المفتاح المفكوك

وبذلك يتم الحصول على وصول أولي كمستخدم hype.

المرحلة السادسة: الوصول إلى user.txt

بعد تسجيل الدخول، يمكن التنقل إلى مجلد /home ثم إلى مجلد المستخدم hype بحثاً عن ملف الراية الخاص بالمستخدم.

التنقل إلى مجلد home بعد الدخول عبر SSHالوصول إلى مجلد المستخدم hype على Valentine

لعرض محتوى الملف:

cat user.txt

عرض ملف user.txt بعد الوصول إلى حساب hype

المرحلة السابعة: تصعيد الصلاحيات إلى root

بعد الحصول على وصول المستخدم، تأتي مرحلة تحليل البيئة الداخلية للبحث عن فرص تصعيد الصلاحيات. عند محاولة دخول مجلد /root مباشرة، لن يكون ذلك متاحاً للمستخدم العادي.

فشل الوصول المباشر إلى مجلد root كمستخدم عادي

لكن داخل مجلد المستخدم hype يظهر ملف .bash_history، وهو ملف يسجل الأوامر التي نُفذت سابقاً في الصدفة.

وجود ملف bash history ضمن مجلد المستخدم hype

يمكن قراءة محتواه عبر:

cat .bash_history

عرض محتوى ملف bash history واكتشاف أوامر مهمة

من خلال التاريخ، تظهر أوامر مرتبطة بالأداة tmux. وهذه أداة تسمح بإدارة جلسات طرفية متعددة، وقد تتحول إلى فرصة خطيرة إذا كانت هناك جلسة تعمل بصلاحيات أعلى ويمكن لمستخدم آخر الوصول إليها.

للتحقق من الجلسات أو العمليات ذات الصلة:

ps aux | grep tmux

فحص عمليات tmux واكتشاف أنها تعمل بصلاحيات root

إذا وُجدت جلسة tmux مرتبطة بالمستخدم root وبمقبس يمكن الوصول إليه، فقد يتيح ذلك الالتحاق بها مباشرة:

tmux -S /.devs/dev_sess

الاتصال بجلسة tmux مكشوفة على النظام

وبهذه الخطوة يتم الوصول إلى صلاحيات root.

الحصول على صلاحيات root على آلة Valentine

بعدها يمكن الانتقال إلى مجلد /root وقراءة الملف النهائي:

cat root.txt

عرض ملف root.txt بعد تصعيد الصلاحيات

الدروس الأمنية المستفادة من آلة Valentine

  • وجود ثغرة قديمة مثل Heartbleed كافٍ لتسريب بيانات حساسة جداً من الذاكرة.
  • الملفات المكشوفة داخل مسارات التطوير مثل /dev قد تمنح المهاجم أدلة حاسمة.
  • استخدام أكثر من قائمة كلمات في Gobuster يرفع احتمالات اكتشاف المسارات المهمة.
  • تاريخ الأوامر .bash_history قد يتحول إلى مصدر معلومات خطير إذا لم يُؤمَّن جيداً.
  • جلسات tmux أو المقابس المشتركة غير المحمية قد تؤدي مباشرة إلى تصعيد الصلاحيات.

توصيات المعالجة والحماية

  • ترقية OpenSSL إلى إصدار آمن ومحدّث فوراً.
  • استبدال جميع المفاتيح والشهادات التي ربما تأثرت بالتسريب، مع إبطال القديمة.
  • تطبيق مبدأ أقل الصلاحيات Principle of Least Privilege على الخدمات والمستخدمين.
  • منع كشف ملفات التطوير والنسخ الاحتياطية والمسارات الحساسة على الويب.
  • تقييد الوصول إلى ملفات التاريخ مثل .bash_history ومراجعة محتواها دورياً.
  • تأمين جلسات tmux والمقابس المرتبطة بها وعدم تشغيلها بطريقة تسمح لمستخدمين غير مخولين بالوصول إليها.

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

تكشف آلة Valentine كيف يمكن لثغرة واحدة مع سوء ضبط بسيط أن تفتح سلسلة كاملة من الاستغلال: من تسريب ذاكرة عبر Heartbleed، إلى استرجاع كلمة مرور مفتاح خاص، ثم وصول أولي عبر SSH، وأخيراً تصعيد صلاحيات بسبب جلسة tmux غير مؤمنة. تقنياً، هذه الآلة تقدم درساً مهماً مفاده أن الأمن لا يعتمد على عنصر منفرد، بل على سلامة السلسلة كاملة: التحديثات، وإدارة الأسرار، وعزل الجلسات، وتقليل الصلاحيات.

صورة ختامية لمقال تحليل Valentine على Hack The Box

اترك تعليقاً

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