
مجموعة أدوات استغلال إثبات المفهوم لثغرات محمل الإقلاع U-Boot 1.1.3، تمكين تحليل البرامج الثابتة، اختبار التحديث غير الآمن، واستغلال واجهة تصحيح الأجهزة عبر اتصال serial UART.
تم إنشاء هذا إثبات المفهوم (PoC) للتحقق من الثغرات في أداة تحميل الإقلاع U-Boot الإصدار 1.1.3 المُجمّع في 27 أغسطس 2019. يطبق الكود خمسة ثغرات مختلفة تتعلق بفئات دليل اختبار أمان إنترنت الأشياء (ISTG) من OWASP.
تحذير: استخدم هذا PoC فقط على الأجهزة التي لديك إذن باختبارها. قد يؤدي الاستخدام على أنظمة دون إذن إلى انتهاك القوانين المعمول بها.
# Install required libraries
pip install pyserial cryptography
لاستخدام هذا PoC، تحتاج إلى الاتصال بالواجهة التسلسلية للجهاز المستهدف:
/dev/ttyUSB0 على Linux، COM3 على Windows)يوفر هذا البرنامج النصي عدة أوضاع تشغيل لاختبار كل ثغرة على حدة أو كلها مرة واحدة.
python3 uboot_exploit_poc.py --port /dev/ttyUSB0
يمكنك تشغيل استغلال معين باستخدام المعامل --exploit:
# Test the "Insecure Update Mechanism" vulnerability
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 1
# Test the "Hardcoded Sensitive Values" vulnerability
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 2
# Test the "Debugging Interface Access" vulnerability
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 3
# Test the "No Protection Against Firmware Downgrade" vulnerability
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 4
# Test the "Missing Secure Channel for Updates" vulnerability
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --exploit 5
# Change the baudrate (default: 115200)
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --baudrate 57600
# Change the serial timeout (default: 1 second)
python3 uboot_exploit_poc.py --port /dev/ttyUSB0 --timeout 2
سينشئ البرنامج النصي دليلاً باسم uboot_extracted يحتوي على:
يوفر الملف full_exploitation_summary.txt ملخصًا كاملاً لجميع اختبارات الثغرات.
يفتقر محمل الإقلاع إلى التحقق المناسب من التوقيع لتحديثات البرامج الثابتة، مما يسمح بتثبيت برامج ثابتة غير مصرح بها.
يتم تضمين القيم الحساسة مثل بيانات الاعتماد والمفاتيح بشكل ثابت في ثنائي محمل الإقلاع، مما يسمح باستخراج المعلومات الحساسة.
واجهة التصحيح غير محمية بشكل كافٍ، مما يسمح بالوصول إلى عناصر التحكم في النظام على المستوى المنخفض دون مصادقة.
يفتقر محمل الإقلاع إلى آليات منع التراجع، مما يسمح بخفض الإصدار إلى إصدارات بها ثغرات معروفة.
يتم نقل تحديثات البرامج الثابتة عبر قنوات غير آمنة بدون تشفير أو مصادقة، مما يسمح بالاعتراض والتعديل.
يمكن استخدام الأدلة التي تم جمعها بواسطة هذا PoC لدعم تقديم CVE. لتقديم CVE:
uboot_extractedتم توفير هذه الأداة لأغراض تعليمية واختبار أمني مهني فقط. المؤلفون غير مسؤولين عن أي إساءة استخدام أو ضرر ناتج عن هذه الأداة. احصل دائمًا على التصريح المناسب قبل اختبار أي نظام أو جهاز.