أمير Etemadi: أرحب بالجميع ومرحبا بكم في عرض GTVHacker "هاك كل شيء: 20 جهاز في 45 دقيقة". لقد أنشأنا منتجات Google TV الأصلية منذ عام 2010 ، بالإضافة إلى منتجات مثل Chromecast و Roku و Nest ، كما أننا نصدر برامج استغلال لجميع أجهزة Google TV.

إذن من نحن؟ أنا عالم أبحاث في Accuvant Labs ، تم إنشاؤه بواسطة GTVHacker ، CJ هو قائد الفريق وباحث الأمن ، ويعمل أحيانًا كمطور للتكنولوجيا. هانز نيلسن هو مستشار أمني كبير لشركة ماتاسانو ، بينما يقوم مايك بيكر بتطوير البرامج الثابتة وهو أحد مؤسسي OpenWRT.
هناك 8 أعضاء في مجموعتنا ، بما في ذلك Gynophage ، وهو الآن منخرط في شيء يسمى DefCon CTF و Jay Freeman ، مبتكر Cydia والطالب Coa Hoang و Tom Dwenger ، أكبر متخصص في APK وكل شيء يتعلق بـ Java.
لذا ، لماذا قررنا اختراق الأجهزة ، لماذا لا نحب البرامج التي لا نحبها أيضًا؟ كما تعلم ، عندما يصبح الجهاز قديمًا ، ويصل إلى نهاية عمره ، يتم طرحه ببساطة في مكب النفايات. في الواقع ، الأجهزة القديمة تقتل ، وليس هناك فائدة من القيام بذلك ، كما حدث مع Logitech Revue.
نعطي حياة جديدة للأجهزة المهملة ، كما نسعى دائمًا لتحسين المنتج ، وإعطائه المزيد من الميزات ، وإذا تمكنا من القيام بذلك ، فإننا نقوم بذلك. نود الإجابة على التحديات التقنية ، كما تعلمون ، إنها مثل الألغاز التي ترغب في حلها.
الدراسة بالطبع عملية مذهلة ، ولكن يمكن التعبير عن جوهر هذا العرض التقديمي بالكلمات:
"لديك جذر!"

بشكل أساسي ، "اختراق 20 جهازًا في 45 دقيقة" ، أي خلال العرض التقديمي ، لا يترك لنا الكثير من الوقت لقضاء التفاصيل بالتفصيل على كل جهاز. لذلك ، سأعرض عليك عرضًا للأجهزة التي ستدخل إلى ويكي مباشرة بعد العرض التقديمي. سوف نقدم لك التفاصيل الفنية ، ومخططات المعدات ، وكل ما في وسعنا ، لأنه من الصعب جدًا قراءته. في الجزء السفلي من الشريحة ترى رابطًا ، يمكنك استخدامه بعد العرض التقديمي للوصول إلى جميع الأشياء المعروضة خلال هذا العرض التوضيحي. والآن أعطي الكلمة لزميلي الذي سيخبرك عن "احتمال الهجمات".
هانز نيلسن: هناك عدد لا نهائي من الطرق لمهاجمة الأجهزة من هذا النوع. اليوم ، باستخدام مثال هذه الأجهزة العشرين ، سننظر في 3 طرق اختراق رئيسية.
الأول هو استخدام منافذ التصحيح الموجودة في الأجهزة نفسها. الطريقة الثانية - يمكننا استخدام المنافذ التسلسلية أو بطاقات الذاكرة EMMC ، هذه نسخة قديمة من بطاقات SD للاتصال بالجهاز وتعديل التخزين. الطريقة الثالثة هي الحصول على وصول مباشر إلى نظام التشغيل ، والذي يسمح لك بتنفيذ مجموعة كاملة من الأوامر من خلال سطر الأوامر للتسبب في الأخطاء الإلكترونية الأكثر شيوعًا للمستهلكين.
لذا ، دعونا نتحدث عن UART - جهاز إرسال واستقبال غير متزامن عالمي. يتم استخدامه من قبل المطورين لتصحيح المعدات ولم يعد يحمل أي حمل وظيفي. هذه واجهة بسيطة للغاية - سلك واحد للإرسال ، والآخر للاستقبال ، والثالث بمثابة الأرض.

يسألوني كم عمري - أجبت ، عمري 27 سنة ، شكرا على سؤالك! لذلك ، هنا يتم استخدام بروتوكول تبادل بيانات بسيط للغاية ، ويعمل المنفذ نفسه بجهد من مستويات مختلفة ، على سبيل المثال ، 1.8 فولت أو 3.3 فولت أو 5 فولت وهو منفذ تسلسلي ، مشابه لمنافذ USB على جهاز الكمبيوتر.
لذلك لديك العديد من المحولات المجانية التي تسمح لك باللعب مع أجهزتك الخاصة ، وآمل أن تستفيد منها قدر الإمكان. فكيف يمكنك استخدام UART؟
ضع في اعتبارك جهازًا محددًا - MFP Epson Artisan 700/800 ، فهو عبارة عن طابعة وماسحة ضوئية وناسخة ، والتي يمكن استخدامها كطابعة شبكة. يتم التحكم فيه بواسطة Linux 2.6.21 - arm1. ما الذي يمكن عمله به؟ إذا فتحت العلبة ، يمكنك رؤية لوحة الدوائر المطبوعة التي توجد عليها 4 جهات اتصال: الاستقبال ، الإرسال ، التأريض ، الطاقة. هذا هو خيار اتصال UART الكلاسيكي.

بعد توصيل منفذ تصحيح الأخطاء هنا ، رأينا قائمة وحدة تحكم بإعدادات الطابعة.

يمكننا إعادة تشغيل الطابعة ، وإعادة تعيين الإعدادات ، وتنفيذ أمر shell عشوائي ، وتنفيذ أي أوامر نحتاجها ، بشكل عام ، للاستمتاع باللعب مع طابعتنا.
الجهاز الثاني هو مقبس ذكي Belkin WeMo مع تحكم في الإنترنت. يسمح لك باستخدام هاتف محمول لتشغيل آلة صنع القهوة وغيرها من الأجهزة المنزلية عبر الإنترنت ويستخدم على نطاق واسع من قبل أشخاص مختلفين.

هذا جهاز صغير نوعًا ما ، لذا فإن قراءة الرموز على لوحة الدوائر المطبوعة أمر صعب للغاية. لكننا وجدنا اتصالات جهاز الاستقبال وجهاز الإرسال وربط UART بها. بعد ذلك ، ذكرت شبكة الإنترنت أن الجهاز تم إصلاحه ، لكن هذا لم يكن صحيحًا. اتضح أنه لم يكن لدينا سوى ثانيتين لإدخال أمر ، وبعد ذلك يتم إعادة تشغيل الجهاز تلقائيًا.

في الوقت المناسب ، تمكنا من إدخال أمر "قتل" سكريبت إعادة التشغيل ، وبعد ذلك يمكننا القيام بكل ما نريده باستخدام هذا المقبس الذكي.
كان الجهاز الثالث هو مصباح Greenwave Reality الذكي ، المنافس لـ Phillips Hue ، الذي يستخدم بروتوكول شبكة ZigBee عالي المستوى ، وقد قيل الكثير عنه. من المضحك أنه يستخدم معالج دقيق PowerPC. أثناء بدء التشغيل ، يوفر هذا المصباح خادم SSH لم يكن لدينا منه كلمة مرور.

عندما فتحنا القضية ، وجدنا أيضًا جهات اتصال لـ UART. تم تجهيز هذا الجهاز بمحمل إقلاع U-boot مفتوح عالمي يقوم بتحميل Linux وتشغيله. باستخدام محمل الإقلاع هذا ، يمكنك القيام بأي شيء - تعيد تحميل ملفات الجهاز ، وتغيير سطر أوامر النواة. يمكنك مرافقة تمهيد Linux مع مجموعة متنوعة من الخيارات ، على سبيل المثال ، مما يتيح لك معرفة مقدار ذاكرة الجهاز. تمكنا من الحصول على حقوق الجذر عن طريق تغيير سطر أوامر bootloader. للقيام بذلك ، قمنا بالاتصال عبر UART ، وأدخلنا وحدة bin / sh في سطر أوامر kernel ، لذلك ذهبنا إلى shell bootloader.

من أجل استخدام الجهاز بأمان في المستقبل ، قمنا بكسر كلمة مرور thinkgreen للوصول إلى حقوق الجذر.
الجهاز الرابع هو File Transporter ، وهو محرك أقراص محمول قادر على نقل البيانات عبر الشبكة. هذا هو نوع من "السحابة" المحمولة التي تستخدم قرصًا صلبًا كبيرًا من تنسيق HDD الكلاسيكي بسعة 1 تيرابايت لتخزين الملفات. يمكنك توصيله بشبكتك المنزلية والوصول إلى الملفات على مختلف الأجهزة المنزلية.

ظهر "نقل الملفات" هذا في السوق مؤخرًا وهو نوع قياسي إلى حد ما من الأجهزة التي تعمل بنظام Linux. هذا شيء مضحك إلى حد ما ، وبعد إزالة الحالة منه ، وجدنا بسهولة محولًا لتوصيل UART.

تم استخدام محمل التمهيد U-boot هنا أيضًا ، لذلك ، كما في الحالة السابقة ، تمكنا من الحصول على حقوق الجذر باستخدام سطر أوامر kernel. هذا أعطانا الفرصة لتغيير كلمة مرور الجذر والوصول إلى الجهاز.

كان الجهاز الخامس هو مشغل الوسائط لشبكة Vizio CoStar LT طراز ISV-B11. يوفر الوصول إلى قناة CoStar ، التي كانت جزءًا من شبكة Google TV. يتصل مشغل الوسائط هذا بالأجهزة الأخرى عبر الإنترنت أو الكابل عبر مخرج HDMI.

قد يكون من المضحك أن Google TV لم يعد موجودًا ، ولكن لا تزال هناك مجموعتنا تسمى GTVHacker. لذا ، في الزاوية اليسرى العليا من لوحة الدوائر المطبوعة ، تشير الأحرف البيضاء إلى الموصل الكلاسيكي لتوصيل UART من 4 دبابيس على التوالي. هنا واجهتنا بعض الصعوبات في التواصل مع النواة ، لأنه بعد توصيل "محرك الأقراص المحمول" ، وصلتنا الرسالة "نظام ملفات غير مفهومة على محرك أقراص محمول". أعدنا تنسيقها إلى FAT32 ، وبعد ذلك ظهرت رسالة: "لا يمكنني العثور على fs.sys". بدا الأمر مريبًا ، لذلك قمنا ببعض الأبحاث.
ونتيجة لذلك ، تم التوصل إلى أنه أثناء التمهيد ، يجب أن يكون لديك كلا الملفين على محرك أقراص USB المحمول - fs.sys و safe-kernel.img1. الملف الأول هو برنامج تنزيل صورة البرنامج النصي U-Boot الذي يحتوي على أوامر U-Boot التعسفية التي يتم تنفيذها في وقت التمهيد. استخدمنا نفس الأسلوب عند اختراق الجهاز السابق. أعطانا تعديل سطر أوامر النواة الفرصة لاختراق النواة واكتساب امتيازات الجذر. لتنزيل نواة جديدة تمامًا ، يمكنك استخدام مجموعة من هذين الملفين الموجودين على محرك أقراص محمول يتصل ببساطة بـ UART.
كان Staples Connect ، وهو نموذج Linksys Zonoff ، الجهاز السادس الذي اخترقناه. هذا هو مركز أتمتة المنزل الصغير الآخر ، وهو مركز يقوم بالتواصل مع الأجهزة المنزلية ذات العلامات التجارية والأنواع المختلفة. وهي مجهزة بوحدة Wi-Fi ومنفذ USB لتوصيل القرص الصلب وتستند إلى استخدام تقنية السحابة.
على لوحة الدارة ، وجدنا كتلة بها مآخذ اتصال. قمنا بتقصير دبابيس ذاكرة 29/30 NAND ، مما أدى إلى حدوث خطأ أثناء تحميل بيئة U-Boot وإعادة تشغيل الجهاز. عند ضبط المهلة الافتراضية ، قمنا بتشغيل أمر setenv bootargs "console = ttyS0،115200 init = / bin / sh [...]" ، قمنا بالتمهيد في وحدة التحكم الجذر. بإضافة السطر # dropbear - د 222 ، تمكنا من تعديل U-Boot وحفظه وتحريره. للوصول إلى الجذر ، تم استخدام كلمة مرور OEMroot SSH ، والتي تمكنا من كسرها بسهولة نسبيًا. والآن أريد أن أقدم لكم CJ.

CJ Jerez: أريد التحدث معك حول بطاقات الذاكرة غير المتطايرة بتنسيق eMMC - بطاقة الوسائط المتعددة المضمنة. وهي تستند إلى شريحة بطاقة ذاكرة SD قياسية. هذا شيء رائع يحتوي على وحدة فلاش ووحدة تحكم فلاش. في هذه الحالة ، لا داعي للقلق بشأن أي قطع سحرية إضافية.

تحتوي بطاقة الذاكرة العادية على وحدات بت إضافية تتعامل مع الأخطاء وتحتوي على رمز تصحيح الأخطاء ؛ وهذه الوظيفة مخصصة للمطورين. تستخدم بطاقة ذاكرة eMMC نظام ملفات عاديًا ، ويتم الوصول إليها عبر قارئ بطاقات وسائط متعددة رخيص ، يقرأ كل من بطاقات SD العادية و eMMC بشكل جيد. نظرًا لأن هذه البطاقة هي عبارة عن رقاقة BGA مثبتة على السطح ، فإن النتائج التي توصل إليها هي كرات اللحام المودعة على الجزء الخلفي من اللوحة. للعمل مع هذه البطاقة ، تحتاج إلى تحديد جهات الاتصال هذه ، أي أننا نحتاج إلى كرات معينة لربط المصحح.
للعثور على جهات الاتصال اللازمة ، قمنا أولاً بفحص تصميم اللوحة ، وجميع أنواع الملصقات ، والملصقات تحت المقاومات ، وتتبع الركيزة المطبوعة والاتصالات على الجانب الآخر من اللوحة. ثم استفدنا من الحدس والتحليل المنطقي ، وبعد ذلك قمنا بسحب الشريحة والتأكد من أنها لا تعمل. تمكنا من توصيل هذه البطاقة بقارئ MMC وإعادة تعيين الإعدادات.
الآن دعونا نتحدث عن جهازنا السابع ، هذا جهاز فك تشفير Amazon Fire TV مع جهاز تحكم عن بعد.

وهي مجهزة بمعالج Snapdragon 600 رباعي النواة بتردد 1.7 غيغاهرتز ومحرك ذاكرة eMMC سعة 8 جيجابايت ، ويتم التحكم فيه بواسطة إصدار معدل من Android 4.2.2 يسمى Fire OS 3.0.
بعد فتح الحالة ، بدأنا في البحث عن دبوس eMMC ، وأثناء البحث دمرنا جهازًا واحدًا ، لأننا قطعنا أحد جهات الاتصال عندما أخرجنا شريحة eMMC ، لذلك كان علينا العمل على النسخة الثانية من جهاز فك التشفير.

على اليسار على الشريحة يوضح موقع جهات اتصال eMMC ، على اليمين - جهات اتصال UART عند 1.8V.
بعد أن نجحنا في كسر جهاز فك التشفير هذا ، استحوذنا على الجهاز رقم 8 - Hisense Android TV ، وهو تلفزيون ذكي يعمل بنظام Android ، وهذا هو نوع من تلفزيون Google ، والذي تم تغيير علامته التجارية. يستخدم أحد أحدث المعالجات وهو Marvell MV88DE3108 رباعي النواة. في مؤتمر DefCon العام الماضي ، أظهرنا كيفية تجاوز التمهيد في الوضع الآمن لمعالجات هذا الخط بسبب خطأ صغير في البرامج الثابتة الخاصة بهم.

توضح الشريحة التالية كيف تبدو جهات الاتصال لتوصيل مصحح أخطاء. إنها صغيرة بما يكفي ، لكننا لم نكن بحاجة إلى سحب رقاقة ذاكرة فلاش.

اضطررت إلى إجراء إجراء مكثف إلى حد ما لهذا الجهاز - أولاً قم بتثبيت قسم إعدادات المصنع "إعدادات المصنع" باستخدام الأمر / dev / mmcblk0p3 ، الذي تم حفظه بين التنزيلات ، ثم استخدم الوضع القديم الجيد # chmod 4755 su ، يمكنك أيضًا استخدام البرنامج للحصول على حقوق الجذر الفائقة SU. علاوة على ذلك ، من خلال جسر تصحيح أخطاء Android “ADB” ، يمكنك تعديل نظام التشغيل ، الذي يشبه إلى حد كبير نظام Android الأصلي.
لذا ، انتقل. لا تقل أبدًا ، "لا يمكن اختراق الجهاز X". في عام 2011 ، نشرت خدمة البريد USPS إعلانًا ينص على أنه "لا يمكن تصدع الثلاجة". وضعت هذه الشركة نفسها كرائدة في سلامة الثلاجة. يمكن مشاهدة مقطع فيديو حول هذا الأمر على موقع يوتيوب
هنا . لقد اعتبرته تحديا. لم يكن لدي 3000 دولار إضافية لاختبار هذا البيان على الثلاجة الجديدة ، ولكن في التفريغ يمكنك العثور على أي شيء ، بما في ذلك أجزاء من الثلاجات المهملة. تمكنت من الحصول على الملء الإلكتروني لثلاجة LG الذكية ، طراز LFX31995ST ، التي تعمل بنظام تشغيل Android 2.3 الذي عفا عليه الزمن قليلاً. هذا هو الجهاز التاسع الذي تمكن من التصدع.

تحكم "دماغ" الثلاجة بالتجميد ، ودرجة حرارة الطعام ، وصنع الثلج ، واستهلاك مياه الشرب ، وتم تجهيز الجهاز نفسه بوحدة Wi-Fi ، ومنفذ USB وبطاقة ذاكرة SD.
على لوحة الدوائر المطبوعة كانت جهات اتصال UART ، مما يسمح لك بتنزيل وحدة التحكم الجذر وشريحة eMMC. هذا جعل من الممكن تحميل النظام ، كما هو الحال في Fire TV ، أدخل محمل إقلاع Android وقم بتنزيل ثنائي المستخدم الفائق. كما اتضح ، المعلمة ro.secure = 0 ، أي أن الجهاز كان لديه بالفعل وصول مستخدم خارق. ربما ، كان المطورون على يقين من أن لا أحد سينتهز هذه الفرصة.
ثم بدأنا بكتابة أوامر. ألاحظ أنه لا يجب عليك أبدًا الوثوق بالبيانات التي يدخلها المستخدم ولا تستخدم أوامر shell مطلقًا. إدخال الأمر ls٪ s باستخدام المعلمة "؛ reboot" أعطى نتيجة ls ؛ إعادة التشغيل ، وبعد ذلك تم إعادة تشغيل النظام بنجاح.
المعرض رقم 10 ، الذي أظهر تمامًا إمكانات القرصنة ، كان Vizio Smart TV ، طراز VF552XVT ، والذي يعتمد على سلسلة BCM97XXX Yahoo TV Smart TV من أجهزة التلفزيون الذكية. على الرغم من حقيقة أن هذه المنصة قديمة ، إلا أنها لا تزال تستخدم على نطاق واسع.

هذا هو واحد من أحدث أجهزة التلفاز بإضاءة خلفية LED ، وهو أرق بشكل ملحوظ من طرازات LCD.
يتم إدخال سطر الأوامر هنا عبر كلمة مرور Wi-Fi ، وهي نسخة أكثر حداثة من مصحح أخطاء UART عبر منفذ USB.

إذا قمت بتعيين وضع Wi-Fi ، يمكنك الدخول إلى القائمة والاتصال بنقطة وصول Wi-Fi. إذا تمكنت من إدخال الأوامر الموضحة على الشريحة ، فستتمكن من الوصول إلى جذر النظام.
للقيام بذلك ، استخدمنا محول USB UART ثم أدخلنا سلسلة من عدة أحرف تخبر النواة بمكان إرسال البيانات. بعد دقيقتين ، تلقينا خطأ في إدخال البيانات ، ثم أدخلنا أمر bash 2 الطويل ، مما يعني أنه يجب إرسال جميع البيانات الواردة من هذا الجهاز إلى shell ، ويجب إرسال جميع بيانات shell إلى الجهاز. وبالتالي ، تمكنا من الحصول على حقوق الجذر من خلال USB UART.
كان الجهاز رقم 11 هو مشغل Blu-ray من سوني BDP-S5100 ومعالج MTK 8500 يعمل بنظام التشغيل OC Linux. وهي مجهزة بشبكة Wi-Fi والوصول إلى خدمات مشاهدة الأفلام عبر الإنترنت Netflix و VUDU وما إلى ذلك.

مشغل Blu-ray آخر على نفس الشريحة هو الجهاز رقم 12 ، LG BP530 ، مع وظائف مماثلة.

لقد اكتشفنا أن كلا الجهازين بهما نفس خطأ البرامج الثابتة للشرائح والذي يدعم استخدام حزم SDK.
إذا قمت بوضع ملف فارغ يسمى "vudu.txt" في مجلد يسمى "vudu" على محرك أقراص USB المحمول ، وقمت بإنشاء استغلال "vudu.sh" يحتوي على الأسطر التالية:
mount –t overlayfs –o overlayfs /etc/passwd echo "root::0:0:root:/root:/bin/sh" > /etc/passwd /mnt/rootfs_normal/usr/sbin/telnetd
ثم يمكنك القيام بما يلي.
قم بتشغيل خدمة VUDU ، وستقوم بتنفيذ البرنامج النصي shell كمستخدم خارق ، وستتمكن من استخدام الاتصال بحرية من خلال شبكة Telnet. يمكن القيام بذلك مع جميع اللاعبين على شرائح MTK 8500 ، بما في ذلك الجهاز التالي برقم 13 - مشغل Blu-ray DMP-BDT230 من باناسونيك.

إنه بسيط للغاية. تعرض الشريحة التالية لوحة دوائر مطبوعة لها نفس التخطيط تقريبًا لجميع اللاعبين المذكورين. يوجد مخرج وحدة تحكم 115200 8n1 يمكنك توصيل UART به. كان هذا مهمًا جدًا بالنسبة لنا ، حيث سمح لنا باكتشاف الخطأ أعلاه أثناء تصحيح الأخطاء. ومع ذلك ، هناك احتمال آخر لحقن سطر الأوامر من خلال وحدة التحكم الجذر باستخدام القائمة التي تظهر على الشاشة ، حيث لا يتم التحقق من اسم مجلد الشبكة قبل الاستخدام.

وبالتالي ، يمكنك الحصول على حقوق المستخدم الفائق وإدارة جميع إمكانات الأجهزة حسب تقديرك.

24:10 دقيقة
مؤتمر DEFCON 22. مجموعة GTVHacker. اختراق كل شيء: 20 جهازًا في 45 دقيقة. الجزء 2شكرا لك على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ،
خصم 30 ٪ لمستخدمي Habr على نظير فريد من خوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps من 20 $ أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا وحتى 40 جيجابايت DDR4).
VPS (KVM) E5-2650 v4 (6 نوى) 10GB DDR4 240GB SSD 1Gbps حتى ديسمبر مجانًا عند الدفع لمدة ستة أشهر ، يمكنك الطلب
هنا .
ديل R730xd أرخص مرتين؟ فقط لدينا
2 x Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 TV من 249 دولارًا في هولندا والولايات المتحدة! اقرأ عن
كيفية بناء مبنى البنية التحتية الطبقة باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟