إذا كنت قد حاولت استخدام Wireshark لمراقبة حركة مرور الويب ، فمن المحتمل أنك واجهت مشكلة – الكثير منها مشفر. في الواقع ، تستخدم معظم المواقع تشفير SSL أو TLS للحفاظ على أمان مستخدميها. يعد التشفير في كل مكان أمرًا جيدًا إذا كنت تتسوق عبر موقع Amazon ، ولكنه أمر حقيقي عندما تحاول إدارة الشبكة. إليك طريقة فك تشفير SSL باستخدام Wireshark.
ما هي Wireshark و SSL?
Wireshark هو شبكة المرور محلل. إنها أداة أساسية يستخدمها العديد من المسؤولين لاستكشاف المشكلات على شبكاتهم. على وجه التحديد ، تلتقط الإطارات – اللبنات الأساسية للحزم – وتتيح لك الفرز وتحليلها. باستخدام Wireshark ، يمكنك إلقاء نظرة على حركة المرور المتدفقة عبر الشبكة وتشريحها ، والحصول على نظرة خاطفة داخل الإطارات في البيانات الخام.
SSL هو بروتوكول تشفير يعمل على طبقة النقل في نموذج OSI. يستخدم طرق تشفير مختلفة لتأمين البيانات أثناء انتقالها عبر الشبكات. ملاحظة: في هذا الدليل ، سأشير في الغالب إلى طبقة المقابس الآمنة كمصطلح كاتيل لكل من SSL و TLS ، الذي سيخلفه.
يجعل تشفير SSL استخدام Wireshark أكثر صعوبة لأنه يمنع المسؤولين من مشاهدة البيانات التي تحملها كل حزمة. عند إعداد Wireshark بشكل صحيح ، يمكنه فك تشفير SSL واستعادة قدرتك على عرض البيانات الأولية.
استخدام مفتاح سري قبل رئيسي لفك تشفير SSL و TLS
يعد استخدام مفتاح سري pre-master لفك تشفير SSL في Wireshark هو الطريقة الموصى بها. أ مفتاح سر ما قبل الماجستير يتم إنشاؤه بواسطة العميل ويستخدمه الخادم لاشتقاق مفتاح رئيسي يقوم بتشفير حركة مرور الجلسة. إنه المعيار الحالي في التشفير ويتم تنفيذه عادة عبر Diffie-Hellman.
يمكن إعداد المستعرض الخاص بك لتسجيل المفتاح السري لما قبل الرئيسي ، والذي يستخدمه Wireshark لفك تشفير جلسات SSL و TLS.
فيما يلي خطوات فك تشفير SSL و TLS باستخدام مفتاح سري تمهيدي رئيسي:
- تعيين متغير البيئة
- قم بتشغيل المتصفح الخاص بك
- تكوين Wireshark
- التقاط وفك تشفير الجلسة
عند الانتهاء ، ستتمكن من فك تشفير جلسات SSL و TLS في Wireshark دون الحاجة إلى الوصول إلى الخادم الهدف.
تعيين متغير بيئة Windows
في شبابيك, ستحتاج إلى تعيين متغير بيئة باستخدام إعدادات النظام المتقدمة خدمة. هذا المتغير ، اسمه SSLKEYLOGFILE, يحتوي على مسار حيث يتم تخزين مفاتيح سرية قبل الماجستير.
ابدأ بالنقر بزر الماوس الأيمن فوق جهاز الكمبيوتر الخاص بي, والاختيار الخصائص من القائمة. ال النظام سوف القائمة مفتوحة.
بعد ذلك ، انقر فوق إعدادات النظام المتقدمة في القائمة إلى اليسار. ال خصائص النظام سوف نافذة مفتوحة.
على ال المتقدمة علامة التبويب ، انقر فوق متغيرات البيئة زر.
انقر على جديد… زر تحت متغيرات المستخدم. يمكنك أيضا إنشاء المتغير تحت متغيرات النظام إذا كنت ترغب في تسجيل مفاتيح طبقة المقابس الآمنة لكل مستخدم على النظام ، لكنني أفضل الاحتفاظ بها محصوراً في ملفي الشخصي.
تحت اسم المتغير, اكتب ما يلي:
SSLKEYLOGFILE
في ال قيمة متغيرة الحقل ، اكتب مسارًا إلى ملف السجل. يمكنك أيضا النقر فوق ملف الاستعراض… زر وتحديد المسار باستخدام منتقي الملفات.
كملاحظة ، إذا كنت تنشئ هذا كمتغير بيئة على مستوى النظام ، فستحتاج إلى استخدام أحرف البدل المناسبة أو تخزين الملف في مكان يمكن لجميع المستخدمين الوصول إليه. على سبيل المثال ، قد تختار ٪ USERPROFILE٪ \ App Data \ ssl-keys.log أو C: \ SSL-keys.log.
بمجرد الانتهاء ، انقر فوق حسنا والانتقال إلى المجموعة التالية من الخطوات.
قم بتعيين متغير بيئة Linux أو Mac
في لينكس و ماك, ستحتاج إلى تعيين SSLKEYLOGFILE متغير البيئة باستخدام نانو. في لينكس, يتم تخزين المتغير في ~ / .bashrc. على ال ماك, ستقوم بإنشاء المتغير في الملف ~ / .MacOSX / بيئة.
فتح محطة و استخدم هذا الأمر في Linux:
نانو ~ /
افتح منصة الإطلاق, انقر آخر, وإطلاق محطة ل قم بتشغيل هذا الأمر في Mac OSX:
نانو ~ / .bash_profile
الخطوات التالية هي نفسها لكلا نظامي التشغيل.
في نهاية الملف ، أضف هذا السطر:
تصدير SSLKEYLOGFILE = ~ / .ssl-key.log
صحافة Ctrl + X، Y لحفظ التغييرات الخاصة بك.
أغلق نافذة المحطة الطرفية وافتح نافذة أخرى لضبط المتغير ، ثم اكتب ما يلي لتأكيد ضبطه بنجاح:
صدى $ SSLKEYLOGFILE
بعد تنفيذ الأمر ، سترى مخرجات مماثلة للصورة أعلاه. /Users/comparitech/.ssl-key.log هو المسار الكامل لسجل مفتاح SSL الخاص بي. ملاحظة: ستحتاج إلى تقديم ملاحظة لك ، والتي ستكون مختلفة ، لإدخالها في Wireshark.
الآن وقد تم تعيين المتغير ، يمكنك الانتقال إلى المجموعة التالية من الخطوات.
قم بتشغيل المستعرض الخاص بك وتحقق من وجود ملف السجل
قبل تشغيل Wireshark وتكوينه لفك تشفير طبقة المقابس الآمنة باستخدام مفتاح تمهيدي رئيسي ، يجب أن تبدأ متصفحك وتؤكد أن ملف السجل قيد الاستخدام.
لتعبئة السجل ، من المهم أن تقوم بزيارة موقع تم تمكين طبقة المقابس الآمنة. أنا أستخدم خادم Apache الخاص بي للاختبار ، لكن أي موقع سيعمل. أحد أكبر فوائد استخدام مفتاح مشترك تمهيدي رئيسي هو لا تحتاج إلى الوصول إلى الخادم لفك تشفير SSL.
بعد زيارتك لموقع ويب مُمكّن لـ SSL ، تحقق من الملف بحثًا عن البيانات. في شبابيك, يمكنك استخدام المفكرة. في لينكس أو ماك, استخدم الأمر التالي:
cat ~ / .ssl-log.key
على أي نظام تشغيل ، يجب أن يبدو الملف الخاص بك كما هو الحال في الملف أعلاه. بعد التأكد من قيام متصفحك بتسجيل مفاتيح ما قبل الماجستير في الموقع الذي حددته ، يمكنك تكوين Wireshark لاستخدام هذه المفاتيح لفك تشفير SSL.
تكوين Wireshark لفك تشفير SSL
بمجرد أن يقوم متصفحك بتسجيل مفاتيح ما قبل الماجستير ، فقد حان الوقت لتكوين Wireshark لاستخدام هذه السجلات لفك تشفير SSL.
افتح Wireshark وانقر فوق تعديل, ثم تفضيلات. ال تفضيلات سيتم فتح مربع الحوار ، وعلى اليسار ، سترى قائمة بالعناصر. وسعت بروتوكولات, انتقل لأسفل ، ثم انقر فوق SSL.
في قائمة خيارات بروتوكول SSL ، سترى إدخالًا لـ (قبل) ، ماجستير السري سجل اسم الملف. استعرض للوصول إلى ملف السجل الذي قمت بإعداده في الخطوة السابقة ، أو قم فقط بلصق المسار.
عندما تنتهي من ضبط (قبل) ، ماجستير السري سجل اسم الملف, انقر حسنا والعودة إلى Wireshark. أنت مستعد للمضي قدمًا.
التقاط الجلسة وفك تشفير SSL
الخطوة الأخيرة هي التقاط جلسة اختبار وتأكد من قيام Wireshark بفك تشفير SSL بنجاح.
- ابدأ جلسة التقاط غير مصفاة ، وقم بتصغيرها ، وافتح متصفحك.
- تفضل بزيارة موقع آمن لإنشاء البيانات ، وتعيينًا عامل تصفية عرض “ssl” اختياريًا لتقليل ضجيج الجلسة.
- انقر فوق أي إطار يحتوي على بيانات مشفرة.
في حالتي ، سأختار واحدة تحتوي على زيارات HTTP مع تشفير نص / HTML ، بما أنني أرغب في رؤية الكود المصدر الذي يرسله خادم الويب إلى متصفحي. ولكن أي حركة مرور مشفرة تستخدم مفتاح سر تمهيدي رئيسي ستعمل مع هذه الطريقة. يتضمن كل البيانات التي تستخدم Perfect Forward Encryption (PFE) من خلال Diffie-Hellman أو عمليات تبادل المفاتيح القابلة للمقارنة.
بمجرد تحديد إطار مشفر ، انظر إلى عرض بايت الحزمة, وبالتحديد علامات التبويب الموجودة أسفل العرض. يجب أن تشاهد إدخال ل تشفير SSL البيانات ، من بين أمور أخرى.
ستلاحظ أن جلستي لا تزال تبدو مليئة بالقمامة ، ولا يوجد HTML مرئي. ذلك لأن خادم الويب الخاص بي (ومعظم خوادم Apache) يستخدم ضغط GZIP بشكل افتراضي.
عند النقر فوق هيئة كيان غير مضغوطة علامة التبويب ، والتي تظهر فقط في هذه الحالة مع تمكين فك تشفير طبقة المقابس الآمنة ، يمكنك عرض الكود المصدر للموقع. على سبيل المثال ، إليك عنصر العنوان لصفحة Apache الافتراضية في نص عادي.
باستخدام مفتاح RSA لفك تشفير SSL
ربما لاحظت سابقًا أن Wireshark يحتوي على حقل يتيح لك تحميل مفاتيح RSA الخاصة بك واستخدامها لفك تشفير SSL. في التمرين, تم إلغاء تشفير مفتاح RSA.
لم يعد استخدام تشفير طبقة المقابس الآمنة (SSL) باستخدام مفتاح RSA شائعًا بعد الآن ، فقد جعله Perfect Forward Encryption (PFE) من التقادم. لا تستخدم الجلسات التي تم التفاوض بشأنها مع Diffie-Hellman مفتاح RSA مباشرةً ؛ بدلاً من ذلك ، يقومون بإنشاء مفتاح لمرة واحدة ، يتم تخزينه في ذاكرة الوصول العشوائي فقط ، ويتم تشفيره باستخدام المفتاح الموجود على القرص.
إذا كنت تستخدم مفتاح RSA مسبقًا لفك تشفير حركة المرور ، وتوقف عن العمل ، فيمكنك التأكد من أن الجهاز الهدف يستخدم عمليات التبادل Diffie-Hellman من خلال تمكين تسجيل SSL.
لتشغيل التسجيل ، انقر فوق تعديل من قائمة شريط الأدوات وحدد تفضيلات. التوسع في بروتوكولات عنصر القائمة على اليسار وانتقل لأسفل إلى SSL. من هنا ، يمكنك النقر فوق تصفح زر وتعيين موقع سجل SSL الخاص بك.
بمجرد تعيين الموقع ، سيتم تسجيل جميع تفاعلات طبقة المقابس الآمنة في الملف المحدد.
التقاط جلسة مع المضيف الخاص بك تمكين SSL ، ثم تحقق من السجلات. على وجه التحديد ، يجب عليك التمرير حتى تجد الإطار الذي تم التفاوض بشأن مصافحة TLS عليه. من المحتمل أن تشاهد إدخال DHE telltale في سلسلة التشفير.
وهذا يعني تمكين التبادلات الرئيسية Diffie-Hellman. في حالتي ، يستخدم Apache على وجه التحديد Diffie-Hellman مع مفاتيح منحنى إهليلجي ، والتي يرمز إليها بالسلسلة ECDHE.
قم بالتمرير قليلاً ، ومن المحتمل أن ترى أنه لا يمكن العثور على السر الرئيسي.
إذا كانت سجلاتك تبدو هكذا ، ولا يمكنك فك تشفير حركة المرور باستخدام مفتاح RSA ، فلا خيار أمامك سوى التبديل إلى طريقة سر ما قبل الماجستير أعلاه.
نظرًا لأن PFE أصبحت ممارسة معيارية ، حيث من المحتمل أن تؤدي TLSv1.3 إلى فرض المشكلة ، فقد تم إلغاء فك تشفير مفتاح RSA البسيط ويجب عدم استخدامه.
Wireshark يجعل من فك تشفير SSL المرور سهلة
أنا حقا أحب الطريقة Wireshark يعالج فك التشفير SSL. تشفير معقدة ، والمعايير تتغير باستمرار لتكون أكثر أمانا. ولكن بمجرد إعداد Wireshark وبيئتك بشكل صحيح ، كل ما عليك فعله هو تغيير علامات التبويب لعرض البيانات غير المشفرة. لا تحصل على أي شيء أسهل من ذلك.
هذا دليل مفيد جدًا لمن يحاول استخدام Wireshark لفك تشفير SSL و TLS. يوضح الدليل بشكل واضح كيفية استخدام مفتاح سري قبل رئيسي لفك تشفير SSL و TLS باستخدام Wireshark. يعد Wireshark أداة مهمة لمسؤولي الشبكات لاستكشاف المشكلات على شبكاتهم. ومع ذلك ، يجعل تشفير SSL استخدام Wireshark أكثر صعوبة ، ولكن يمكن للمستخدمين فك تشفير SSL باستخدام الطريقة الموصى بها في هذا الدليل. شكرًا لك على هذا الدليل المفيد.