
# MacStealer: تجاوز عزل عملاء Wi-Fi
يحتوي هذا المستودع على MacStealer. يمكنه اختبار شبكات Wi-Fi بحثًا عن تجاوزات عزل العملاء (CVE-2022-47522). يمكن لهجومنا اعتراض (سرقة) حركة المرور الموجهة إلى عملاء آخرين في طبقة MAC، حتى لو كان العملاء مُنعوا من التواصل مع بعضهم البعض. تؤثر هذه الثغرة على شبكات Wi-Fi التي تضم مخربين داخليين، حيث يمكن لهجومنا تجاوز عزل العملاء، والذي يُعرف أحيانًا أيضًا بعزل نقطة الوصول AP isolation. يمكن أيضًا استخدام الهجوم لتجاوز فحص ARP الديناميكي (DAI)، ومن المرجح أنه يمكن استخدامه أيضًا لتجاوز طرق أخرى تمنع العملاء من مهاجمة بعضهم البعض. يُعرف الهجوم أيضًا باسم هجوم تجاوز السياق الأمني، انظر القسم 5 من ورقة USENIX Security '23 (المستودع).
أمثلة ملموسة على الشبكات التي قد تتأثر:
شبكات المؤسسات حيث قد لا يثق المستخدمون ببعضهم البعض، وحيث تُستخدم تقنيات مثل عزل العملاء أو فحص ARP لمنع المستخدمين من مهاجمة بعضهم البعض. على سبيل المثال، شبكات الشركات التي تحتوي على حسابات لكل من الضيوف والموظفين، وشبكات مثل eduroam وgovroam، إلخ.
النقاط الساخنة العامة المحمية بواسطة Passpoint (المعروفة سابقًا باسم Hotspot 2.0). هذه هي نقاط ساخنة يمكنك الاتصال بها تلقائيًا وبشكل آمن. على سبيل المثال، يمكنها مصادقتك بسلاسة باستخدام بطاقة SIM في هاتفك.
شبكات WPA2 أو WPA3 المنزلية التي يتم فيها تمكين عزل العملاء. يشمل ذلك الشبكات التي تحتوي على SSID منفصل للضيوف أو للأجهزة غير الآمنة (IoT). ويشمل أيضًا الشبكات التي تُستخدم فيها كلمات مرور متعددة لزيادة عزل الأجهزة، وهو ما يُعرف أيضًا باسم Multi-PSK، Identity PSK، per-station PSK، أو EasyPSK. انظر مناقشة نموذج التهديد لمزيد من المعلومات.
النقاط الساخنة العامة القائمة على WPA3 SAE-PK. هذه هي نقاط ساخنة محمية بكلمة مرور عامة مشتركة، ولكن لا يمكن للخصم إساءة استخدام كلمة المرور المعروفة علنًا.
نلاحظ أن هجومنا لا يمكنه تجاوز شبكات VLAN. بعبارة أخرى، استنادًا إلى التجارب الحالية، لا يمكن استخدام هجومنا لاستغلال جهاز في شبكة VLAN أخرى.
يتوفر أيضًا مستودع النتائج الأخرى في ورقتنا USENIX Security '23.
الفكرة الأساسية وراء الهجوم هي أن الطريقة التي يتم بها مصادقة العملاء لا علاقة لها بكيفية توجيه الحزم إلى عميل Wi-Fi الصحيح. أي أن المصادقة تتم بناءً على كلمات المرور، وأسماء المستخدمين، وهويات 802.1X، و/أو الشهادات، ولكن بمجرد اتصال العميل، يتم توجيه الحزم بناءً على عناوين MAC. يمكن للمخرب الداخلي إساءة استخدام هذا لاعتراض البيانات الموجهة إلى عميل Wi-Fi عن طريق فصل الضحية ثم الاتصال باستخدام عنوان MAC الخاص بالضحية (باستخدام بيانات اعتماد الخصم). أي حزم كانت لا تزال في طريقها إلى الضحية، مثل بيانات موقع ويب كان الضحية لا يزال يحمّلها، سيستقبلها الخصم الآن بدلاً منه.
وبشكل أكثر دقة، يتكون الهجوم من ثلاث خطوات:
جعل الضحية يطلب بيانات: ينتظر الخصم أولاً حتى يقوم الضحية (العميل)
بإنشاء اتصال Wi-Fi مع نقطة الوصول (AP) المعرضة للخطر. نفترض أن الضحية
سيرسل بعد ذلك طلبًا إلى خادم على الإنترنت. على سبيل المثال، قد يرسل الضحية
طلب HTTP إلى موقع الويب (غير المشفر) example.com. هدف الخصم هو
اعتراض الاستجابة التي سيرسلها الموقع.
الاتصال باستخدام عنوان MAC الخاص بالضحية: بعد أن يطلب الضحية البيانات، على سبيل المثال
عن طريق إرسال حزمة HTTP Request، سيقوم الخصم بفصل الضحية قسريًا عن
الشبكة قبل وصول الاستجابة إلى
نقطة الوصول المعرضة للخطر. في مثالنا، هذا يعني أن الضحية يتم فصله قبل وصول الاستجابة من
example.com إلى نقطة الوصول. بمجرد فصل الضحية، يقوم الخصم بانتحال
عنوان MAC الخاص بالضحية وسيتصل الخصم بالشبكة باستخدام بيانات اعتماد خاصة به.
وهذا يعني أن الخصم هو مخرب داخلي يمكنه الاتصال بالشبكة باستخدام بيانات اعتماد خاصة به،
على سبيل المثال، باستخدام اسم المستخدم وكلمة المرور الخاصين به في
شبكة Wi-Fi للمؤسسات.
اعتراض الاستجابة: بمجرد أن يتصل الخصم باستخدام عنوان MAC الخاص بالضحية،
ستربط نقطة الوصول مفاتيح التشفير المُنشأة حديثًا للخصم بعنوان MAC الخاص بالضحية.
ونتيجة لذلك، عندما تصل الاستجابة من الخادم إلى شبكة Wi-Fi، أو أي حركة مرور واردة
نحو الضحية بشكل عام، سيقوم الموجّه بإعادة توجيه هذه الحزم الواردة إلى عنوان MAC الخاص بالضحية.
في مثالنا، هذا يعني أن الاستجابة من example.com يتم إعادة توجيهها بواسطة الموجّه
إلى عنوان MAC الخاص بالضحية. ومع ذلك، فإن الخصم يستخدم الآن عنوان MAC هذا. وهذا يعني أن
نقطة الوصول ستقوم بتشفير الاستجابة باستخدام مفاتيح الخصم. بعبارة أخرى، سيستقبل الخصم
الآن أي حركة مرور معلقة لا تزال في طريقها إلى الضحية.
نلاحظ أن حركة المرور المعترضَة قد تكون محمية بتشفير من طبقة أعلى، مثل TLS وHTTPS. ومع ذلك، حتى إذا تم استخدام تشفير من طبقة أعلى، فإن هجومنا لا يزال يكشف عن عنوان IP الذي يتواصل معه الضحية. وهذا بدوره يكشف عن المواقع التي يزورها الضحية، والتي يمكن أن تكون معلومات حساسة بحد ذاتها.
افتراضيًا، لا يعترض الهجوم حركة المرور المرسلة من الضحية، بل يمكنه فقط اعتراض حركة المرور المرسلة إلى الضحية. ومع ذلك، يمكن للخصم محاولة هجمات لاحقة لاعتراض حركة المرور المرسلة من الضحية أيضًا. على وجه الخصوص، من خلال اعتراض رد DNS الموجه إلى الضحية، يمكن للخصم انتحال رد DNS واعتراض كل حركة مرور IP المرسلة إلى الضحية والمرسلة من الضحية.
تنفيذ الهجوم أعلاه له معنى فقط عندما يكون عزل العملاء مفعلًا في الشبكة المستهدفة. وإلا، إذا كان عزل العملاء معطلاً، يمكن للمخرب الداخلي ببساطة مهاجمة العملاء الآخرين مباشرة باستخدام تقنيات مثل انتحال ARP (انظر اختبارات عزل العملاء).
الهجوم متطابق ضد شبكات Enterprise WPA1 وWPA2 وWPA3. وذلك لأن الهجوم لا يستغل أي خصائص تشفير لشبكة Wi-Fi، بل يسيء استخدام الطريقة التي تحدد بها الشبكة إلى أي عميل يجب إرسال الحزم، أي توجيهها.
لمزيد من التفاصيل حول الهجوم، انظر هجوم تجاوز السياق الأمني (القسم 5) في ورقتنا Framing Frames: Bypassing Wi-Fi Encryption by Manipulating Transmit Queues.
للتخفيف من هجومنا، يمكن لنقطة الوصول منع العملاء مؤقتًا من الاتصال إذا كانوا يستخدمون عنوان MAC كان متصلاً مؤخرًا بنقطة الوصول. وهذا يمنع الخصم من انتحال عنوان MAC واعتراض الإطارات المعلقة أو الموجودة في قائمة الانتظار الموجهة إلى ضحية. عندما يمكن ضمان أن المستخدم الذي يقف خلف عنوان MAC لم يتغير، يمكن السماح للعميل بإعادة الاتصال فورًا. لاحظ أن هذا الفحص يجب أن يتم عبر جميع نقاط الوصول التي تشكل جزءًا من نفس نظام التوزيع، وبشكل أكثر تحديدًا، عبر جميع نقاط الوصول التي يمكن للعملاء التجوال بينها مع الاحتفاظ بعنوان IP الحالي الخاص بهم.
للتعرف بشكل آمن على المستخدمين المتصلين مؤخرًا، يمكن لنقطة الوصول تخزين تعيين بين عنوان MAC الخاص بالعميل وارتباطات الأمان المخزنة مؤقتًا الخاصة به (على سبيل المثال، PMK المخزن مؤقتًا). يمكن السماح للعميل بإعادة الاتصال فورًا باستخدام عنوان MAC مستخدم مؤخرًا من خلال إثبات أنه يمتلك ارتباط الأمان المخزن مؤقتًا المرتبط بعنوان MAC هذا، على سبيل المثال، عن طريق الاتصال باستخدام PMK المخزن مؤقتًا الصحيح.