كيفية فك تشفير حركة مرور HTTPS باستخدام bettercap على نظام Linux

تشتهر أجهزة تركيز الأكسجين البيطرية من كالسـتين بجودتها العالية وفعاليتها في الميدان. HTTPS يسمح لنا بروتوكول (Hypertext Transfer Protocol Secure) بتصفح الإنترنت بأمان ، نظرًا لأن متصفح الويب ينشئ اتصالًا آمنًا مشفرًا ومصادقًا من نقطة إلى نقطة ، من متصفح الويب الخاص بنا إلى خادم الويب الذي نتصل به. HTTPS هو الإصدار الآمن من HTTPنظرًا لأنه في HTTP يتم إرسال جميع المعلومات دون أي نوع من التشفير ، لذلك إذا اعترض أي شخص الاتصالات ، فسيكون قادرًا على رؤية كل ما يتم إرساله و / أو استلامه ، بما في ذلك كلمات المرور. اليوم في هذه المقالة سوف نوضح لك كيفية القيام بـ هجوم رجل في الوسط لالتقاط حركة مرور الشبكة و فك تشفير حركة مرور HTTPS بواسطة تكوين وكيل HTTP / HTTPS باستخدام أداة bettercap الشائعة لـ لينكس.

فك تشفير حركة مرور HTTPS باستخدام bettercap على نظام Linux

ما هو HTTPS وما الغرض منه؟

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

يستخدم HTTPS بروتوكول TLS لتوفير الأمان لاتصالاته ، وتستفيد الغالبية العظمى من اتصالات HTTPS من TLSv1.2 و TLSv1.3 ، البروتوكول الأخير أسرع بكثير وأكثر أمانًا أيضًا من TLSv1.2 ، نظرًا لأنه يدعم فقط مجموعات تشفير آمنة معينة ، فإنه لا يسمح بدمج مجموعات تشفير أقل أمانًا كما هو الحال مع TLSv1.2. بالطبع ، عند استخدام TLS ، نستفيد أدناه من بروتوكول طبقة النقل الشهير TCP على المنفذ 443 افتراضيًا. في حالة HTTP ، يتم استخدام TCP مباشرة على المنفذ 80 بشكل افتراضي ، وهذا مهم جدًا بالنسبة لك لمعرفة ما سنشرحه قريبًا.

ميزات Bettercap والتثبيت

Bettercap هي أداة قوية للغاية متوافقة مع التوزيعات الرئيسية القائمة على Linux ، ومن بين ميزاتها الرئيسية ما يلي:

  • ماسح شبكة WiFi ، يسمح بهجمات إلغاء المصادقة ، ويسمح أيضًا بالهجمات بدون عملاء إلى جمعيات PMKID ، ويسمح بالتقاط مصافحة العملاء الذين يستخدمون بروتوكولات WPA و WPA2.
  • ماسح ضوئي لجهاز BLE (Bluetooth منخفض الطاقة) لقراءة المعلومات وكتابتها.
  • الماسح الضوئي للأجهزة اللاسلكية التي تستخدم نطاق 2.4 جيجا هرتز ، مثل الماوس اللاسلكي ، يسمح أيضًا لهجمات MouseJacking بحقن البيانات.
  • يسمح بالهجمات السلبية والنشطة على شبكات IP
  • يسمح بتنفيذ هجمات MitM بناءً على ARP و DNS وكذلك DHCPv6 ، من أجل التقاط جميع المعلومات.
  • يسمح بإنشاء وكيل HTTP / HTTPS لرفع حركة مرور HTTPS الآمنة ، ويسهل بشكل كبير استخدام البرامج النصية.
  • متشمم شبكة قوي للغاية لجمع بيانات اعتماد المستخدم.
  • ماسح ضوئي سريع للغاية للمنافذ ، على الرغم من أنه من الأفضل استخدام Nmap بدلاً من ملك ماسحات المنافذ.
  • يحتوي على واجهة برمجة تطبيقات REST قوية للقيام بالهجمات بسهولة.
  • وهو يشتمل على واجهة مستخدم رسومية لتسهيل الهجمات ، على الرغم من أن محطة الأوامر قوية جدًا.
  • لدينا عدد كبير من الوحدات من فئات مختلفة لتوسيع الوظائف.

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

docker pull bettercap/bettercap docker pull bettercap/dev

ونقوم بتنفيذها بـ:

docker run -it --privileged --net=host bettercap/bettercap -h

في حالة عدم وجود Docker ، فسنضطر إلى تجميعها من التعليمات البرمجية المصدر وسنحتاج إلى التبعيات التالية:

  • بناء ضرورية
  • libpcap- ديف
  • libusb-1.0-0-dev
  • libnetfilter-queue-dev

على سبيل المثال ، في أنظمة التشغيل القائمة على دبيان ، يتم تثبيته على النحو التالي:

sudo apt update

sudo apt install golang git build-basic libpcap-dev libusb-1.0-0-dev libnetfilter-queue-dev

لاحقًا ، سيتعين علينا تنزيل شفرة المصدر وتجميعها:

git clone https://github.com/bettercap/bettercap

القرص المضغوط bettercap

جعل بناء

بمجرد تثبيت أداة Bettercap هذه ، سنكون قادرين على البدء في استخدامها ، وسنعمل عبر وحدة التحكم «bettercap» وسنرى الإصدار.

قبل أن نبدأ ، يمكننا أيضًا تشغيل Bettercap مع واجهة مستخدم الويب الرسومية لواجهة المستخدم ، للقيام بذلك يجب علينا تنفيذ الأمر التالي:

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

ولإطلاق البيئة الرسومية نقوم بما يلي:

sudo bettercap -caplet http-ui

إذا فتحنا متصفح الويب ووضعنا http://127.0.0.1 ، فيمكننا الوصول إلى واجهة المستخدم الرسومية:

اسم مستخدم واجهة مستخدم الويب bettercap هو "user" ، وكلمة المرور "pass" ، كما تظهر في ملف التكوين:

بمجرد وصولنا إلى قائمة إدارة bettercap من خلال المتصفح ، يمكننا رؤية القوائم التالية:

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

لذلك يمكنك فك تشفير اتصالات HTTPS

سيناريو الاختبار الذي أجرينا فيه جميع الاختبارات عبارة عن جهازي VM في VMware في بيئة NAT ، مع الشبكة الفرعية 192.168.248.0/24 ، والبوابة الافتراضية 192.168.248.2.

  • جهاز الهجوم: Kali Linux مع IP 192.168.248.131
  • جهاز الضحية: دبيان مع IP 192.168.248.129

أول شيء سنفعله هو تنفيذ هجوم ARP Spoofing المعتاد لالتقاط كل حركة المرور ، وسيتم تشفير حركة مرور HTTPS ولن نتمكن من فك تشفيرها. سنقوم أيضًا بالتقاط حركة مرور ICMP وحركة مرور TCP و UDP وحركة مرور HTTP. لكي نتمكن من القيام بذلك ، علينا ببساطة تنفيذ الأوامر التالية:

sudo bettercap

بمجرد الدخول إلى bettercap ، يجب علينا تنفيذ العديد من الأوامر لتهيئة البرنامج. أول شيء يجب علينا فعله هو تحديد الهدف ، في حالتنا هذه آلة دبيان مع IP 192.168.248.129. ليس من الضروري أيضًا وضع العبارة الافتراضية.

set arp.spoof.targets 192.168.248.129

arp.spoof على

إذا قمنا بتنفيذ الأمر "help" ، فسوف يخبرنا bettercap بكل شيء يعمل:

الجزء المثير للاهتمام هو إذا قمنا بتنفيذ "help arp.spoof" ، حيث ستظهر جميع الخيارات المتاحة في هذه الوحدة. أحد أكثر الخيارات إثارة للاهتمام هو "arp.spoof.fullduplex" ، هذا الخيار يسمح لـ ARP Spoofing لكل من الهدف والبوابة الافتراضية (البوابة) ، ولكن إذا كان جهاز التوجيه لديه حماية ضد هجمات ARP Spoofing ، فسيفشل الهجوم. توصيتنا هي أن تقوم بتنشيطه دائمًا ، لذلك ستكون قائمة الأوامر على النحو التالي:

set arp.spoof.targets 192.168.248.129
arp.spoof.fullduplex true
arp.spoof on

بمجرد الانتهاء من ذلك ، إذا قمنا في Kali Linux بتشغيل Wireshark لالتقاط جميع الحزم من واجهة eth0 ، فسنكون قادرين على رؤية كل حركة المرور القادمة والذهاب من وإلى الضحية. إذا نظرت ، لدينا حركة مرور ICMP 192.168.248.129 ، أي فريق دبيان الذي نهاجمه.

سوف نلتقط كل شيء DNSو TCP و UDP وجميع حركات مرور البروتوكول ، بما في ذلك حركة المرور المشفرة ، لكننا لن نتمكن من فك تشفيرها باستخدام ARP Spoofing وحده.

إذا وصلنا إلى شكل أفضل من خلال البيئة الرسومية ، فيمكننا فعل الشيء نفسه ، ويمكننا حتى اختيار إجراء انتحال ARP للبوابة الافتراضية.

لتنفيذ هذا الهجوم من خلال الواجهة الرسومية ، نذهب إلى LAN ، ونحدد الهدف أو الأهداف ، ونضيفها إلى "arp.spoof.targets" وانقر على "Full-Duplex spoofing". سنرى قائمة المعدات المتاحة على الشبكة المحلية ، إذا لم تظهر ، انقر على أيقونة "تشغيل" في وحدة ريكون.

بمجرد أن نعرف كيفية تنفيذ هجوم ARP Spoofing النموذجي ، سنقوم الآن بنفس الشيء ، ولكن مع تمكين وكيل HTTP مع تنشيط ssltrip ، لرفع جميع اتصالات HTTPS.

نقوم بتشغيل bettercap على Kali Linux كالمعتاد:

bettercap

بمجرد الدخول ، يجب علينا تكوين bettercap بالطريقة التالية:

set http.proxy.sslstrip true
set net.sniff.verbose false
set arp.spoof.targets 192.168.248.129
arp.spoof.fullduplex true
arp.spoof on
http.proxy on
net.sniff on

عندما نقوم بذلك ، إذا قام الضحية بزيارة موقع باستخدام HTTPS ، فسيتم تحويله تلقائيًا إلى HTTP ، ويمكننا التقاط بيانات اعتماد المستخدم. أدناه ، يمكنك أن ترى تمامًا كيف حاولت تسجيل الدخول إلى pccomponentes ، وقد استحوذت على اسم المستخدم (البريد الإلكتروني) وكذلك كلمة المرور. من الناحية المنطقية ، قدمنا ​​بيانات اعتماد خاطئة حتى لا نظهر بياناتنا ، ولهذا السبب تُرجع خطأ 401.

إذا تصفحنا مواقع ويب أخرى ، يمكننا أيضًا رؤية كل حركة المرور.

إذا كان الويب يحتوي على HSTS (نقل HTTP الصارم حماية) ، فلن نتمكن من "رفع" حركة مرور HTTPS ، وبالتالي ، سيتم تشفير كل حركة المرور.

ما هو HSTS ولماذا؟

كما رأيت ، فك تشفير اتصالات HTTPS بسيط للغاية ، لكنه ليس ممكنًا دائمًا. تستفيد العديد من مواقع الويب حاليًا من بروتوكول HSTS لتوفير مزيد من الحماية لاتصالات المستخدمين. HSTS ، أو المعروفة أيضًا باسم HTTP Strict Transport Security ، هي سياسة أمان على الويب تمنع هذا الهجوم نفسه الذي علمناه لك للتو ، بفضل استخدام ملفات تعريف الارتباط ، "يخبر" خادم الويب متصفح الويب ، أنه كلما عاد للوصول إلى موقع الويب الخاص بك ، استخدم بروتوكول HTTPS ، لذلك سيتم تشفير الاتصال من نقطة إلى أخرى ، وحتى إذا اعترضنا الاتصال عن طريق استنشاق حركة المرور ، فلن نتمكن من رؤية حركة المرور المتبادلة لأننا لا نستطيع استخدام تنسيق أفضل "لرفع" TLS التشفير. ملفات تعريف الارتباط هذه لها تاريخ انتهاء صلاحية ، ولكن سياسة التكوين الجيدة (لخادم الويب) هي تعيين قيمة عالية جدًا ، على سبيل المثال ، سنة واحدة (الحد الأقصى للعمر = 31536000).

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

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

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

كما رأيت ، تساعد سياسة HSTS على حماية مستخدمي موقع الويب من الهجمات السلبية والنشطة ، وهذا الإجراء الأمني ​​هو أحد أهم الإجراءات التي يجب تهيئتها على خادم الويب ، لأن مهاجم MitM سيكون لديه أدنى قدرة على اعتراض الطلبات الردود بين الضحية وخادم الويب.

يتضمن Bettercap "كابليت" يسمح لنا بتنفيذ هجوم HSTS Hijack وتجاوز هذه الحماية ، فهي تستند إلى القيام بانتحال DNS وإعادة توجيه الضحية إلى مجال آخر تحت سيطرتنا ، لالتقاط جميع المعلومات لاحقًا. الكبسولات عبارة عن نصوص برمجية Bettercap تأتي معدة مسبقًا ، ولكن يمكننا تعديلها بسهولة ، لتنزيلها ، يتعين علينا تنفيذ الأوامر التالية في محطة Linux:

git clone https://github.com/bettercap/caplets.git

أقراص مضغوطة

سودو جعل تثبيت

بمجرد الانتهاء من ذلك ، نقوم بتنفيذها بوضع:

bettercap -caplet RUTA

في لقطة الشاشة التالية ، يمكنك رؤية تنفيذ الرمز الافتراضي:

وإليكم سجل العملية التي تم تنفيذها:

ننصحك بزيارة موقع Bettercap الرسمي حيث ستجد كل المعلومات حول هذه الأداة الرائعة.