السلام عليكم

قبل فترة قصيرة طرح الباحث الامني المصري محمد عبد الباسط ورقته البحثية في موقع OWASP حول نوع جديد من هجمات الهندسة الاجتماعية سوف نقوم بشرح مبسط له ويمكنكم الاطلاع على الهجوم كاملاً باللغة الانكليزي من هنا

سنحتاج الى فهم بعض المصلطحات وميكانيكية عمل بعض الامور لفهم الهجوم سنبدأ بها  .

 

اولاً : المصطلحات 


QR Code : اختصار لQuick Response code  ويسمى رمز الاستجابة السريع وهو نوع من خوارزمية الرموز الشريطية او ما يسمى بالباركود .  يتكون الرمز من وحدات سوداء مرتبة على شكل مربع على خلفية بيضاء. يمكن أن تكون المعلومات المشفرة أي نوع من البيانات (على سبيل المثال، الأعداد الثنائية، الأرقام، أو رموز كانجي). (ويكيبيديا)

الصورة الاتية تعد QR Code

Ar.wikipedia.comQRcode

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

ميكانيكية تسجيل الدخول بوساطة QR Code 

سناخذ مثال بسيط في عملية تسجيل whats app

1- تنزيل التطبيق سوف يقوم بارسال رسالة الى رقم الهاتف من اجل تاكيده .

2- بعد تاكيد الرقم سوف يفتح التطبيق في الهاتف .

3- عند دخولك لموقع التطبيق من اجل تسجيل الدخول باستخدام المتصفح , يقوم الموقع بتوليد QR Code يحتوي على جلسة  في المتصفح .

4- حين تقوم بعمل سكان من الهاتف المسجل ل QR Code  سوف يقوم التطبيق في الهاتف بقراءة الQR code  ونقل الجلسة الحالية في التطبيق الى هذا المتصفح الذي يستعمل الQR Code الذي تم عمل سكان له .

5- المتصفح سيقوم باستلام معلومات عن طريق التطبيق يامره بفتح الحساب الذي مفتوح بالتطبيق بالمتصفح .

6- تم تسجيل الدخول وعرض الرسائل .

 

SSO : اختصار ل Single Sign On وهي خاصية دخول متعدد لعدة انظمة مترابطة ولكن مستقلة برمز واحد فقط دون الحاجة الى رموز دخول متعددة مثلاً حين تدخل الى ايميلك في جيميل فانت تسجل الدخول الى حساب كوكل فقط وستتاح لك كافة خدمات كوكل الاخرى ب SSO .

Clickjacking : شرحناه مسبقاً في موضوع مستقل يمكنك الاطلاع عليه من هنا  .

ان QR Code محمية لانه لا يمكن تخمينها او فك تشفيرها في حالة النقل بين الشبكات فهي تستخدم AES 128 في تشفير وفك تشفير في بعض التطبيقات .

الخبر الجيد ان QRLJacking هو وسيلة لتخطي حماية الQR باستخدام الهندسة الاجتماعية .

 

ثانياً : هجوم QRLJacking


QRLJacking او Quick Response Code Login Jacking هو نوع من اساليب الهندسة الاجتماعية لتخطي حماية التطبيقات والمواقع التي تستعمل QR Code في تسجيل الدخول . بصورة اوضح يتم سرقة جلسة الضيحة عن طريق دفعه الى عمل سكان من هاتفه لQR Code .

 

الهجوم بخطوات : 

1- المهاجم يعمل جلسة في موقع يدعم الQR Code سوف يقوم الموقع بتوليد QR Code في المتصفح .

2- يقوم المهاجم بعمل ارسال لصورة الQR Code للضحية ليقوم بمسحها باحد طرق الهندسة الاجتماعية .

3- حين يقوم الضحية بمسحها سوف يقوم التطبيق الموجود في جهاز الضحية بارسال امر فتح حساب الضحية بالهاتف في المتصفح الذي ولد هذا الQR Code  .

4- المهاجم سيدخل الى حساب الضحية بمتصفحه الشخصي .

Slide1

أفكار لاستغلال QRLJacking 

هناك العديد من الطرق التي يمكن ان تجعل هذا الهجوم قابل للتنفيذ وليس فقط سيناريو على ورق . منها :

1- في حالة ثبوت الصورة المسخدمة يمكن استخدام الهندسة الاجتماعية لارسال الصورة وجعل المستخدم يمسحها باقناعه في الايميل او اي مكن اخر .

2- في حالة حصول المهاجم على XSS او HTML injection يمكنه حقن الكود الخاص بالاستغلال في الموقع وجعل المستخدم يقوم بعمل سكان للQR CODE لان المستخدم يثق في الموقع الذي تم حقنه .

3- SSL Stripping و MITM في حالة كونك على شبكة محلية وتريد ان تهاجم شخص موجود على نفس الشبكة يمكنك استعمال MITM لتزوير محتوى المواقع التي تعمل في HTTP .

الان لنذكر بعض المواقع والتطبيقات المصابة

 

مواقع وتطبيقات مصابة 

  • مواقع
    • Yandex Money
    • TenPay
    • Alibaba
    • Aliexpress
    • Yandex Mail
    • QQ Mail
    • Alimama
  • تطبيقات
    • WeChat
    • Weibo
    • Line
    • WhatsApp

هذه بعض المواقع والتطبيقات المصابة وبالاضافة الى انه اي موقع يستخدم QR CODE .

 

كلمة اخيرة 


في المرة القادمة التي تبحث فيها في موقع وتجد ان الموقع يدعم QR Code اول شيء ستقوم به هو التفكير في QRLJacking وستبلغ عنها كنوع جديد من الافضل ان تبدا البحث الان 🙂 .

نحن فخورين بما قدمه محمد عبد الباسط من ورقة بحثية ليتم اعتمادها في موقع OWASP

 

روابط مفيدة 

 

تحياتي وتحيات فريق isecur1ty