
كود إثبات المفهوم لـ Pyrescom Termod للثغرات CVE-2020-23160 وCVE-2020-23161 وCVE-2020-23162
هذا هو الكود البرهاني (Proof-of-Concept) لاستغلال ثلاث ثغرات اكتشفها Jonas Mattsson و Hugo van den Toorn في Outpost24 Ghost Labs. تم اكتشاف هذه الثغرات في مكوّن خادم الويب في جهاز التحكم بالوقت Pyrescom Termod4. يمكن سلاسلة هذه الثغرات معًا، مما يسمح لمهاجم عن بُعد بتجاوز المصادقة، وقراءة الملفات من نظام الملفات المحلي، وتنفيذ أوامر عشوائية. يمكن استخدام معرّفات CVE التالية للإشارة إلى هذه الثغرات: CVE-2020-23160 و CVE-2020-23161 و CVE-2020-23162.

تم تحديد هذه الثغرات بثلاثة معرّفات CVE، موصوفة أدناه.
يسمح تنفيذ التعليمات البرمجية عن بُعد في أجهزة إدارة الوقت Pyrescom Termod4 قبل الإصدار 10.04k للمهاجمين عن بُعد المصادَق عليهم بتنفيذ أوامر عشوائية بصلاحيات الجذر (root) على الأجهزة. انظر MITRE CVE
يسمح تضمين الملفات محليًا في أجهزة إدارة الوقت Pyrescom Termod4 قبل الإصدار 10.04k للمهاجمين عن بُعد المصادَق عليهم بتجاوز الدلائل وقراءة الملفات الحساسة عبر قائمة الصيانة > السجلات (Maintenance > Logs) والتلاعب بمسار الملف في عنوان URL. انظر MITRE CVE
يسمح كشف المعلومات الحساسة وضعف التشفير في أجهزة إدارة الوقت Pyrescom Termod4 قبل الإصدار 10.04k للمهاجمين عن بُعد بقراءة ملف جلسة (session-file) والحصول على بيانات اعتماد المستخدم كنص صريح. انظر MITRE CVE
هجوم متسلسل ضد أجهزة Termod4، يسمح لمهاجم غير مصادَق بـ:
استنسخ هذا المستودع، (اختياريًا) أنشئ بيئة Python افتراضية وقم بتثبيت التبعيات. بافتراض أن لديك Python3 و python3-venv مثبتين (apt-get install python3-venv).
(اختياري) أنشئ بيئة افتراضية باسم 'Pyrescom-CVE': python3 -m venv Pyrescom-CVE، انتقل إلى الدليل cd Pyrescom-CVE وقم بتفعيلها . bin/activate.
استنسخ المستودع إلى الدليل الحالي:
git clone https://github.com/Outpost24/Pyrescom-Termod-PoC.git .
python -m pip install -r requirements.txt
python Pyrescom-poc.py
الاستخدام الأساسي لهذا الكود البرهاني هو كما يلي:
python Pyrescom-poc.py http://<target-URI or IP>python Pyrescom-poc.py http://<target-URI or IP> -spython Pyrescom-poc.py http://<target-URI or IP> <command>python Pyrescom-poc.py -hموزع بموجب رخصة GPL3. انظر LICENSE لمزيد من المعلومات.
يمكن العثور على تفاصيل حول هذه الثغرات وكيفية اكتشافها في مدونتنا - Tales from the frontline: Outsmarted by smart devices.
تم إصلاح الثغرات، والتفاصيل الدقيقة حول إصدارات التصحيح غير معروفة ولم يعترف بها البائع. اكتشفنا الثغرات في الإصدار 10.02r وتأكدنا من معالجتها في الإصدار 10.04k. كيفية تأثر الإصدارات الوسيطة غير معروفة، لذلك نوصي بالترقية إلى أحدث إصدار ثابت من البرنامج الثابت المتاح لجهازك.
| Day # | Date | Activity |
|---|---|---|
| 0-day | 18-12-2019 | التواصل الأولي مع البائع. |
| 2 days | 20-12-2019 | محاولة ثانية للتواصل مع البائع. |
| 21 days | 08-01-2020 | محاولة ثالثة للتواصل مع البائع. |
| 29 days | 16-01-2020 | ترتيب اجتماع مع البائع من خلال عميلنا. |
| 40 days | 27-01-2020 | اجتماع مع البائع وعميلنا، أقرّ البائع بالمشكلات واستلم التقرير الكامل. |
| 82 days | 09-03-2020 | تم إصدار تحديث ونشره، وأجرينا إعادة اختبار موجزة لعميلنا. تم حل الثغرات. |
| 83 days | 10-03-2020 | تأكيد فعالية التصحيح مع البائع. اقترحنا جدولًا زمنيًا للإفصاح، دون استجابة من البائع. |
| 124 days | 20-04-2020 | اقتراح جدول زمني للإفصاح، دون استجابة من البائع. |
| 141 days | 07-05-2020 | طلب حجز CVE. أكثر من 100 يوم منذ تأكيد البائع. |
| 401 days | 22-01-2021 | طلبات متعددة إلى Mitre للتحديث/إصدار CVE خلال الـ 204 أيام الماضية. بعد إعادة التقديم، تم نشر معرّفات CVE في 22 يناير. |
| 408 days | 29-01-2021 | نشر هذه المدونة ومعرّفات CVE والكود البرهاني. |
يمكن العثور على معلومات حول سياسة الإفصاح المسؤول لدينا على موقعنا الإلكتروني.
Jonas Mattsson - LinkedIn
Hugo van den Toorn - @HugovdToorn - LinkedIn
جزيل الشكر لجوناس الذي لديه عادة رائعة في العثور على أكثر الاكتشافات إثارة في أغرب الأماكن. لسوء الحظ بالنسبة لنا، اليوم هو يومك الأخير في Outpost24. لذلك نود أن نحتفل برحيلك بهذه الـ CVEs الثلاثة ونتمنى لك كل التوفيق في مساعيك المستقبلية.
"ربما كان ذلك خارج النطاق بعض الشيء..."
من Ghostlabs بكل حب <3