
KeySweeper هو جهاز خفي قائم على Arduino، متنكر في هيئة شاحن حائط USB يعمل، يلتقط ويفك تشفير ويسجل ويبلغ (عبر GSM) جميع ضغطات المفاتيح من أي لوحة مفاتيح لاسلكية من Microsoft في الجوار.
KEYSWEEPER // SIGINT // SAMY.PL // متاح للجميع // الاختراق التطبيقي
KeySweeper هو جهاز خفي يعتمد على أردوينو، متنكّر بهيئة شاحن حائطي USB يعمل بكفاءة، يلتقط لاسلكيًا وسلبيًا جميع ضغطات المفاتيح من أي لوحة مفاتيح لاسلكية من مايكروسوفت في المحيط، ويفك تشفيرها ويسجلها ويبلغ عنها (عبر GSM).
يتم تسجيل جميع ضغطات المفاتيح عبر الإنترنت ومحليًا. تُرسل تنبيهات SMS عند كتابة كلمات مفتاحية أو أسماء مستخدمين أو روابط، مما يكشف كلمات المرور. إذا تم فصل الجهاز عن الكهرباء، يستمر KeySweeper في العمل باستخدام بطاريته الداخلية ويعيد شحن نفسه تلقائيًا عند إعادة توصيل الكهرباء. تتيح أداة قائمة على الويب مراقبة حية لضغطات المفاتيح.
عرض مباشر وتفاصيل كاملة متاحة في الفيديو:
جهة الاتصال: @SamyKamkar // [email protected] // http://samy.pl
تاريخ الإصدار: 12 يناير 2015
الكود المصدري / المخطط: https://github.com/samyk/keysweeper
التكلفة للوحدة: من 10 إلى 80 دولارًا حسب التشغيل
الحالة: جاهز للعمل، مفتوح المصدر، عتاد مفتوح، رُفع عنه التصنيف.
KeySweeper هو جهاز خفي يعتمد على أردوينو، متنكّر بهيئة شاحن حائطي USB يعمل بكفاءة، يلتقط لاسلكيًا وسلبيًا جميع ضغطات المفاتيح من أي لوحات مفاتيح لاسلكية من مايكروسوفت (التي تستخدم بروتوكول RF مملوكًا بتردد 2.4GHz) في المنطقة، ويفك تشفيرها ويسجلها ويبلغ عنها.
تُرسل ضغطات المفاتيح إلى مشغّل KeySweeper عبر الإنترنت من خلال شريحة GSM اختيارية، أو يمكن تخزينها على شريحة فلاش وتسليمها لاسلكيًا عندما يقع جهاز KeySweeper ثانوي ضمن نطاق الاتصال اللاسلكي لجهاز KeySweeper المستهدف. وتتيح أداة قائمة على الويب مراقبة حية لضغطات المفاتيح.
يمتلك KeySweeper القدرة على إرسال تنبيهات SMS عند كتابة ضغطات مفاتيح معيّنة، مثل "www.bank.com". إذا تم فصل KeySweeper عن التيار الكهربائي، يبدو وكأنه ينطفئ، لكنه يستمر في العمل سرًا باستخدام بطارية داخلية يُعاد شحنها تلقائيًا عند إعادة توصيله بالتيار الكهربائي.
يبني KeySweeper على عمل Travis Goodspeed في مشروع goodfet.nrf، وعلى عمل Thorsten Schröder وMax Moser في مشروع KeyKeriki v2.0.
من 3 إلى 30 دولارًا: يمكن استخدام متحكم Arduino أو Teensy. في بنائي، استخدمت Arduino Pro Mini بجهد 3.3V نظرًا لملفه الرقيق جدًا.
1 دولار: أستخدم شريحة راديو nRF24L01+ بسعر دولار واحد، والتي تتواصل باستخدام GFSK عبر تردد 2.4GHz. مزيد من التفاصيل متاح أدناه، ويمكن شراء هذه الرقائق بسعر يصل إلى دولار واحد على eBay. يمكن لهذه الرقائق التواصل فقط باستخدام بروتوكولات مملوكة، وهي非 ليست مخصصة للالتقاط، لكننا سنرى أدناه أنه يمكن استخدامها بطرق ذكية للالتقاط العشوائي.
6 دولارات: أستخدم شاحن USB للتيار المتردد غير مكلف (مقوم) يحول التيار المتردد إلى 5V تيار مستمر. وهذا الشاحن الذي أرفق رابطه يحتوي على برغي يسهّل فتحه (أتلفت عدة شواحن أخرى أثناء محاولة فتحها). إذا كنت تستخدم نسخة GSM من KeySweeper، فسأستخدم في الواقع شاحني USB -- الأجزاء الداخلية من شاحن صغير (مشابه لشاحن آيفون)، والهيكل الخارجي من شاحن USB أكبر.
اختياري (2 دولار): يمكن استخدام شريحة فلاش تسلسلي SPI اختيارية لتخزين ضغطات المفاتيح عليها. إذا كنت تستخدم لوحة FONA GSM أدناه، فلن تكون هذه ضرورية حيث يمكن تخزين ضغطات المفاتيح مباشرة عبر الإنترنت، لكن إذا كنت تفضل خيارًا أقل تكلفة، يمكنك تخزين ضغطات المفاتيح على هذه الشريحة داخل KeySweeper، والحصول عليها لاحقًا بالاقتراب ضمن نطاق 2.4GHz اللاسلكي من الجهاز باستخدام جهاز ثانوي يسحب ضغطات المفاتيح منه.
معظم المتحكمات الدقيقة لديها ذاكرة أو EEPROM محدودة جدًا لتخزين البيانات، ومن هنا تأتي ميزة وجود شريحة فلاش لتخزين ضغطات المفاتيح هذه.
اختياري (45 دولارًا): أنشأت Adafruit لوحة تسمى FONA تتيح لك استخدام بطاقة SIM من الجيل الثاني 2G لإرسال/استقبال رسائل SMS والمكالمات الهاتفية واستخدام الإنترنت مباشرة من الجهاز.
باستخدام هذه اللوحة، لا حاجة لشريحة الفلاش حيث تُرسل ضغطات المفاتيح فورًا إلى خادم خلفي لجمع البيانات بشكل صحيح. بالإضافة إلى ذلك، إذا تمت كتابة كلمات مفتاحية محددة على لوحات المفاتيح المستهدفة، يمكن إرسال رسالة SMS إلى رقم محدد لتنبيه المشغّل بذلك.
اختياري (3 دولارات، فقط عند استخدام FONA): تتطلب FONA بطاقة mini-SIM (وليست micro-SIM). أستخدم بطاقة SIM مسبقة الدفع من T-Mobile. أقترح استخدام T-Mobile لأنها تدعم 2G، بينما أغلب مشغلي الشبكات الآخرين أوقفوا أو يوقفون شبكات 2G الخاصة بهم، وتدعم FONA الجيل الثاني 2G فقط للإنترنت. تأكد من الحصول على الحجم الصحيح لبطاقة SIM -- مزيد من التفاصيل حول متطلبات SIM الخاصة بـ FONA هنا.
اختياري (5 دولارات فما فوق، فقط عند استخدام FONA): توفر FONA إعادة شحن مدمجة لبطارية LiPo/LiOn، وطالما كان KeySweeper موصولاً بالتيار المتردد، ستبقى البطارية مشحونة، لكنها مطلوبة على أي حال. إضافة إلى ذلك، يستمر KeySweeper في العمل سرًا بالطاقة من البطارية عند فصله عن التيار المتردد، ويبدأ في إعادة الشحن عند إعادة توصيله بالتيار المتردد.
يمكن الحصول على الكود المصدري لـ KeySweeper بالكامل من مستودعي على GitHub: https://github.com/samyk/keysweeper
يتكون KeySweeper من أجزاء متعددة. الكود الأساسي يُثبت على المتحكم الدقيق، بينما يقوم خادم خلفي قائم على الويب باستخدام jQuery وPHP بتسجيل جميع ضغطات المفاتيح وتوفير واجهة ويب للمراقبة الحية للوحات المفاتيح المستهدفة.
يحتاج KeySweeper أيضًا إلى الملفات التالية من مكتبة RF24 الخاصة بـ maniacbug:
RF24.hnRF24L01.hRF24_config.hفقط انسخ الملفات إلى مجلد keysweeper_mcu_src. كما يجب عليك تغيير عبارة #include في ملف RF24.h من #include <RF24_config.h> إلى #include "RF24_config.h".
يجب عليك استخدام نسختي من مكتبة Adafruit FONA لأنني أضفت خيارًا إضافيًا يتيح لـ FONA إخبارنا بوجود رسالة نصية جديدة. في المكتبة الأصلية، يجب عليك الاستقصاء باستمرار لمعرفة ما إذا كان هناك رسائل نصية أكثر مما تتوقع، لكن مع نسختي يمكنك تفعيل خيار fona.setSMSInterrupt(1) الذي يجعل دبوس RI (مقاطعة الرنين) ينخفض للحظة عند وصول رسائل SMS جديدة.