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