سڀني کي سٺو ڏينهن. مان ان پس منظر سان شروع ڪندس ته مون کي ھن تحقيق ڪرڻ لاءِ ڪھڙي ترغيب ڏني، پر پھريائين مان توھان کي ڊيڄاريندس: سڀ عملي ڪارناما انتظامي ڍانچي جي رضامنديءَ سان ڪيا ويا. هن مواد کي استعمال ڪرڻ جي ڪا به ڪوشش ڪنهن پابندي واري علائقي ۾ داخل ٿيڻ جي حق کان سواءِ هڪ ڏوهي جرم آهي.
Началось все с того, что убираясь на столе, я случайно поместил RFID ключ от подъезда на NFC-считыватель ACR122 — каково же было мое удивление, когда Windows воспроизвела звук обнаружения нового устройства, а светодиод загорелся зеленым. Я до этого момента полагал что эти ключи работают исключительно в стандарте Proximity.

پر جيئن ته پڙهندڙ ان کي ڏٺو، ان جو مطلب اهو آهي ته اهم ISO 14443 معيار جي مٿان پروٽوڪول مان هڪ سان ملن ٿا (اڪا Near Field Communication، 13,56 MHz). صفائي کي فوري طور تي وساريو ويو، جيئن مون هڪ موقعو ڏٺو ته مڪمل طور تي چابمن جي سيٽ مان نجات حاصل ڪرڻ ۽ منهنجي فون ۾ داخل ٿيڻ جي ڪنجي کي رکڻ لاء (اپارٽمنٽ ڊگهي عرصي کان هڪ اليڪٽرانڪ تالا سان ليس آهي). مطالعي شروع ڪرڻ کان پوء، مون کي معلوم ٿيو ته پلاسٽڪ جي هيٺان لڪيل هڪ Mifare 1k NFC ٽيگ آهي - ساڳيو ماڊل جيئن انٽرنيشنل بيجز، ٽرانسپورٽ ڪارڊ وغيره ۾. شعبن جي مواد ۾ حاصل ڪرڻ جي ڪوشش پهرين ۾ ڪاميابي نه آڻيندي، ۽ جڏهن ڪنجي آخرڪار ڀڃي وئي، اهو ظاهر ٿيو ته صرف 3rd شعبي استعمال ڪيو ويو، ۽ چپ جي UID پاڻ ان ۾ نقل ڪئي وئي هئي. اهو تمام سادو نظر آيو، ۽ اهو ائين ئي نڪتو، ۽ ڪو به مضمون نه هوندو جيڪڏهن هر شيء بلڪل رٿابندي ڪئي وئي. تنهن ڪري مون کي چاٻي جا گبلٽس مليا آهن، ۽ ڪو مسئلو ناهي جيڪڏهن توهان کي ساڳئي قسم جي ڪنهن ٻئي ڏانهن ڪيپي ڪاپي ڪرڻ جي ضرورت آهي. پر ڪم اهو هو ته ڪنجي کي موبائيل ڊيوائس ڏانهن منتقل ڪرڻ، جيڪو مون ڪيو. هي اهو آهي جتي مزو شروع ٿيو - اسان وٽ هڪ فون آهي - iPhone SE قائم ڪيل سان iOS 13.4.5 بيٽا تعمير 17F5044d и некоторыми кастомными компонентами для свободной работы NFC — на этом подробно останавливаться не буду в силу некоторых объективных причин. При желании все сказанное далее применимо и для системы Android, но с некоторыми упрощениями.
حل ڪرڻ لاء ڪمن جي فهرست:
- ڪي جي مواد تائين رسائي.
- ڊوائيس ذريعي هڪ ڪنجي کي نقل ڪرڻ جي صلاحيت کي لاڳو ڪريو.
Если с первым все было относительно просто, то со вторым возникли проблемы. Первая версия эмулятора не сработала. Проблема была довольно быстро обнаружена — у мобильных устройств (что iOS, что Android) в режиме эмуляции — UID динамический и независимо от того, что зашито в образе — плавает. Вторая версия (запускаемая с правами суперпользователя) жестко фиксировала серийный номер на выбранном — дверь открывалась. Однако я хотел сделать все идеально, и в итоге собрал законченную версию эмулятора которая могла открывать дампы Mifare и эмулировать их. Поддавшись внезапному порыву, я изменил ключи секторов на произвольные, и попытался открыть дверь. И она… کوليو ويو! ٿوريءَ دير کان پوءِ مون محسوس ڪيو ته اهي کلي رهيا هئا ڪنهن به دروازا هن تالا سان گڏ، جيتوڻيڪ اهي جن ۾ اصل چاٻي نه هئي. ان سلسلي ۾، مون مڪمل ڪرڻ لاء ڪمن جي نئين فهرست ٺاهي:
- معلوم ڪريو ته ڪھڙي قسم جو ڪنٽرولر ڪنجي سان ڪم ڪرڻ جو ذميوار آھي
- سمجھو ته ڇا ھڪڙو نيٽ ورڪ ڪنيڪشن ۽ ھڪڙو عام بنياد آھي
- ڳولهيو ڇو ته هڪ حقيقت ۾ اڻ پڙهيل ڪيئي آفاقي بڻجي ٿي
مئنيجمينٽ ڪمپني جي هڪ انجنيئر سان ڳالهائڻ کان پوءِ، مون سکيو ته سادو Iron Logic z5r ڪنٽرولر استعمال ڪيا ويندا آهن بغير ڪنهن ٻاهرين نيٽ ورڪ سان ڳنڍڻ جي.
CP-Z2 MF ريڊر ۽ IronLogic z5r ڪنٽرولر
مون کي تجربن لاء سامان جو هڪ سيٽ ڏنو ويو:

جيئن ته هتان واضح آهي، اهو نظام مڪمل طور تي خودمختيار ۽ انتهائي ابتدائي آهي. پهريان مون سوچيو ته ڪنٽرولر سکيا واري موڊ ۾ هو - مطلب اهو آهي ته اهو ڪنجي کي پڙهي ٿو، ان کي ميموري ۾ محفوظ ڪري ٿو ۽ دروازو کولي ٿو - هي موڊ استعمال ڪيو ويندو آهي جڏهن اهو ضروري هجي ته سڀني چابين کي رڪارڊ ڪرڻ لاء، مثال طور، جڏهن تبديل ڪيو وڃي. اپارٽمنٽ بلڊنگ ۾ بند ڪريو. پر هن نظريي جي تصديق نه ڪئي وئي آهي - هي موڊ سافٽ ويئر ۾ بند ڪيو ويو آهي، جمپر ڪم ڪندڙ پوزيشن ۾ آهي - ۽ اڃا تائين، جڏهن اسان ڊوائيس کي آڻينداسين، اسان هيٺيان ڏسون ٿا:
ڊوائيس تي ايموليشن جي عمل جو اسڪرين شاٽ

... ۽ ڪنٽرولر سگنل جيڪي رسائي ڏني وئي آهي.
ان جو مطلب اهو آهي ته مسئلو يا ته ڪنٽرولر يا پڙهندڙ جي سافٽ ويئر ۾ آهي. اچو ته ريڊر کي چيڪ ڪريون - اهو iButton موڊ ۾ ڪم ڪري ٿو، تنهنڪري اچو ته بولڊ سيڪيورٽي بورڊ کي ڳنڍيون - اسان پڙهندڙ مان آئوٽ پٽ ڊيٽا ڏسڻ جي قابل ٿي سگهنداسين.
بورڊ بعد ۾ RS232 ذريعي ڳنڍيو ويندو

ڪيترن ئي تجربن جي طريقن کي استعمال ڪندي، اسان کي معلوم ٿئي ٿو ته پڙهندڙ ساڳيو ڪوڊ نشر ڪري ٿو اجازت ڏيڻ جي ناڪامي جي صورت ۾: 1219191919
صورتحال واضح ٿيڻ شروع ٿي رهي آهي، پر هن وقت اهو واضح ناهي ته ڪنٽرولر هن ڪوڊ کي مثبت جواب ڇو ڏئي ٿو. اتي ھڪڙو مفروضو آھي ته جڏھن ڊيٽابيس ڀريو ويو ھو - حادثي سان يا مقصد تي ھڪ ڪارڊ ٻين شعبي جي چابن سان پيش ڪيو ويو - پڙهندڙ ھن ڪوڊ موڪليو ۽ ڪنٽرولر ان کي بچايو. بدقسمتي سان، مون وٽ IronLogic مان هڪ پروپرائيٽري پروگرامر نه آهي ته ڪنٽرولر جي اهم ڊيٽابيس کي ڏسڻ لاء، پر مون کي اميد آهي ته مان هن حقيقت تي ڌيان ڏيڻ جي قابل ٿي چڪو آهيان ته مسئلو موجود آهي. هن ڪمزوري سان ڪم ڪرڻ جو هڪ وڊيو مظاهرو موجود آهي .
پي ايس بي ترتيب اضافو نظريو حقيقت جي مخالفت ڪئي وئي آهي ته ڪراسنويارسڪ ۾ هڪ ڪاروباري مرڪز ۾ مون پڻ ساڳيو طريقو استعمال ڪندي دروازو کولڻ جو انتظام ڪيو.
جو ذريعو: www.habr.com
