
ثغرة التحقق من خادم تحديث البرنامج الثابت في Buffalo LS210D الإصدار 1.78-0.03
كريستوفر جيه بيس وريان ميلر
إن Buffalo LS210D هو خادم تخزين متصل بالشبكة (NAS) مصمم ومسوّق للشركات الصغيرة والأفراد. داخل LS210D توجد إمكانية تنزيل وتثبيت تحديث البرنامج الثابت عن بُعد. إن LS210D عرضة لهجوم "الخصم في المنتصف"، أو AitM، ضمن هذه الميزة. سيتمكن المهاجم الذي يتحكم في الاتصال الصاعد للضحية من إما تقديم اسم DNS غير صحيح لخادم التحديث، أو إعادة توجيه حركة المرور من خادم التحديث إلى خادم ضار. يمكن أن يؤدي هذا إلى تنفيذ أوامر كمستخدم جذر، أو تثبيت برامج ضارة مباشرة.
يتم استدعاء الملف /etc/init.d/update_notifications.sh من السكربت الخاص بتحديث البرنامج الثابت على جانب الخادم في /www/buffalo/www/dynamic/system/update/BufUpdate.pm. داخل update_notifications.sh يوجد السطر التالي:

يكشف فتح ملف xml هذا أن ملف XML نفسه يشير أيضًا إلى اتصال HTTP فقط:

علاوة على ذلك، فإن ملف zip هذا غير مشفر أيضًا. أشارت الأبحاث السابقة حول هذا الطراز إلى تنزيل أداة تحديث البرنامج الثابت اليدوية، والتي تضمنت ملف zip محميًا بكلمة مرور. لا يحتوي الملف linkstation_series_1.75-0.01.zip على هذه الحمايات. داخل الأرشيف يوجد الملف hddrootfs.buffalo.updated، الذي يحتوي على الأرشيف hddrootfs.buffalo، والذي يحتوي على نظام الملفات الجذر لجهاز LS120D. يمكن للمهاجم عرض وتعديل ملف zip هذا مباشرة لتضمين برامجه الضارة الخاصة أو قراءة الملفات الحساسة.

بمجرد أن ينفذ المهاجم هجوم AitM، سيعرض جهاز التوجيه عن طيب خاطر تثبيت البرنامج الثابت المحدث. إليك مثال على مثل هذا الهجوم، حيث تعرض الشاشة على اليمين التعديلات اللازمة على fw_info2.xml، وهي إضافة 0x0000001D إلى وسم productId، وزيادة وسم نوع الإصدار إلى إصدار أكبر من إصدار البرنامج الثابت للضحية (1.78-0.04 في هذه الحالة).

