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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
presentation-clickers — ثغرات حقن ضغطات المفاتيح في أجهزة النقر اللاسلكية للعروض التقديمية | Kitploit
أدوات/GitHubGitHub/marcnewlin/presentation-clickers
أمان الأنظمة المدمجةالاستغلالالهندسة العكسيةأمن الشبكات اللاسلكيةاختراق الأجهزةاختبار الاختراقأمان الأجهزة وإنترنت الأشياء
GitHubmarcnewlin/presentation-clickers

presentation-clickers

ثغرات حقن ضغطات المفاتيح في أجهزة النقر اللاسلكية للعروض التقديمية

عرض المستودع
9614منذ 6 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

أجهزة التحكم في العروض التقديمية

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

هذا فرع (fork) من nrf-research-firmware (والذي كتبته قبل بضع سنوات في Bastille). أضفت دعمًا لعدد من أجهزة الإرسال والاستقبال/البروتوكولات الجديدة، وأدرجت إثباتات مفهوم (POCs) لحقن ضغطات المفاتيح لـ 13 جهاز تحكم شائعًا في العروض التقديمية.

التاريخ

  • 2019-04-20 - تم إصدار الدفعة الأولى (8 أجهزة)
  • 2019-04-21 - تم إصدار الدفعة الثانية (5 أجهزة)

الأجهزة المعرضة لحقن ضغطات المفاتيح

البائعالطرازالبروتوكولRFICتاريخ الإضافة
AmazonBasicsP-001AmazonBasics P-001nRF242019-04-20
CanonPR100-RCanon PR100-RPL11672019-04-20
FunpickWireless PresenterHS304HS3042019-04-20
AMERTEERWireless PresenterHS304HS3042019-04-20
BEBONCOOLD100HS304HS3042019-04-20
ESYWENWireless PresenterHS304HS3042019-04-20
Red Star TechPR-819HS304HS3042019-04-20
DinoFireD06-DF-USHS304HS3042019-04-20
TBBSCDSIT-60TBBSC DSIT-60BK24512019-04-21
RiiWireless PresenterRii Wireless PresenterBK2451

البروتوكولات

Logitech Encrypted

نظرة عامة

هذا هو بروتوكول لوحة مفاتيح Logitech المشفّر القياسي، كما هو مستخدم في R500. وهو عرضة بشكلٍ ما لهجوم "حقن ضغطات المفاتيح المشفّرة" الذي وثّقته مع لوحات مفاتيح Logitech Unifying ضمن مشروع MouseJack.

أقول إلى حدٍ ما، لأنه لا يتم قبول جميع أكواد المسح الضوئي HID. تحديدًا، يتم استبدال 0x04-0x1D (A-Z) بـ 0x00 عندما يرسل الدونجل الحزمة إلى الكمبيوتر المضيف، ما يعني أنه يمكننا حقن ما نشاء، طالما أنه ليس حرفًا. الاستثناء الآخر هو أن اختصارات مفاتيح ctrl مسموحة، حتى عندما تتضمن أحرفًا.

يتطلب حقن ضغطات المفاتيح الفعّال عبر R500 أن نتحلى بقليل من الإبداع.

لنفترض أن الهدف يعمل في جلسة bash. في bash، يمكننا ترميز أحرفنا بنظام الأساس الثماني (base-8)، لترميز أوامر تحتوي على أحرف نريد أن ينفّذها هدفنا.

على سبيل المثال، يتم ترميز ping google.com كـ $'\160\151\156\147' $'\147\157\157\147\154\145\056\143\157\155'. إذا أرسلنا هذه السلسلة إلى جلسة bash ثم أرسلنا enter، فسيتم تنفيذ الأمر ping google.com على الجهاز الهدف.

اكتشاف الجهاز

يمكنك العثور على عنوان جهاز Logitech R500 الخاص بك باستخدام nrf24-scanner على النحو التالي:

sudo ./tools/nrf24-scanner.py -c {2..74..3} -l

يجب أن تبدو الحزم على نحو مماثل لما يلي:

root@kitploit:~
[2019-04-21 13:11:52.507]  62   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 13:11:52.515]  62   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 13:11:52.523]  62  22  85:D1:9D:FE:07  00:D3:4D:6F:B6:1B:E6:05:A2:B4:8B:98:F9:C2:00:00:00:00:00:00:00:81

الحقن

الحقن ممكن لأن الدونجل لا يفرض زيادة عدادات AES، لذا يمكنك إعادة إرسال الحزم (replay). تتكون الحزمة المرسلة عبر الأثير (OTA) من حمولة USB HID تم تشفيرها في وضع عداد AES، ثم يليها العداد. عند الضغط على زر في جهاز التحكم بالعروض التقديمية، يُنشئ حزمة ضغطة مفتاح وحزمة رفع مفتاح. حزمة رفع المفتاح كلها أصفار، ما يمنحنا مادة مفاتيح نظيفة وجاهزة يمكننا إعادة استخدامها، والقيام بعملية XOR مع حمولتنا الخاصة، وإرسالها عبر الأثير.

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

root@kitploit:~
[2019-04-21 16:02:56.451]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.459]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.468]  65  22  85:D1:9D:FE:07  00:D3:E6:7B:35:8C:BB:2C:7D:5B:8B:98:FA:76:00:00:00:00:00:00:00:B9
[2019-04-21 16:02:56.475]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.507]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.516]  65  22  85:D1:9D:FE:07  00:D3:99:D6:D3:8D:49:25:F5:4D:8B:98:FA:77:00:00:00:00:00:00:00:1A
[2019-04-21 16:02:56.524]  65   5  85:D1:9D:FE:07  00:40:00:08:B8
[2019-04-21 16:02:56.532]  65   5  85:D1:9D:FE:07  00:40:00:08:B8

الحزمة الثانية المكونة من 22 بايت هي حزمة رفع المفتاح.

أزل آخر بايت من الحمولة، وانسخ السلسلة والصقها في logitech.py، مستبدلاً KEYUP_REF.

(لا يُفترض أن يعمل دون تحديث KEYUP_REF، لكن إذا عمل بالفعل، فأخبرني من فضلك!)

الحقن

احقن تسلسل ضغطات المفاتيح لأمر bash ping google.com المشفّر بنظام الأساس الثماني في دونجل Logitech R500 محدد (العنوان 85:D1:9D:FE:07):

sudo ./tools/r500-injector.py -l -a 85:D1:9D:FE:07

Logitech Unencrypted

نظرة عامة

هذا هو بروتوكول Logitech غير المشفّر القياسي، المستخدم في R400/R800.

اكتشاف الجهاز

يمكنك العثور على عنوان جهاز Logitech R400/R800 الخاص بك باستخدام nrf24-scanner على النحو التالي:

sudo ./tools/nrf24-scanner.py -c {2..74..3} -l

يجب أن تبدو الحزم على نحو مماثل لما يلي:

root@kitploit:~
[2019-04-21 12:58:43.466]  32   0  9D:9E:95:52:07  
[2019-04-21 12:58:43.620]  32  10  9D:9E:95:52:07  00:C1:00:00:00:00:00:00:00:3F

الحقن

احقن تسلسل ضغطات المفاتيح الاختباري في دونجل Logitech R400/R800 محدد (العنوان 9D:9E:95:52:07):

sudo ./tools/preso-injector.py -l -f logitech -a 9D:9E:95:52:07

Rii Wireless Presenter

نظرة عامة

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

إنه وظيفيًا لوحة مفاتيح لاسلكية غير مشفّرة، عرضة لحقن ضغطات المفاتيح.

PHY

يستخدم جهاز العروض التقديمية اللاسلكي (القلم الدائري الشكل) بروتوكول nRF24 Enhanced Shockburst بسرعة 250Kb/s (بدون إشعارات ACK على ما يبدو)، وعنوانًا من 5 بايتات. لوحظ أن الجهاز الذي اختبرته يستقر على التردد 2425 ميجاهرتز، لكن يبدو أنه يستخدم نوعًا من آلية تنقّل الترددات. عمليًا، من الضروري إرسال بعض الحزم الوهمية على القناة المستهدفة قبل إرسال حزم ضغطات المفاتيح.

أشتبه في وجود تنقّل بين القنوات لم أقُم بتوصيفه بعد، لكن استهداف قناة واحدة كافٍ لإثبات حقن ضغطات المفاتيح.

اكتشاف الجهاز

يمكنك العثور على عنوان جهاز العروض التقديمية اللاسلكي (القلم الدائري الشكل) الخاص بك باستخدام nrf24-scanner على النحو التالي:

sudo ./tools/nrf24-scanner.py -c 25 -l -R 250K -A 5

لاحظ أن جهازك قد يكون على قناة أخرى.

يجب أن تبدو الحزم على نحو مماثل لما يلي:

root@kitploit:~
[2019-04-21 11:50:33.116]  25   3  6D:8C:01:14:25  4B:51:00
[2019-04-21 11:50:33.212]  25   3  6D:8C:01:14:25  4C:00:00
[2019-04-21 11:50:33.522]  25   3  6D:8C:01:14:25  4D:51:00
[2019-04-21 11:50:33.565]  25   3  6D:8C:01:14:25  4E:00:00

الحقن

احقن تسلسل ضغطات المفاتيح الاختباري في دونجل Rii محدد (العنوان 6D:8C:01:14:25):

sudo ./tools/preso-injector.py -l -f rii -a 6D:8C:01:14:25

TBBSC DSIT-60

نظرة عامة

يعتمد جهاز TBBSC DSIT-60 على شريحة BK2451 (والتي تبدو نسخة مقلدة من nRF24). توجد أجهزة شقيقة واضحة (مثل هذا الجهاز) لم أختبرها بعد. في الوقت الحالي أصنّف هذا كبروتوكول مستقل، لكن من المرجح أن يتغير ذلك بمجرد اختباري للجهاز (الأجهزة) الشقيقة.

إنه وظيفيًا لوحة مفاتيح لاسلكية غير مشفّرة، عرضة لحقن ضغطات المفاتيح.

PHY

يستخدم DSIT-60 بروتوكول nRF24 Enhanced Shockburst بسرعة 250Kb/s (أو ما يعادله عبر الأثير على الأقل) بعنوان من 3 بايتات. لوحظ أن الجهاز الذي اختبرته يستقر على التردد 2406 ميجاهرتز، لكنني لست متأكدًا من القنوات الأخرى التي قد يستخدمها.

اكتشاف الجهاز

يمكنك العثور على عنوان جهاز DSIT-60 الخاص بك باستخدام nrf24-scanner على النحو التالي:

sudo ./tools/nrf24-scanner.py -c 6 -l -R 250K -A 3

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

يجب أن تبدو الحزم على نحو مماثل لما يلي:

root@kitploit:~

[2019-04-21 10:33:44.264]   6   4  87:02:09  0B:42:00:2B
[2019-04-21 10:33:44.269]   6   4  87:02:09  0B:42:00:2B
[2019-04-21 10:33:52.477]   6   4  87:02:09  01:42:00:28

الحقن

احقن تسلسل ضغطات المفاتيح الاختباري في دونجل TBBSC DSIT-60 محدد (العنوان 87:02:09):

sudo ./tools/preso-injector.py -l -f tbbsc -a 87:02:09

AmazonBasics P-001

نظرة عامة

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

يعتمد P-001 على عائلة شرائح nRF24 الراديوية، وهو وظيفيًا لوحة مفاتيح لاسلكية غير مشفّرة، عرضة لحقن ضغطات المفاتيح.

PHY

يستخدم P-001 بروتوكول nRF24 Enhanced Shockburst بسرعة 2Mb/s مع عناوين من 5 بايتات، والقنوات 2402-2476.

اكتشاف الجهاز

يمكنك العثور على عنوان جهاز P-001 الخاص بك باستخدام nrf24-scanner.py.

يجب أن يؤدي الضغط على السهم الأيمن إلى توليد حزم تبدو على نحو مماثل لما يلي:

root@kitploit:~
[2019-04-20 12:59:13.908]  27   9  44:CB:66:A3:BE  00:00:00:00:00:00:00:00:01
[2019-04-20 12:59:13.909]  27   9  44:CB:66:A3:BE  00:00:00:00:00:00:00:00:01
[2019-04-20 12:59:13.999]  27   9  44:CB:66:A3:BE  00:00:4E:00:00:00:00:00:01
[2019-04-20 12:59:14.120]  27   9  44:CB:66:A3:BE  00:00:00:00:00:00:00:00:01
[2019-04-20 12:59:14.121]  27   9  44:CB:66:A3:BE  00:00:00:00:00:00:00:00:01
[2019-04-20 12:59:14.211]  27   9  44:CB:66:A3:BE  00:00:4E:00:00:00:00:00:01

الحقن

احقن تسلسل ضغطات المفاتيح الاختباري في دونجل AmazonBasics P-001 محدد (العنوان 44:CB:66:A3:BE):

sudo ./tools/preso-injector.py -l -f amazon -a 44:CB:66:A3:BE

Canon PR100-R

نظرة عامة

لست متأكدًا مما إذا كان هذا البروتوكول حصريًا لجهاز Canon PR100-R، لكن نظرًا لأنه الجهاز الوحيد الذي رصدته ويتحدث هذا البروتوكول، فسأتركه في تصنيفه المستقل حتى تشير البيانات إلى خلاف ذلك.

يعتمد PR100-R على شريحة PL1167 الراديوية، وعلى متحكم دقيق (MCU) غير معروف.

إن PR100-R وظيفيًا لوحة مفاتيح لاسلكية غير مشفّرة، عرضة لحقن ضغطات المفاتيح.

PHY

يستخدم PR100-R بروتوكول FSK بسرعة 1Mb/s يعمل على قنوات متباعدة 5 ميجاهرتز بين 2406 ميجاهرتز و2481 ميجاهرتز.

الحزم مبيَّضة (whitened)، ومحمية بفحص CRC بعرض 16 بت.

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

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

العنونة

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

يعمل نص الحقن ضد جهاز PR100-R الخاص بي، لكنه قد يحتاج إلى تعديل للاستخدام العام. إذا كان لديك جهاز PR100-R آخر ويمكنك التحقق من ذلك، فأخبرني من فضلك!

الحقن

احقن تسلسل ضغطات المفاتيح الاختباري في دونجل Canon PR100-R قريب:

sudo ./tools/preso-injector.py -l -f canon

HS304

نظرة عامة

يبدو أن HS304 شريحة راديوية مخصصة لتطبيقات أجهزة التحكم في العروض التقديمية (أو ربما لوحات المفاتيح/الفئران اللاسلكية). يأتي الاسم من سلسلة تعريف جهاز USB HAS HS304، وكانت هي نفسها لجميع الأجهزة في هذه المجموعة.

لوحظ أن الشريحة الراديوية عبارة عن حزمة SOP-16 غير موسومة، دون فروق ظاهرة بين البائعين.

الأجهزة المبنية على HS304 هي وظيفيًا لوحات مفاتيح لاسلكية غير مشفّرة، عرضة لحقن ضغطات المفاتيح.

PHY

HS304 هو بروتوكول FSK بسرعة 1Mb/s يعمل على ثلاث قنوات في نطاق ISM بتردد 2.4 جيجاهرتز (2407، 2433، 2463). لا يبدو أن هناك إشعارات ACK تُرسل من الدونجل إلى جهاز التحكم في العروض التقديمية، ويتم ضمان تسليم الحزم عبر إرسال كل حزمة على كل من القنوات الثلاث.

عمليًا، يمكن أيضًا تحقيق تسليم موثوق للحزم عبر إرسال كل حزمة عدة مرات على قناة واحدة.

الحزم مبيَّضة (whitened)، ومحمية بفحص CRC بعرض 16 بت.

العنونة

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

الحقن

احقن تسلسل ضغطات المفاتيح الاختباري في أجهزة دونجل HS304 القريبة:

sudo ./tools/preso-injector.py -l -f hs304

التنصت

استقبل وفكّ تشفير الحزم المرسلة من أجهزة التحكم في العروض التقديمية NS304 القريبة:

sudo ./tools/preso-scanner.py -l -f hs304

تنزيل الأداة
2019-04-21
LogitechR400Logitech UnencryptednRF242019-04-21
LogitechR800Logitech UnencryptednRF242019-04-21
LogitechR500Logitech EncryptednRF242019-04-21