مؤتمر ديفكون 27. Buttplug: اختبار الاختراق الحقيقي. الجزء الأول

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



بدأ مخترق يحمل الاسم المستعار smea أو Smealum حياته المهنية كمطور لألعاب الفيديو لوحدات التحكم في الألعاب مثل Nintendo DS ، محاولًا في نفس الوقت كسرها. في مرحلة ما ، اكتسبت وحدات التحكم أنظمة أمان خطيرة ، وتحولت Smea من البرامج المحلية إلى تطوير تقنيات لكسرها. تشتهر Smea بـ "عملها" على Nintendo 3DS و Wii U ، على الرغم من أنها ساهمت أيضًا في تطوير برمجيات إكسبلويت لمتصفحات الويب الأكثر شيوعًا ومكدسات المحاكاة الافتراضية. ربما أصبح الآن مهتمًا باقتحام سدادات الشرج "الذكية".

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

في الواقع ، هذا لا يتطلب أي إلكترونيات. ولكن على مدى السنوات القليلة الماضية ، أو حتى العقود الماضية ، ظهرت صناعة جديدة من الأجهزة الإلكترونية تسمى teledildonika. يظهر أصل هذا المصطلح على الشريحة: الكلمة اليونانية "tele" تعني "من بعيد" ، و "dildo" الإنجليزية لا تعني أكثر من دسار. حاولت أن أجد أصل كلمة dildo ، لكن لا أحد يعرف من أين جاءت. ولكن هذا أمر مفهوم ، أليس كذلك؟ الفكرة هي أنك تريد صنع ألعاب جنسية يمكن التحكم بها بطريقة أو بأخرى من مسافة بعيدة.

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

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



بالنسبة للكثيرين ، فإن ممارسة الجنس عن بعد يبدو رائعًا وممتعًا ، ولن أمزح بشأنه. يستخدم البعض teledildonics لكسب لقمة العيش ، ويسمى السيناريو 3B "متعددة اللاعبين المدفوعة عن بعد". لذلك ، فإن حقيقة أنني أحاول تكسير قابس المؤخر ليس مجرد ترفيه - إنه يمنح دراسات الاختراق مبررًا معينًا.



كثير من الناس ، لا أعرف ماذا أسميهم - الفتيان والفتيات - يقدمون ترفيهًا جنسيًا ديناميكيًا على الإنترنت ، مما يسمح للآخرين بالتحكم في ألعابهم الجنسية مقابل المال. تمتلك الشركة التي تنتج هذه الأرداف براءة اختراع لمفهوم خصم الأرباح عند استخدام منتجاتها للألعاب الجنسية على الإنترنت. في هذا السيناريو ، بالنسبة لخصم 5 دولارات ، لديك الحق في وضع رابط ، على سبيل المثال ، على Twitter ، لتزويد شخص ما بفرصة لإدارة bootplag الخاص بك لفترة محدودة. نظرًا لأن الناس يعتمدون على هذه الألعاب كأدوات لكسب المال ، في رأيي ، من المهم جدًا مراعاة سلامتهم.

دعونا نلقي نظرة على السيناريوهات التي تهم المهاجمين. الأول هو اختراق محلي ، عندما يعترض مهاجم ضمن نطاق الجهاز السيطرة عليه عبر الاتصال اللاسلكي. كان هناك الكثير من الأبحاث حول طريقة الاختراق هذه ، لذلك لن نعلق اهتمامنا بها.



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

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



السيناريو الثالث هو عكس ذلك - يستخدم المهاجم نفسه المكون الإضافي للتمهيد للتحكم في جهاز كمبيوتر أو هاتف واختراق الأجهزة الموجودة على جانب المستخدم الذي يشارك عن بُعد في الألعاب باستخدام المكون الإضافي. لا يفهم الناس أن هذا خطر حقيقي ، ولكن ربما تتخيل كيف يمكن أن تكون المقابس الخبيثة (الضحك في القاعة). نحن أيضا نستكشف هذا السيناريو.



الآن بعد أن أصبحت لديك فكرة عن عالم teledildonics ، دعنا نلقي نظرة على كيفية ظهوره في الممارسة. على الشريحة ، ترى نموذج دسار يسمى Lovense Hush ، وبعد ذلك سأريكم عرضًا توضيحيًا مع هذا الشيء على الهواء. هذا هو النموذج الأول من dildo-teledildonics في العالم ، وهو قابس شرجي يمكن التحكم فيه من هاتفك أو جهاز الكمبيوتر الخاص بك. هناك تطبيقات لـ IoS و Android لعلامة التمهيد هذه ، يمكنك التحكم فيها من جهاز كمبيوتر يعمل بنظام التشغيل Mac OS و Windows. تدعم تطبيقات الهاتف المحمول الميزات الاجتماعية مثل الدردشة ومشاركة النصوص والصور ومقاطع الفيديو والتحكم في الألعاب مع الأصدقاء أو الغرباء.



بالنسبة لنظام التشغيل Windows ، تحتاج إلى استخدام مفتاح USB خاص ، والذي سأعرضه لاحقًا ، لأنه الآن تم توصيل المكون الإضافي للتمهيد هذا بجهاز الكمبيوتر. تم تطوير مفتاح محرك الأقراص المحمول الإلكتروني من قبل نفس الشركة ، "Lovens" ، وهي الشركة المصنعة لمكون إضافي للتمهيد الذي أنشأ نظامها البيئي الخاص بها من قضبان اصطناعية "ذكية" ويتلقى عمولة حوالي 5 دولارات للجلسة على الإنترنت.



تعرض الشريحة التالية رؤيتي لهجوم على قابس التمهيد باستخدام تطبيق الكمبيوتر. هناك اتصال BLE (BlueTooth Low Energy) بين قابس التمهيد ومفتاح USB ، المفتاح متصل بجهاز الكمبيوتر الخاص بالمستخدم ، والذي بدوره متصل بالإنترنت. يتم استخدام السيناريو رقم 1 من قبل مهاجم في قسم مفتاح USB التمهيد ، أي أن اتصال BLE قد تم مهاجمته. في الواقع ، لا توجد حماية ، بحيث يمكن لأي شخص غريب السيطرة على هذه اللعبة. في العام الماضي ، كانت هناك مناقشة جادة حول أداة تسمى BTLE Jack ، والتي تسمح لك بمهاجمة مثل هذا الاتصال بنجاح.



يتكون السيناريو رقم 2 من مهاجمة قسم من اتصال الإنترنت لجهاز الكمبيوتر الخاص بالمستخدم. السيناريو الثالث هو محاولة اختراق أي من المواقع الثلاثة: BLE ، USB ، الإنترنت. من المحتمل أن يكون هناك مشروع مفتوح Buttplug ... يمكنك الضحك ، لقد كانت مزحة. إذن ، أين نبدأ "اختبار الاختراق الحقيقي"؟



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



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



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



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



ثم بدأت الهندسة العكسية ولفتت الانتباه إلى شيئين. أولاً ، يوجد معالجان للأوامر لمنفذ USB التسلسلي. يستخدم الأول أوامر بسيطة مثل إعادة التعيين أو نوع الجهاز ، ويستخدم الثاني أوامر مثل DFU لتحديث البرامج الثابتة للجهاز ، حتى نتمكن من إرسال هذه الأوامر وتحديث البرامج الثابتة.



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



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



تظهر هذه الرسوم المتحركة الصغيرة ما يحدث هنا. تعني الشرطة المائلة للخلف قبل U أنه يجب التخلص من 6 أحرف. بعد ذلك ، تنتقل الوظيفة عبر حرف نهاية فارغ ، وهو ما يمثل مشكلة. ثم تستمر العملية ، يتم نسخ جميع الأحرف وتسقط في المخزن المؤقت بطول 6 بايت فقط. هنا تظهر المشكلة الثانية - خطر تجاوزات العازلة. هذا رائع ، لكننا لا نزال لا نعرف كيف تعمل أجهزة دونجل.



نعلم على وجه اليقين أنه لا يحتوي على مساحة عشوائية لمساحة عنوان ASLR ، ولا يحتوي على مجموعة ملفات تعريف الارتباط ، ولكن من الممكن أن يكون للمفتاح حماية مثل منع تنفيذ البيانات DEP أو حماية XN التي تمنع تنفيذ التعليمات البرمجية في الذاكرة ، باستثناء منطقة النص .text.

المفتاح مجهز بشريحة NRF51822 SoC مع معالج Cortex M0 ، بدون حماية DEP ، التي تحظى بشعبية كبيرة لأجهزة BLE ومجهزة بمجموعة من جهات اتصال التصحيح. لذلك ، من السهل جدًا الاتصال بهذا المفتاح عن طريق لحام شيئين له ، وإجراء تصحيح من خلال الواجهة لتصحيح أخطاء وميض رقائق SWD إذا لم يتم تعطيلها في إعدادات المصنع. من خلال الاتصال عبر SWD ، يمكننا مسح محتويات الكومة.

اتضح أنه يستخدم فقط لمحلل JSON ، وهو ليس رائعًا جدًا ، لكن الكومة تحتوي على بيانات وصفية. فما الذي يمكن أن يفسد هنا؟ بالطبع ، بيانات تعريف كومة الذاكرة المؤقتة! بهذه الطريقة ننشئ برمجية إكسبلويت لمحلل JSON.



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



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



في الوقت الحالي ، كان لدي طريقتان مختلفتان لتنفيذ التعليمات البرمجية على هذا الجهاز ، ولكن التبادل مع محلل JSON ، الذي قضيت الكثير من الوقت عليه ، تبين أنه غير فعال بشكل خاص بسبب وجود وضع DFU. سننظر لاحقًا في هذه الطريقة مع ثغرة المحلل اللغوي الحالية. حتى الآن ، كنت مهتمًا أكثر بما إذا كان من الممكن ببساطة تعديل ملف main.bin ، وإعادة حساب CRC16 الخاص به وتضمينه باستخدام البرنامج المتضمن في تطبيق Lovense Remote. اتضح أنه من الممكن.
ونتيجة لذلك ، حصلنا على مفتاح USB تم اختراقه باستخدام تطبيق كمبيوتر ، وكان بالتأكيد الجزء الأسهل للتصدع. بعد أن تمكنت من التحكم في المفتاح ، بدأت في البحث عن طريقة لتنفيذ التعليمات البرمجية على قابس التمهيد نفسه.



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

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



ترى ما حدث - ليس لدي مساهم ، ولكن في الحقيبة سيكون هناك دائمًا مجموعة من المقابس للتجارب. ثم بدأت الهندسة العكسية وتصحيح أخطاء bootplag ، وأعيد تعيين البرامج الثابتة الأصلية. لم يكن هناك محللون JSON ، فقط أوامر بسيطة ، ولكن بأعداد كبيرة.

اعتقدت أنه إذا كان وضع تحديث البرامج الثابتة دونجل غير آمن للغاية ، فمن المحتمل أن تكون هناك نقاط ضعف. اتضح كما هو. نتيجة لبحث DFU ، وجدت شيئين: معالج أوامر DFU العادي وخط DfuTarg في قطاع التمهيد. يتم استخدام DfuTarg بنفس الطريقة التي يستخدمها معرف معرف البرنامج الإضافي LVS-Z00 ، أي أنها تشبه أداة تحميل التمهيد DFU لـ BLE. لذلك ، في وضع DFU ، يتم التعرف على bootlog كجهاز تحت اسم DfuTarg ، ويمكن استخدام هذا المعرف الفريد للبحث عن الجهاز.
لذا ، إذا قمت بإرساله بالضبط نفس أمر DFU الذي أرسلناه إلى المفتاح ، فستذهب bootplag إلى وضع تحديث البرامج الثابتة للجهاز. للوميض ، يمكنك استخدام الأدوات الخاصة بالشركة المصنعة لشريحة Nordic Semiconductor - nRF Toolbox.



باستخدام أداة الشم ، يمكنك تصور حزم BLE في Wireshark.



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



السؤال هو ، ما الذي يمكن فعله حقًا باستخدام المكون الإضافي للتمهيد ، مع إتاحة الفرصة لتشغيل التعليمات البرمجية الخاصة بك عليه؟ لدي بعض الأفكار. الأول - السيطرة على هذا الشيء ، يمكنك إنشاء bootplag الفدية. يمكنك تعديل البرامج الثابتة الخاصة به حتى لا يتمكن المستخدم من تشغيل وضع DFU حتى تزوده بمفتاح معين ، أو تقوم فقط بإيقاف وظيفة الاهتزاز وتطلب 50 دولارًا لفتح هذا الجهاز المفيد.



بالنسبة للكثيرين ، سيكون هذا بمثابة لقاح من استخدام مثل هذه الألعاب. والفكرة الثانية هي تحويل bootplag إلى سلاح. تحتوي على بطارية قوية إلى حد ما تغذي محرك الهزاز ، يمكننا القول أن 80 ٪ من محتوى قابس التمهيد عبارة عن بطارية. ربما تتذكر ما حدث مع هواتف Samsung Galaxy Note الذكية - لقد انفجرت للتو (ضحك) ، لذلك من المحتمل أن يحدث هذا مع مقابس بعقب. لا أعرف ما هو احتمال انفجاره ، ولكن إذا كان لديك الكثير من الألعاب الجنسية بمحرك ، فعليك التفكير فيه. يدعي فريق التطوير أن هذه الأشياء آمنة تمامًا ، على الرغم من وجود العديد من الأجزاء المتحركة. ولكن إذا كان هذا هو الحال ، فإن ميزة أمان الجهاز يتم ترميزها في البرامج ، وليس في الأجهزة.في هذه الحالة ، يمكن أن يكون لتنفيذ التعليمات البرمجية الضارة عواقب وخيمة.

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

دعنا نحاول معرفة ما إذا كان من الممكن تحقيق تنفيذ التعليمات البرمجية في التطبيق لمكون التمهيد الإضافي من خلال النظر في كيفية معالجة الرسائل الواردة.



على اليسار تشاهد رد اتصال في JavaScript ، وعلى اليمين كيف يتفاعل مع التطبيق من خلال المنفذ التسلسلي. يتم وضع رد الاتصال في سلسلة ثم تتم معالجته بواسطة مجموعة من الوظائف المختلفة.

الوظيفة الأولى هي العثور على المفتاح ، وهي تعالج رسائل التهيئة الواردة من المفتاح. الوظيفة الثانية قيد التشغيل ("البيانات") ، وهي وظيفة معالجة تقبل حزمة JSON واردة ، لا يمكن أن يتجاوز طولها 32 حرفًا بالمناسبة. بعد ذلك ، يتم التحليل وكل شيء آخر. في الواقع ، لا توجد معالجة جادة هنا - يتم تقديم طلب فقط لحالة الجهاز ، والتحقق من شحن البطارية والنفقات العامة المماثلة.

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

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

22:00 دقيقة

مؤتمر DEFCON 27. Buttplug: اختبار اختراق حقيقي. الجزء 2


القليل من الدعاية :)


أشكركم على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية لأصدقائك VPS القائم على السحابة للمطورين من $ 4.99 ، وهو نظير فريد من نوعه لخوادم مستوى الدخول التي اخترعناها لك: الحقيقة الكاملة عن VPS (KVM) E5-2697 v3 (6 نوى) 10GB DDR4 480GB SSD 1Gbps من $ 19 أو كيفية تقسيم الخادم؟ (تتوفر الخيارات مع RAID1 و RAID10 ، حتى 24 مركزًا و 40 جيجابايت DDR4).

Dell R730xd أرخص مرتين في مركز بيانات Equinix Tier IV في أمستردام؟ فقط لدينا 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV من 199 دولارًا في هولندا!Dell R420 - 2x E5-2430 2.2 جيجا هرتز 6C 128 جيجا بايت DDR3 2x960GB SSD 1Gbps 100TB - من 99 دولار! اقرأ عن كيفية بناء مبنى البنية التحتية الفئة c باستخدام خوادم Dell R730xd E5-2650 v4 بتكلفة 9000 يورو مقابل سنت واحد؟

All Articles