Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/samyk/keysweeper
أمان الأنظمة المدمجةالتقاط وتحليل الحزمتسريب البياناتجمع المعلوماتأمن الشبكات اللاسلكيةاختراق الأجهزةالفريق الأحمر
GitHubsamyk/keysweeper

keysweeper

KeySweeper هو جهاز خفي قائم على Arduino، متنكر في هيئة شاحن حائط USB يعمل، يلتقط ويفك تشفير ويسجل ويبلغ (عبر GSM) جميع ضغطات المفاتيح من أي لوحة مفاتيح لاسلكية من Microsoft في الجوار.

عرض المستودع
1.1k2465منذ 9 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

KEYSWEEPER // SIGINT // SAMY.PL // متاح للجميع // الاختراق التطبيقي

KeySweeper

KeySweeper هو جهاز خفي يعتمد على أردوينو، متنكّر بهيئة شاحن حائطي USB يعمل بكفاءة، يلتقط لاسلكيًا وسلبيًا جميع ضغطات المفاتيح من أي لوحة مفاتيح لاسلكية من مايكروسوفت في المحيط، ويفك تشفيرها ويسجلها ويبلغ عنها (عبر GSM).

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

عرض مباشر وتفاصيل كاملة متاحة في الفيديو: KeySweeper


KeySweeper

KeySweeper أداة المراقبة الحية

جهة الاتصال: @SamyKamkar // [email protected] // http://samy.pl

تاريخ الإصدار: 12 يناير 2015

الكود المصدري / المخطط: https://github.com/samyk/keysweeper

التكلفة للوحدة: من 10 إلى 80 دولارًا حسب التشغيل

الحالة: جاهز للعمل، مفتوح المصدر، عتاد مفتوح، رُفع عنه التصنيف.


(U) القدرات

أجزاء KeySweeper الداخلية

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.

رسالة SMS من KeySweeper


(U) العتاد

Microsoft Wireless Keyboard 800

متحكم Arduino / Teensy

من 3 إلى 30 دولارًا: يمكن استخدام متحكم Arduino أو Teensy. في بنائي، استخدمت Arduino Pro Mini بجهد 3.3V نظرًا لملفه الرقيق جدًا.

شريحة الترددات الراديوية nRF24L01+ بتردد 2.4GHz

1 دولار: أستخدم شريحة راديو nRF24L01+ بسعر دولار واحد، والتي تتواصل باستخدام GFSK عبر تردد 2.4GHz. مزيد من التفاصيل متاح أدناه، ويمكن شراء هذه الرقائق بسعر يصل إلى دولار واحد على eBay. يمكن لهذه الرقائق التواصل فقط باستخدام بروتوكولات مملوكة، وهي非 ليست مخصصة للالتقاط، لكننا سنرى أدناه أنه يمكن استخدامها بطرق ذكية للالتقاط العشوائي.

شاحن USB للتيار المتردد

6 دولارات: أستخدم شاحن USB للتيار المتردد غير مكلف (مقوم) يحول التيار المتردد إلى 5V تيار مستمر. وهذا الشاحن الذي أرفق رابطه يحتوي على برغي يسهّل فتحه (أتلفت عدة شواحن أخرى أثناء محاولة فتحها). إذا كنت تستخدم نسخة GSM من KeySweeper، فسأستخدم في الواقع شاحني USB -- الأجزاء الداخلية من شاحن صغير (مشابه لشاحن آيفون)، والهيكل الخارجي من شاحن USB أكبر.

شريحة الفلاش التسلسلي SPI

اختياري (2 دولار): يمكن استخدام شريحة فلاش تسلسلي SPI اختيارية لتخزين ضغطات المفاتيح عليها. إذا كنت تستخدم لوحة FONA GSM أدناه، فلن تكون هذه ضرورية حيث يمكن تخزين ضغطات المفاتيح مباشرة عبر الإنترنت، لكن إذا كنت تفضل خيارًا أقل تكلفة، يمكنك تخزين ضغطات المفاتيح على هذه الشريحة داخل KeySweeper، والحصول عليها لاحقًا بالاقتراب ضمن نطاق 2.4GHz اللاسلكي من الجهاز باستخدام جهاز ثانوي يسحب ضغطات المفاتيح منه.

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

Adafruit FONA

اختياري (45 دولارًا): أنشأت Adafruit لوحة تسمى FONA تتيح لك استخدام بطاقة SIM من الجيل الثاني 2G لإرسال/استقبال رسائل SMS والمكالمات الهاتفية واستخدام الإنترنت مباشرة من الجهاز.

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

بطاقة SIM

اختياري (3 دولارات، فقط عند استخدام FONA): تتطلب FONA بطاقة mini-SIM (وليست micro-SIM). أستخدم بطاقة SIM مسبقة الدفع من T-Mobile. أقترح استخدام T-Mobile لأنها تدعم 2G، بينما أغلب مشغلي الشبكات الآخرين أوقفوا أو يوقفون شبكات 2G الخاصة بهم، وتدعم FONA الجيل الثاني 2G فقط للإنترنت. تأكد من الحصول على الحجم الصحيح لبطاقة SIM -- مزيد من التفاصيل حول متطلبات SIM الخاصة بـ FONA هنا.

بطارية ليثيوم-أيون 3.7V (LiOn أو LiPo)

اختياري (5 دولارات فما فوق، فقط عند استخدام FONA): توفر FONA إعادة شحن مدمجة لبطارية LiPo/LiOn، وطالما كان KeySweeper موصولاً بالتيار المتردد، ستبقى البطارية مشحونة، لكنها مطلوبة على أي حال. إضافة إلى ذلك، يستمر KeySweeper في العمل سرًا بالطاقة من البطارية عند فصله عن التيار المتردد، ويبدأ في إعادة الشحن عند إعادة توصيله بالتيار المتردد.

KeySweeper مفصول عن الكهرباء


(U) البرمجيات

KeySweeper

يمكن الحصول على الكود المصدري لـ KeySweeper بالكامل من مستودعي على GitHub: https://github.com/samyk/keysweeper

يتكون KeySweeper من أجزاء متعددة. الكود الأساسي يُثبت على المتحكم الدقيق، بينما يقوم خادم خلفي قائم على الويب باستخدام jQuery وPHP بتسجيل جميع ضغطات المفاتيح وتوفير واجهة ويب للمراقبة الحية للوحات المفاتيح المستهدفة.

يحتاج KeySweeper أيضًا إلى الملفات التالية من مكتبة RF24 الخاصة بـ maniacbug:

  • RF24.h
  • nRF24L01.h
  • RF24_config.h

فقط انسخ الملفات إلى مجلد keysweeper_mcu_src. كما يجب عليك تغيير عبارة #include في ملف RF24.h من #include <RF24_config.h> إلى #include "RF24_config.h".

مكتبة Adafruit FONA

يجب عليك استخدام نسختي من مكتبة Adafruit FONA لأنني أضفت خيارًا إضافيًا يتيح لـ FONA إخبارنا بوجود رسالة نصية جديدة. في المكتبة الأصلية، يجب عليك الاستقصاء باستمرار لمعرفة ما إذا كان هناك رسائل نصية أكثر مما تتوقع، لكن مع نسختي يمكنك تفعيل خيار fona.setSMSInterrupt(1) الذي يجعل دبوس RI (مقاطعة الرنين) ينخفض للحظة عند وصول رسائل SMS جديدة.

jQuery Terminal

لقد أنشأت أداة خلفية تتيح لك مراقبة لوحات المفاتيح مباشرة عبر صفحة ويب. إضافة jQuery Terminal تجعلها تبدو أفضل.

jQuery UI Virtual Keyboard

jQuery UI Virtual Keyboard يواصل جعل أداة واجهة التجسس الحية في KeySweeper تبدو رائعة، حيث يُظهر المفاتيح على لوحة المفاتيح الافتراضية وهي تُضغَط عندما يضغط المستخدم المفاتيح فعليًا.

KeySweeper أداة المراقبة الحية


(U) تحديد البروتوكول اللاسلكي للوحة المفاتيح

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

http://samy.pl/keysweeper/fcc.jpg

نكتشف فورًا أن لوحة المفاتيح تتواصل على تردد 2403 - 2480MHz وفقًا لتقرير FCC.

الآن وبما أنني أعرف أن هذا جهاز يعمل بتردد 2.4GHz، أفترض أنه يعمل إما باستخدام بروتوكول 2.4GHz شائع مثل الواي فاي أو البلوتوث أو Zigbee أو غيرها، أو أنه يعمل باستخدام بروتوكول مملوك. ونظرًا لأن الجهاز جاء مع مستقبل USB خاص به (مع معرف FCC خاص به، C3K1461)، فمن المرجح جدًا أن تكون الإشارة مملوكة بتردد 2.4GHz.

نظرًا لأنه من المرجح أن تكون الإشارة مملوكة بتردد 2.4GHz، نحتاج الآن إلى استخدام طريقة ما لالتقاط إشارات 2.4GHz. لن تساعد أدوات التقاط الواي فاي لأن هذه ليست 802.11 (مثل ما استخدمناه في SkyJack)، ولن يساعد RTL-SDR بمفرده لأنه يتوقف عند حوالي 2.2GHz ما لم تستخدم أيضًا محولًا تنازليًا للترددات الراديوية (استخدمنا RTL-SDR في Digital Ding Dong Ditch)، لذلك أريد فورًا استخدام HackRF، وهو راديو معرف بالبرمجيات قوي وغير مكلف، لكن على الرغم من قوته الهائلة مقابل سعره، قد نتمكن من الاكتفاء بعتاد أقل تكلفة.

بناءً على الخبرة السابقة، افتراضي هو أن لوحة المفاتيح تستخدم شيئًا مثل Nordic nRF24L01+، أو TI CC2500، أو Cypress CYRF6936، لكننا لن نعرف على وجه اليقين دون مزيد من الفحص.

http://samy.pl/keysweeper/int1.jpg

بعد فك البراغي من لوحة المفاتيح وفتحها، نرى شريحة واحدة مسؤولة عن كل شيء. إنها موسومة بـ NRF 24LE1H، وهذا يبدو قريبًا جدًا من nRF24L01 (n=Nordic Semiconductor، RF=الترددات الراديوية، 24=2.4GHz)! وسرعان ما نجد شريحة nRF24LE1 بالبحث، ونرى أنها تتضمن بالفعل شريحة الراديو nRF24L01+ مدمجة مع وحدة معالجة مركزية (نظام على رقاقة/SoC)، ويُظهر بحث سريع على eBay أن شريحة nRF24L01+ يمكن شحنها إلينا بأقل من دولار واحد.

root@kitploit:~
The nRF24LE1 integrates an nRF24L01+ 2.4GHz RF transceiver core, enhanced 16MHz 8-bit 8051 compatible CPU, 1kB + 256B RAM, 16kB embedded Flash, and a wide range of system peripherals

http://samy.pl/keysweeper/int2.jpg

بالنظر إلى ورقة بيانات nRF24L01+، نرى أن هذه شريحة ترددات راديوية بتردد 2.4GHz تعمل إما بسرعة 250kbps/1Mbps/2Mbps، وتستخدم GFSK (مفتاح إزاحة التردد الغاوسي وهو تعديل رقمي للتردد/FM)، وللأسف تفتقر إلى أي وضع مباشر أو غير انتقائي شرعي للالتقاط... أم لا؟

http://samy.pl/keysweeper/Amfm3-en-de.gif


(U) التقاط إشارات 2.4GHz المملوكة

في حين أنني عادةً ما أستخدم شيئًا مثل HackRF أو RTL-SDR مع محول تنازلي رقمي (لإدخال 2.4GHz ضمن نطاق RTL-SDR)، سيكون من الرائع حقًا أن نتمكن من الالتقاط بعتاد أقل تكلفة، لأنني في النهاية أريد تجميع كل شيء في جهاز يمكن تركه في الميدان.

بعد بحث بسيط، ظهرت صفحة مذهلة من Travis Goodspeed، حيث لا يلتقط فيها لوحة مفاتيح مماثلة فقط (Microsoft Comfort Desktop 5000)، بل يوضح أيضًا كيفية تحويل nRF24L01+ إلى جهاز التقاط 2.4GHz باستخدام جهازه GoodFET وحاسوب مضيف مع تطبيق بايثون goodfet.nrf.

GoodFET و nRF24L01+

اكتشف Travis أن الالتقاط بالجهاز صعب تقليديًا، لأنه لا يجب عليك تحديد القناة (التردد) المراد الاستماع إليها فحسب، بل يجب أيضًا تحديد عنوان MAC للاستماع عليه. شريحة nRF ستسلّم فقط الحزم المرسلة إلى عنوان MAC المحدد. إضافة إلى ذلك، لن تخبرك شريحة nRF بعنوان MAC لأنك حددته بالفعل (يُفترض أنه في أحد أنابيب RX_ADDR_P[0-5] الخاصة بنا، والمذكورة في ورقة البيانات).

لكن عند تحديد طول عنوان MAC، وجد Travis خيارًا واحدًا يعتبر "غير قانوني" في ورقة البيانات (SETUP_AW, 0x03 set to 00)، لكنه في الواقع يضبط عنوان MAC على بايتين! أيضًا، بضبط عنوان MAC على بيانات توجد عادةً في التمهيد (0x00AA or 0x0055, in binary 0000000010101010 or 0000000001010101)، يمكننا خداع الجهاز ليعطينا الحزمة مبكرًا، موفرًا لنا عنوان MAC كاملاً في جزء البيانات! اقرأ مقالته الرائعة للحصول على كل التفاصيل.

مستقبل USB من مايكروسوفت


(U) زيادة السرعة وقابلية النقل

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

بالإضافة إلى ذلك، ننفّذ بعض التحسينات. يوفر Goodfet.nrf طريقة لفحص الأجهزة من خلال ما يلي:

  • ابدأ بتردد 2400MHz
  • اضبط معدل البيانات على 1Mbps وعنوان MAC على 0x00AA، واستمع لمدة 10 ثوانٍ
  • اضبط معدل البيانات على 2Mbps وعنوان MAC على 0x00AA، واستمع لمدة 10 ثوانٍ
  • اضبط معدل البيانات على 1Mbps وعنوان MAC على 0x0055، واستمع لمدة 10 ثوانٍ
  • اضبط معدل البيانات على 2Mbps وعنوان MAC على 0x0055، واستمع لمدة 10 ثوانٍ
  • زد التردد وابدأ من جديد، وعند بلوغ 2528MHz، أعد الضبط إلى 2400 (128 ترددًا)
  • عند رؤية لوحة مفاتيح محتملة، نطلب أربع حزم على الأقل لتلبية عتبة معينة للتأكد من أنها حزمة حقيقية نظرًا لكثرة النتائج الإيجابية الخاطئة

هذا يعني أن فحص نطاق الترددات الكامل يستغرق حوالي 85 دقيقة، ويجب الضغط على عدة ضغطات مفاتيح على الأقل أثناء التقاطنا ضمن فترة العشر ثوانٍ الصحيحة. بعد مراجعة أبحاث ولوحة مفاتيح Travis، وأبحاث ولوحة مفاتيح KeyKeriki، ولوحة المفاتيح الخاصة بي، يمكننا تنفيذ بعض التحسينات:

  • إذا كنت تتذكر من FCC، فإننا نستخدم فقط 2403 - 2480MHz لهذه اللوحات، مما يقلل تردداتنا الممكنة من 128 إلى 78 (انخفاض بحوالي 40% في الفحص)
  • جميع لوحات المفاتيح تستخدم 2Mbps، مما يقلص بحثنا إلى النصف
  • بعد فحص المزيد من لوحات المفاتيح، وجدت أن جميع لوحات مفاتيح مايكروسوفت تبدأ بعنوان MAC قيمته 0xCD، مما يخبرنا أن التمهيد سيكون دائمًا 0xAA (10101010) لأن تمهيد 0xAA يتبعه دائمًا بت قيمته 1 (0xCD هو 11001101) للحفاظ على تناوب البتات، مما يقلص بحثنا إلى النصف
  • ولأننا نعرف البايت الأول من MAC (0xCD)، ونعرف أيضًا حزمًا معينة نبحث عنها، فإننا ببساطة نكتشف تلك الحزم فقط، ما يعني أننا نحتاج فقط إلى رؤية حزمة واحدة للتأكد من أنها لوحة مفاتيح فعلًا
  • نقلل مدة الفحص لكل تردد إلى 500ms، مما يجعل مسحنا يستغرق أقل من 40 ثانية لإكمال دورة كاملة واحدة

(U) فك تشفير ضغطات المفاتيح

قدّم Thorsten Schröder وMax Moser جهازًا رائعًا، وهو KeyKeriki، قادر على التقاط لوحات مفاتيح مايكروسوفت، وقدما هندسة عكسية كاملة لعملية فك التشفير وأنتجا جهازًا للقيام بذلك. لكن يشير Travis إلى أن جهازهم يتطلب راديوين ومتحكمًا دقيقًا عالي المستوى لالتقاط وتحليل الحزم بسرعة 2Mbps التي تتواصل بها لوحات المفاتيح. مشروع Travis رائع أيضًا، لكنه يتطلب حاسوبًا مضيفًا وسيكون كبيرًا جدًا لتطبيقنا الخفي. نحسّن هذه التصاميم في هذا السيناريو بالاعتماد على راديو ومتحكم دقيق غير مكلفين فقط، وكلاهما منخفض الطاقة وصغير جدًا، دون الحاجة إلى حاسوب أو أجهزة راديو فاخرة.

اكتشف Thorsten وMax أن ضغطات المفاتيح ببساطة مشفرة (عبر XOR) مع عنوان MAC في وضع ECB، وهو ما يمكننا التقاطه بعد استخدام طريقة Travis في استغلال nRF24L01+ للالتقاط وكشف عناوين MAC في آن واحد. هذا "التشفير" يعادل أخذ مجموعة أوراق لعب، وقصّها مرة واحدة، ثم تسميتها "مخلوطة".

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

اكتشاف إضافي هو أنه بما أن طول جزء التشفير من الحزمة هو 11 بايتًا، وعنوان MAC مكون من 5 بايتات، وCRC عبارة عن كل بايت يتم XOR مع آخر (قبل التشفير)، يحدث شيء مثير للاهتمام. وبما أن عنوان MAC يُخضع لـ XOR مرتين، يمكننا أيضًا حساب المجموع الاختباري دون معرفة عنوان MAC. وذلك لأن عنوان MAC موجود بالكامل مرتين، وXOR لأي رقم مع نفسه (أو XOR للـ MAC مع الـ MAC) يلغي نفسه. البايت الحادي عشر هو البايت الأول من MAC مرة أخرى، والذي نعرف دائمًا أنه 0xCD. يتيح لنا ذلك تنفيذ هجمات أخرى، مثل تعديل ضغطة المفتاح وCRC، مرة أخرى دون معرفة عنوان MAC. سأقدم هذا وبعض العروض الممتعة الأخرى في مشروع مستقبلي.

تعرض إحدى صفحات عرض KeyKeriki عملية فك التشفير:

http://samy.pl/keysweeper/decrypt.png

  • نوع الجهاز 0x0A = لوحة مفاتيح، 0x08 = فأرة
  • نوع الحزمة 0x78 = ضغطة مفتاح، 0x38 = خمول (المفتاح مضغوط باستمرار)
  • نوع الطراز 0x06 = لوحة مفاتيح؟ هذا هو نفس كود HID للوحة المفاتيح
  • كود HID 0x05 = الحرف 'b' (موصوف في القسم 7 هنا)

طريقة فك التشفير لدينا، والمنفذة في الكود المصدري لـ KeySweeper:``` // decrypt those keyboard packets! void decrypt(uint8_t* pkt) { // our encryption key is the 5-byte MAC address and // starts 4 bytes in (4-byte header is unencrypted) for (int i = 4; i < 15; i++) pkt[i] ^= mac >> (((i - 4) % 5) * 8) & 0xFF; }

root@kitploit:~
# (U) بناء / الاستيلاء على شاحن USB

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

يستخدم KeySweeper أجهزة منخفضة الطاقة وصغيرة الحجم للغاية ليظل متخفيًا قدر الإمكان. يمكن تشغيل KeySweeper من بطارية، أو من طاقة تيار مستمر (DC) تتراوح بين ~3-20V. نظرًا لأننا نرغب في إبقاء KeySweeper يعمل طوال الوقت، فإننا نقوم بتثبيته خلسة داخل شاحن حائط USB بريء نتوقع أن يظل موصولًا بالتيار دائمًا.

في حال تم فصل شاحن USB، يواصل KeySweeper عمله بتخفي باستخدام بطاريته الداخلية (الاختيارية). وبمجرد إعادة توصيل KeySweeper، يتحول مرة أخرى إلى استخدام طاقة التيار المتردد (AC)، ويعيد شحن البطارية في الوقت نفسه.

إذا كنت تبني KeySweeper **بدون** لوحة GSM، يمكنك وضع كل شيء في شاحن حائط USB نموذجي يعمل بالتيار المتردد. أقترح البحث عن شاحن يحتوي على برغي يثبته معًا، لأن معظم الشواحن الأخرى تكون مغلقة بإحكام وتتطلب تدمير جزء من الجهاز لفتحه.
[![http://samy.pl/keysweeper/usbopen.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbopen.jpg)

إذا قررت استخدام لوحة GSM، وجدت أنها لن تتسع في هذا النوع من شواحن USB مع بقية الإلكترونيات. ومع ذلك، اكتشفت أنه بفتح شاحن USB أصغر (مشابه لشواحن iPhone USB)، نجد مقومًا أصغر بكثير (AC->DC) ومحوّل خفض الجهد (جهد عالٍ->5V) يسمح بتسكين **جميع** إلكترونياتنا في شاحن USB الأكبر.

[![http://samy.pl/keysweeper/usbcharger1.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbcharger1.jpg)
[![http://samy.pl/keysweeper/usbcharger2.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbcharger2.jpg)

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

[![http://samy.pl/keysweeper/usbcharger3.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbcharger3.jpg)
[![http://samy.pl/keysweeper/usbchargeropen.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/usbchargeropen.jpg)

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

من المهم أيضًا توصيل Arduino الخاص بنا عبر منفذ RAW بتيار USB 5v مع القطبية الصحيحة (السالبة إلى GND، والموجبة إلى RAW). في هذه الحالة، أستخدم Arduino Pro Mini بجهد 3.3v. يستقبل منفذ RAW جهدًا غير منظم بين 3.35-12v ويستخدم منظم جهد مدمجًا لخفضه إلى 3.3v. لاحظ أن شريحة nRF24L01+ تتطلب 1.9-3.6v، لذا فإن إمدادها بـ 5v يعتبر **كثيرًا جدًا!** بالإضافة إلى ذلك، إذا كنت تستخدم شريحة SPI مثل [SST25VF016B](http://ww1.microchip.com/downloads/en/DeviceDoc/S71271_04.pdf)، فإنها تتطلب 2.7-3.6v، لذا مرة أخرى استخدام 5v يعتبر **كثيرًا جدًا!** تأكد من استخدام جهد 3.3v المنظم من Arduino (من طرف VCC على Arduino بجهد 3.3v، أو من طرف 3V3 على Arduino بجهد 5v).

[![http://samy.pl/keysweeper/multimeter.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/multimeter.jpg)

*ملاحظة: لوحة USB الظاهرة بجانب المقياس المتعدد هي اللوحة الأصلية قبل أن أقرر استبدالها بلوحة أصغر لتناسب لوحة GSM أيضًا*

بعد جمع كل أجهزتنا، يمكننا أن نرى أنها تتسع جميعًا مع وجود مساحة في شاحننا (قبل التوصيل):

[![http://samy.pl/keysweeper/testingsize.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/testingsize.jpg)

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

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

![http://samy.pl/keysweeper/testusb.jpg](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)

-----

# (U) KeySweeper ثانوي اختياري
إذا كنت ترغب في الاستغناء عن لوحة GSM لتقليل التكاليف، يمكنك إنشاء جهاز KeySweeper ثانوي يحتوي ببساطة على Arduino و nRF24L01+. أثناء تجميع الجهاز الثانوي، قم بإلغاء تعليق السطر `#define BACKTRACER 1`.

الطريقة التي يعمل بها هذا هي أنه إذا جاء KeySweeper الثانوي (BACKTRACER) ضمن نطاق الاتصال اللاسلكي (باستخدام nRF24L01+ بتردد 2.4GHz) من الأول، فإنه يكتشف تلقائيًا وجود الأول وسيقوم جهاز KeySweeper الأساسي بتفريغ سجلاته إلى BACKTRACER. تم تضمين الاكتشاف التلقائي في كلا الجهازين بحيث يمكنهما العثور على بعضهما البعض بسرعة، بفضل قدرة nRF24L01+ على امتلاك عدة قنوات RX.

إذا كان لديك BACKTRACER موصولًا بجهاز كمبيوتر، فسيتم تفريغ سجلات المفاتيح عبر المنفذ التسلسلي، ويمكنك إرسال أمر 'E' عبر المنفذ التسلسلي لمسح محتويات شريحة SPI Flash الخاصة بـ KeySweeper الأصلي بعد أن حصلت على محتوياتها. يمكنك الابتعاد والسماح لـ KeySweeper الأصلي بمواصلة تسجيل ضغطات المفاتيح.

-----

# (U) المخطط الكهربائي

انقر للحصول على نسخة أكبر (المخطط المعتمد على FONA)، أو [انقر هنا](http://samy.pl/keysweeper/keysweeper.fzz) للحصول على ملف Fritzing.

[![مخطط مع لوحة GSM](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://samy.pl/keysweeper/keysweeper2_schem.png)

-----

# (U) التواصل

**نقطة الاتصال:** [@SamyKamkar](https://twitter.com/samykamkar)

يمكنك الاطلاع على المزيد من مشاريعي على <http://samy.pl> أو التواصل معي على <[email protected]>.
تنزيل الأداة