فك تشفير HTTPS (هجوم الرجل في المنتصف، MitM)
يستطيع Chute فك تشفير حركة HTTPS عبر MitM. يرجى الاطلاع على مقال Wikipedia للمزيد من المعلومات.
يمكن لمولد الشهادات مساعدتك في إنشاء شهادة CA جديدة للتصحيح وجعل الشهادة موثوقة من قبل النظام. إنه متاح في Chute Mac و Chute iOS Chute Editor. يتم إنشاء هذه الشهادة محلياً وتحفظ فقط في ملفك الشخصي وسلسلة مفاتيح النظام. يتم إنشاء مفتاح الشهادة الجديدة عشوائياً باستخدام OpenSSL.
يمكنك أيضاً استخدام شهادة CA موجودة. قم بتصدير الشهادة إلى تنسيق PKCS#12 (.p12) مع عبارة مرور. يرجى ملاحظة أن عبارة المرور لا يمكن أن تكون فارغة بسبب قيود النظام. استخدم الأمر "base64" للتشفير إلى نص base64 وألحق هذه الإعدادات أدناه إلى ملف الإعدادات الخاص بك.
[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
hostname = *google.com
يفك Chute تشفير حركة المرور فقط للمضيفين المعلن عنهم هنا.
العلامات النجمية و ? مدعومة. لاحظ أن ? لا يعمل كعلامة بدل إلا إذا احتوت القاعدة أيضاً على `؛ أما القاعدة التي تحتوي على?` فقط فتُقارن حرفياً.
- استخدم البادئة - لاستبعاد اسم مضيف.
- افتراضياً، فقط الطلبات إلى المنفذ 443 يتم فك تشفيرها.
- استخدم اللاحقة :port للسماح بمنافذ أخرى.
- استخدم اللاحقة :0 للسماح بجميع المنافذ.
مثال:
-*.apple.com: يستبعد جميع الطلبات المرسلة إلى *.apple.com على المنفذ 443.www.google.com: يسمح بـ MitM لـ www.google.com على المنفذ 443.www.google.com:8080: يسمح بـ MitM لـ www.google.com على المنفذ 8080.www.google.com:0: يسمح بـ MitM لـ www.google.com على جميع المنافذ.*: يسمح بـ MitM لجميع أسماء المضيفين على المنفذ 443. (غير موصى به)*:0: يسمح بـ MitM لجميع أسماء المضيفين على جميع المنافذ. (غير موصى به)
يمكن أن يتضمن مدخل اسم المضيف أيضاً نمط مسار بعد أول /. يُطابَق جزء المضيف أولاً لتحديد ما إذا كان الاتصال سيُفك تشفيره، ثم يقوم نمط المسار بتصفية الطلبات التي سيتم فك تشفيرها ومعالجتها.
example.com/api/*: يسمح بـ MitM لـ example.com على المنفذ 443، مقتصراً على الطلبات التي يطابق مسارها/api/*.
قد يكون الإعداد العام مثل:
hostname = -*.apple.com, -*.icloud.com, *
سيطبق Chute قواعد إعادة كتابة الرابط وإعادة كتابة الترويسات وإعادة كتابة الجسم و Mock (Map Local) بالإضافة إلى السكربتات على جميع طلبات MitM.
يدعم MitM بروتوكول HTTP/2: يعرض Chute كلاً من h2 و http/1.1 للعميل عبر ALPN. أما مفتاحا h2 و tcp-connection في قسم [MITM] الخاص بـ Surge فيُقبلان في ملفات الإعداد لكن يتم تجاهلهما.
بعض التطبيقات لديها سياسة أمان صارمة لاستخدام الشهادات المثبتة أو CA. قد يتسبب تفعيل فك التشفير لهذه المضيفين في مشاكل.
تثبيت شهادة CA والوثوق بها
إنشاء شهادة CA (أو استيرادها) ليس سوى نصف الإعداد — يجب أن يثق بها نظام التشغيل أيضاً. وإلى أن تكتمل الخطوتان، يفشل كل موقع مفكوك التشفير بتحذير شهادة. تعرض صفحة الشهادة في التطبيق الحالة الراهنة ("Trusted CA Certificate" / "Not Trusted CA Certificate").
Chute iOS — في محرر الإعدادات افتح MitM ← تهيئة CA (Configure CA):
- إنشاء شهادة CA جديدة (Generate A New CA Certificate) (أو استيراد شهادة P12 (Import P12 Certificate) لشهادة موجودة).
- اضغط تثبيت شهادة CA في النظام (Install CA Certificate to System). تُفتح صفحة Safari — اضغط تثبيت الشهادة (Install Certificate) واسمح بالتنزيل، ثم ثبّت ملف التعريف المنزَّل من الإعدادات ← عام ← VPN وإدارة الجهاز.
- الوثوق بها: الإعدادات ← عام ← حول ← إعدادات الثقة بالشهادات، وفعّل الثقة الكاملة لشهادة CA الخاصة بـ Chute. هذه الخطوة هي التي يفوّتها معظم الناس — بدونها تكون الشهادة مثبتة لكن غير موثوقة، ويستمر فك التشفير في الفشل.
Chute Mac — في نافذة الإعدادات افتح MitM:
- إنشاء شهادة جديدة (Generate New Certificate) (أو استيراد شهادة من ملف PKCS#12 (Import Certificate from PKCS#12 File)).
- انقر تثبيت الشهادة في النظام (Install the Certificate to System). يطلب macOS كلمة مرور مسؤول ويضيف الشهادة إلى سلسلة مفاتيح النظام كجذر موثوق — لا حاجة إلى خطوات يدوية في «الوصول إلى سلسلة المفاتيح» (Keychain Access).
- تصدير الشهادة (Export the Certificate) يحفظ نسخة
.pemلتثبيتها على أجهزة أخرى.
إذا استمر تطبيق معيّن في الفشل رغم شهادة موثوقة، فالأرجح أنه يثبّت شهاداته الخاصة (pinning) — استبعد مضيفيه من hostname بالبادئة - بدلاً من محاربته.
الخيارات
skip-server-cert-verify
skip-server-cert-verify = true
عدم التحقق من شهادة المضيف البعيد أثناء تنفيذ MitM. عند التفعيل، سيقبل Chute أي شهادة يقدمها الخادم العلوي، بما في ذلك الشهادات الموقعة ذاتياً أو غير الصالحة. هذا مفيد لبيئات التطوير لكنه يقلل من الأمان.
[MITM]
enable = true
ca-p12 = MIIJtQ.........
ca-passphrase = password
skip-server-cert-verify = true
hostname = *google.com
ملاحظة أمنية: تفعيل
skip-server-cert-verifyيجعل اتصالات MitM عرضة لهجمات الرجل في المنتصف بين Chute والخادم العلوي. قم بتفعيل هذا فقط للشبكات الموثوقة أو لأغراض التطوير.
هذه الصفحة ترجمة للنسخة الإنجليزية. في حال وجود اختلاف، يُعتمد على النسخة الإنجليزية.
ملاحظة: التطبيق لا يدعم اللغة العربية حاليًا.