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

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



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

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



بالطبع ، يمكنك إدارة الرسائل الواردة حتى مع طول هذا الخط القصير. على سبيل المثال ، يكفي 30 حرفًا لتنفيذ جافا سكريبت الخبيث. تعرض هذه الشريحة مثالًا لعلامة بطول 30 حرفًا لصورة من مصدر غير موجود <img src = a onerror = 'alert (1)'> ، مما يؤدي إلى عرض التطبيق لرسالة خطأ. سيتم عرض هذه الرسالة عندما يكون تحميل الصورة مستحيلًا حقًا. توضح لقطة الشاشة أن الاتصال من خلال دونجل مخترق يسمح لك بتنفيذ جافا سكريبت ضار.



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

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



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

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



تحتوي ذاكرة فلاش الدونجل على منطقة مخصصة لمُحمل DFU ، ومنطقة لتطبيق Lovense نفسه ، ومنطقة SoftDevice مغلقة لبرنامج تشغيل الأجهزة لشريحة Nordic Semiconductor BLE. هذا هو المكان الذي تتم فيه معالجة بروتوكول BLE نفسه. على سبيل المثال ، عندما يريد تطبيق إرسال رسالة BLE إلى لعبة ، فإنه يصل إلى SoftDevice من خلال مكالمة SVC. بالإضافة إلى هذه المناطق الثلاثة ، فإن الدونجل يحتوي على مساحة غير مستخدمة من ذاكرة فلاش بحجم كبير بما فيه الكفاية.
للعثور على الثغرة الأمنية في مكدس BLE SoftDevice ، تحتاج إلى استخدام الهندسة العكسية ، لأنها ليست مفتوحة المصدر. لقد فعلت الشيء نفسه من أجل العثور على ضعف البرنامج الإضافي للبرامج الثابتة. في هذه الحالة ، من السهل جدًا متابعة تدفق البيانات ، لأنه لا يوجد ASLR أيضًا ، ومن السهل تحديد الرمز الذي سيعالج هذه الرسائل.



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



تُظهر الشريحة عينة من هذه الحزمة. يمكن لعملاء GATT إرسال حزمة طلب حسب النوع تحتوي على نوع ونطاق الواصفات لقراءتها. تقوم الخوادم التي تستجيب لطلب القراءة بحسب النوع بإرجاع البيانات المرتبطة بالمعالجات ضمن النطاق المقابل لهذا النوع. يتم تحديد عدد أزواج الواصفات / البيانات من خلال قسمة طول الحزمة المتبقية على طول حقل الواصف / زوج البيانات ، ويكون هذا الحقل دائمًا 0x7 أو 0x15.



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

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



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

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



دعونا نرى كيف يبدو المكدس قبل تجاوز الحد. يتم تمييز مجموعة سمات المخزن المؤقت التي تحدثنا عنها باللون الأصفر ، والسجلات المحفوظة باللون الأزرق ، وعنوان الإرجاع باللون البرتقالي. من خلال تعيين طول السمة إلى 0x01 ، يمكننا أن نتسبب في حدوث تجاوز في العديد من أزواج مؤشر / مؤشر البيانات. تتكون الواصفات من 2 بايت ، ولكن لا يتم مسح وحدتي بايت العلوي من واصف DWORD. المخزن المؤقت الذي نفيض فيه هو على المكدس بدون ملفات تعريف الارتباط ، ولا ASLR ، ولا DEP.



بعد ذلك ، نقوم باختبار النظام: إرسال حزمة كاملة من 0xDA بايت مع سمة سمة 0x01. اتضح أننا نعيد كتابة عنوان الإرجاع بمؤشر لبيانات السمة الخاصة بنا. نظرًا لعدم وجود ميزة DEP ، فإن هذا يعني أنه في كل مرة تُرجع فيها الدالة ، سيتم تنفيذ الرمز الموجود داخل الحزمة الخاصة بنا. القيد الوحيد هو أننا نحتاج إلى عنوان الإرجاع لتعيين LSB على البت الأقل أهمية ، لذلك يتم تشغيل الرمز في وضع الإبهام ، لأن معالج Cortex M0 لا يدعم وضع ARM.



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

هناك شرط آخر بشأن السجلات المخزنة. هذه هي المتغيرات المحلية التي يتم استبدالها أيضًا عند إرجاع الدالة.



يتم استخدام إحداها لإلغاء الإشارة إلى حد 32 بت ، وسيؤدي عدم تطابق المحتوى مع الحد إلى تعطل البرنامج. لذلك ، تحتاج إلى التأكد من أن save_arg_3 = 0 ، و save_arg_4 يتوافق مع DWORD ، أي أنه داخل الحدود ، وأن LSB معين.

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



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

ألاحظ أن هناك عقبة هندسية معينة: لا توفر Nordic SoftDevice واجهة لإرسال حزم BLE الأولية. للتحايل عليها ، يمكنك استخدام خيارين: تنفيذ حزمة BLE الخاصة بك أو كسر بعض الخطافات في الحزم الأصلية. بما أنني كسول ، اخترت الخيار 2.

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

void ble_outgoing_hook(uint8_t* buffer, uint8_t length);

يتم استدعاء مؤشر SoftDevice هذا كلما تم إرسال حزمة BLE ، بحيث يمكن تعديله مسبقًا:

int ble_incoming_hook(uint8_t* buffer, uint16_t length);

يستدعي خطاف SoftDevice هذا عند تلقي حزمة BLE. تحدد القيمة المرجعة ما إذا كان يجب تخطي معالجة SoftDevice العادية.

int send_packet(void* handle, void* buffer, uint16_t length);

هذه هي الطريقة التي تبدو بها وظيفة إرسال الحزمة الأولية إلى اتصال BLE هذا.

كيف يمكنني معالجة أكثر من 4 بايت من التعليمات البرمجية في المرة الواحدة؟ تحتاج إلى إرسال بعض الحزم! على اليمين ترى المخزن المؤقت الحلقي لحزم BLE الواردة. تظهر الحزمة الأولى باللون الأخضر: رمز القشرة الذي يقوم بتنفيذ استدعاء دالة مع معلمات محكومة ومن ثم إرجاع "نظيف". تظهر الحزمة الثانية باللون الأصفر - هذا هو مخزن البيانات المؤقت الذي يمكن استخدامه بواسطة استدعاء دالة. تظهر الحزمة الثالثة باللون الأزرق - مخزن مؤقت يحتوي على قيم معلمات استدعاء الوظيفة ، والبرتقالي - الحزمة التي تطلق الثغرة الأمنية باستخدام التعليمات C1 E7.



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



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



نتيجة لهذه التلاعبات ، يتم الحصول على ما يلي: إذا تمكنا من التحكم في التطبيق ، فيمكننا التحكم في الدونجل وبلاكبلاج.



هناك طريقتان للقرصنة على قسم دونجلد-دونجل: يمكن للدونجل أن يضر باللعبة ، ويمكن أن يضر بابل بوت بكل من الدونجل والكمبيوتر. المكافأة هي أن ثغرة Nordic BLE موجودة ليس فقط في منتجات Lovense ، ولكن أيضًا في أي أجهزة تستخدم SoftDevise S110 أو S120 أو S130 من أجل عميل BLE.

لذا ، لدينا الفرصة لاختراق التطبيق باستخدام bootplag. كيف نستطتيع ان نستعمل هذا؟ ما زلنا نقوم فقط بتنفيذ تعليمات JavaScript البرمجية داخل تطبيق Lovense ، والسؤال هو ، ماذا يمنحنا ذلك؟ اتضح أن تطبيق lovense.exe يعمل على Medium IL ويعمل على Windows ، ويوفر إمكانيات غير محدودة حقًا: حتى بدون امتيازات المسؤول ، يمكنك الوصول إلى الملفات على جهاز الكمبيوتر الخاص بك ، يمكنك تنفيذ التعليمات البرمجية التعسفية ، يمكنك تنفيذ XSS ، والوصول إلى الشبكة إلخ



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

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

{
cate: "id",
id: {
DEADBABEBEEF: {
v: 10
}
}
}

في هذه الحالة ، يقوم جهاز الاستقبال بتحليل JSON الوارد ، ويقوم بإنشاء أمر للعبة ويرسلها أكثر ، وهنا يوجد وضعان. يرسل الوضع الأول "id:" أمرًا إلى لعبة جنسية معينة ، بينما يرسل الوضع الثاني "all:" أمرًا إلى جميع الألعاب البعيدة.
هل يتم التحقق من صحة البيانات الواردة بشكل صحيح؟ نظرًا لأن JSON مرنة للغاية ، يمكن للكود ، الذي يتوقع رقمًا ، الحصول على سلسلة كاملة بدلاً من ذلك. إذا تمكنا من التحكم في الأوامر المرسلة للعبة ، فيمكننا على الأرجح استخدام خطأ محلل دونجل. في الشريحة التالية ، يوضح الإطار البرتقالي مكان استخدام بيانات الإدخال ، ويظهر الإطار الأزرق مكان فحصها.
هذا الخطأ هو أن التطبيق لا يتحقق بشكل صحيح من أن الإدخال لأمر مثل الاهتزاز هو في الواقع عدد صحيح. في هذه الحالة ، في وضع "id:" ، يتم التحقق فقط من أن مؤشر كثافة الاهتزاز هو n> = 0 ، وإذا نجحت في إدخال عدد صحيح 12 أكبر من الصفر ، فستجتاز هذه المعلمة الاختبار. حتى إذا قمت بتمرير سلسلة ، أي الرقم بين علامتي اقتباس "12" ، فإن النظام سيقبله. لن يقبل سوى سلسلة في شكل مزيج من الأرقام والحروف ، على سبيل المثال ، "12test".



كما ترى ، هذا الاختيار لا يسمح لنا بإدخال أمر نصي. ومع ذلك ، إذا نظرت إلى الجزء السفلي من الرمز ، فسترى نفس التحقق ، هذه المرة فقط يتحقق التطبيق من الشرط n <0. الآن ، إذا أدخلنا "12test" ، فلن نجتاز الاختبار ، لأن التطبيق سيعتبر أن التعبير المحدد كسلسلة لا يقل عن 0. ولكن إذا أدخلنا سلسلة مع التحقق من عدم المساواة في النموذج! ("12test" <0) ، فإن النظام سيعتبرها صحيحة ، على الرغم من حقيقة أن هذا ليس عددًا صحيحًا وليس رقمًا على الإطلاق ، ولكنه مزيج أبجدي رقمي. في الجوهر ، هذا يعني أنه يمكننا إدخال في هذا الأمر سلسلة اعتباطية سيتم إرسالها إلى الدونجل. يتيح لنا هذا إرسال رمز استغلال برمجية إكسبلويت بنفس الطريقة التي استخدمناها من قبل للتنازل عن الدونجل عبر محلل JSON. والفرق الوحيد هو أنه يمكن الآن القيام بذلك عبر الإنترنت.



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

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



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

  1. افعل كل ما يجب أن يحدث على آلة الضحية.
  2. احصل على كائن JavaScript يسمح لك بالوصول إلى الدردشة.
  3. أرسل حمولة XSS لتنزيل هذا النص البرمجي على أجهزة الكمبيوتر لجميع أصدقائك.


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



كما وعدت ، سأعرض لك الآن فيديو مباشر. أول شيء سأعرضه هو استخدام مقبس BTLE لاعتراض الاتصال بين المكوّن الإضافي للتمهيد وجهاز Windows الظاهري العادي الذي يتصل به الدونجل. الآن سأحاول تشغيل bootplag - آمل أن تسمعوا جميعًا أصوات الاهتزاز! (ضحك). حسنًا ، نجحت ، الآن سأحاول إضافة لعبتي إلى لوحة تحكم التطبيق. شاهد أن البرنامج وجد Hush ، ولكن انتظر دقيقة! نسيت بدء عملية جاك BTLE. السبب الوحيد الذي يجعلك بحاجة إلى استخدام مقبس BTLE في هذا الوضع هو أنه يجعل العرض التوضيحي المباشر أسهل ، ولكن في الممارسة العملية ، يمكنك اعتراض اتصال موجود دون الحاجة إلى الشم. لذلك أنا أطلق هذا الشيء فقط لتبسيط التجربة. دعنا نكرر من جديد. ترى أنه تم تأسيس الاتصال باللعبة.



يظهر الشم على اليسار أنه وجد هذا الاتصال. لذا ، لدينا تطبيق يرتبط بلعبة الجنس لدينا. لا أعرف ما إذا سمعت أنه يمكنني بالفعل التحكم في مكون التمهيد الإضافي (تحرك smea شريط التمرير لأعلى ، وبعد ذلك يتم سماع صوت اهتزاز مضخم). الآن أطفئ هذا الشيء (ينقل المنزلق للأسفل ، ويختفي صوت الاهتزاز). الآن أنا بحاجة لاختراق هذا الاتصال. للقيام بذلك ، أقوم بنسخ العديد من المعلمات ، ولصقها في خط smea @ ubuntu وفي النهاية أقوم بإدخال المعلمة t - أمر اعتراض الاتصال.



إذا كان هذا يعمل ، فسوف يقتل الاتصال مع التطبيق. كما ترى ، ظهرت رسالة في نافذة التطبيق تفيد بفقدان الاتصال بالجهاز. شكرا جاك BTLE لأداة عظيمة! تم فصل سجل التشغيل من التطبيق ويتم التحكم فيه الآن من خلال الجهاز الظاهري ubuntu. نظريًا ، يجب أن نكون قادرين على جعله يهتز عن بُعد. أكتب فريق Vibrate 20 ، وكما ترون ، يعمل كل شيء - تمكنا من التحكم عن بعد في bootplag دون مساعدة التطبيق الرسمي (تصفيق من الجمهور). الآن سأضعها في وضع DFU ، وإذا كان هذا يعمل ، فسوف أضطر إلى إيقاف هذا الشيء. أدخل الأمر المناسب وتوقف الاهتزاز.



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



ترى كيف تسير عملية التحديث. تظهر رسالة على الشاشة تفيد بتحديث البرنامج الثابت للجهاز بنجاح. الآن سأحاول مرة أخرى لربط bootplag بالتطبيق المثبت على جهاز الكمبيوتر الخاص بي ، وسترى ما يحدث: تظهر شاشة برامج الفدية على الشاشة (تصفيق من الجمهور)!



"عفوًا ، يتم تشفير قابس المؤخرة! ادفع لاستعادة الوصول إلى هذه اللعبة الهامة بقيمة 50 دولارًا من البيتكوين في غضون 3 أيام ، وإلا فستفقدها إلى الأبد في غضون أسبوع. " وإليك كيف يعمل!

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

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



أريد أن أشكر جميع أصدقائي الذين ساعدوني في الدعوى وقدموني إلى عالم سدادات المعارك ، لأنني مثليون جنسيا للغاية. لن أعطي أسماء ، لكن آرون ، أنت تعرف بنفسك من أنت (ضحك). شكرا يا رفاق ، كان ذلك رائعا!


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


أشكركم على البقاء معنا. هل تحب مقالاتنا؟ هل تريد رؤية مواد أكثر إثارة للاهتمام؟ ادعمنا عن طريق تقديم طلب أو التوصية لأصدقائك 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