
هذا المشروع هو تكليف في مجال الأمن السيبراني يهدف إلى توضيح CVE‑2022‑46169: ثغرة أمنية حرجة في منصة مراقبة الشبكات مفتوحة المصدر Cacti (الإصدارات ≤ 1.2.22). تسمح هذه الثغرة لمهاجم غير مصادق بتنفيذ أوامر OS عشوائية على الخادم — دون أي تسجيل دخول.
الهدف من هذا المشروع هو فهم الثغرة، وإعادة إنتاجها في بيئة معملية خاضعة للتحكم، وإظهار تأثيرها.
CVE‑2022‑46169 هي مزيج من خطأين في Cacti:
الملف remote_agent.php يجب عادةً أن يتم الوصول إليه فقط من قبل خادم Cacti نفسه. ومع ذلك، يثق فحص المصادقة بشكل أعمى في ترويسة X-Forwarded-For الخاصة بـ HTTP، والتي يمكن للمهاجم تعيينها بنفسه. ونتيجة لذلك، يمكن لأي شخص أن ينتحل صفة الخادم نفسه — بدون كلمة مرور.
معامل poller_id القادم من عنوان URL يتم إدراجه مباشرةً دون أي تحقق في أمر shell عبر دالة proc_open() الخاصة بـ PHP. يمكن للمهاجم من خلال ذلك تنفيذ أوامره الخاصة عبر خادم الويب.
النتيجة المجمعة: يمكن لمهاجم غير مصادق تمامًا تنفيذ أوامر عشوائية على الخادم — وهو ما يُعرف أيضًا باسم تنفيذ التعليمات البرمجية عن بُعد (RCE).
يحتاج المهاجم فقط إلى معرفة عنوان IP الخاص بتثبيت Cacti القابل للثغرة. لا يتطلب الأمر أي حساب أو هندسة اجتماعية.
يرسل المهاجم طلب HTTP واحد إلى remote_agent.php يتضمن:
X-Forwarded-For مزيفة → تجاوز المصادقةpoller_id يحتوي على أمر shell مضمّن عبر ; → حقن أوامرينفذ الخادم هذا الأمر بصلاحيات المستخدم www-data (مستخدم خادم الويب Apache). عمليًا، يمكن للمهاجم من خلال ذلك فتح reverse shell والحصول على وصول كامل إلى الخادم.
docs/ — التقرير ولقطات الشاشة والملاحظات الخاصة بالتكليف.isos/ — صور الأجهزة الافتراضية أو حاويات تحتوي على تثبيت Cacti القابل للثغرة.هذا المشروع جزء من تمرين في الأمن السيبراني يركز على:
⚠️ إخلاء مسؤولية: هذا المشروع مخصص حصريًا للأغراض التعليمية في بيئة معملية خاضعة للتحكم ومعزولة. لا تستخدم أبدًا أي استغلالات على أنظمة دون إذن صريح.
| الخاصية | التفاصيل |
|---|
| درجة CVSS | 9.8 – حرجة |
| المصادقة مطلوبة | ❌ لا |
| تفاعل المستخدم | ❌ لا |
| التأثير | سيطرة كاملة على الخادم |
| الإصدارات المتأثرة | Cacti ≤ 1.2.22 |
| تم التصحيح في | Cacti 1.2.23 |