راهنمای رمزگشایی SSL: نحوه رمزگشایی SSL با Wireshark

رمزگشایی SSL با Wireshark

اگر تاکنون سعی کرده اید از Wireshark برای نظارت بر ترافیک وب استفاده کنید ، احتمالاً با مشکل روبرو شده اید – بخش زیادی از آن رمزگذاری شده است. در حقیقت ، اکثر سایتها برای حفظ امنیت کاربران از رمزگذاری SSL یا TLS استفاده می کنند. اگر قصد خرید در آمازون را دارید رمزنگاری همه کاره چیز خوبی است ، اما هنگام تلاش برای اجرای یک شبکه ، این یک درد واقعی است. در اینجا نحوه رمزگشایی SSL با Wireshark آورده شده است.

Wireshark و SSL چیست؟?

Wireshark یک است آنالایزر ترافیک شبکه؛ این یک ابزار اصلی است که بسیاری از سرپرستها برای رفع مشکلات در شبکه های خود از آن استفاده می کنند. به طور خاص ، این قاب ها – بلوک های ساختمانی بسته ها را ضبط می کند و به شما امکان می دهد آنها را مرتب سازی و تجزیه و تحلیل کنید. با استفاده از Wireshark ، می توانید ترافیکی که در شبکه شما جریان دارد را بررسی کنید و آنرا جدا کنید و به داده های اولیه نگاهی بیندازید..

SSL پروتکل رمزگذاری است که در لایه Transport مدل OSI عمل می کند. از روشهای مختلف رمزگذاری برای ایمن سازی داده ها هنگام حرکت در شبکه ها استفاده می کند. توجه: در این راهنما ، من بیشتر به SSL به عنوان اصطلاح گیرنده برای SSL و TLS ، جانشین آن اشاره می کنم..

رمزگذاری SSL استفاده از Wireshark را چالش برانگیز تر می کند ، زیرا این امر باعث می شود مدیران از مشاهده داده هایی که هر بسته دارند ، جلوگیری کنند. هنگامی که Wireshark به درستی تنظیم شده است ، می تواند SSL را رمزگشایی کرده و توانایی شما در مشاهده داده های خام را بازیابی کند.

برای رمزگشایی SSL و TLS با استفاده از یک کلید مخفی پیش استاد

استفاده از کلید مخفی قبل از استاد برای رمزگشایی SSL در Wireshark روش پیشنهادی است. آ کلید مخفی پیش استاد توسط مشتری ایجاد می شود و توسط سرور برای بدست آوردن کلید اصلی که ترافیک جلسه را رمزگذاری می کند ، استفاده می شود. این استاندارد فعلی در رمزنگاری است و معمولاً از طریق دیفی هلمن اجرا می شود.

از مرورگر شما می توان برای ورود کلید مخفی قبل از استاد استفاده کرد که Wireshark برای رمزگشایی جلسات SSL و TLS استفاده می کند.

در اینجا مراحل رمزگشایی SSL و TLS با کلید مخفی از قبل استاد وجود دارد:

  • متغیر محیط را تنظیم کنید
  • مرورگر خود را راه اندازی کنید
  • Wireshark را پیکربندی کنید
  • جلسه را ضبط و رمزگشایی کنید

پس از اتمام کار ، بدون نیاز به دسترسی به سرور هدف ، می توانید جلسات SSL و TLS را در Wireshark رمزگشایی کنید.

یک متغیر محیط Windows تنظیم کنید

که در پنجره ها, شما باید با استفاده از متغیر محیط تنظیم کنید تنظیمات پیشرفته سیستم ابزار این متغیر ، به نام SSLKEYLOGFILE, شامل مسیری است که کلیدهای مخفی قبل از استاد در آن ذخیره می شوند.

با کلیک راست روی شروع کنید کامپیوتر من, و انتخاب کنید خصوصیات از منو سیستم منو باز خواهد شد.

بعد کلیک کنید تنظیمات پیشرفته سیستم در لیست سمت چپ خصوصیات سیستم پنجره باز خواهد شد.

در پیشرفته روی برگه کلیک کنید متغیرهای محیطی دکمه.

کلیک کنید بر روی جدید… دکمه زیر متغیرهای کاربر. همچنین می توانید متغیر زیر را ایجاد کنید متغیرهای سیستم اگر می خواهید کلیدهای SSL را برای هر کاربر روی سیستم وارد کنید ، اما من ترجیح می دهم که آن را به پروفایل من محدود نگه دارد.

زیر نام متغیر, موارد زیر را تایپ کنید:

SSLKEYLOGFILE

در مقدار متغیر فیلد ، یک مسیر را به پرونده log وارد کنید. همچنین می توانید روی کلیک کنید مرور پرونده … را فشار داده و مسیر را با استفاده از انتخابگر پرونده مشخص کنید.

به عنوان یک یادداشت ، اگر این گزینه را به عنوان یک متغیر محیطی گسترده در سیستم ایجاد می کنید ، باید از کارتهای عادی مناسب استفاده کرده یا پرونده را در مکانی که در دسترس همه کاربران است ذخیره کنید. به عنوان مثال ، شما ممکن است را انتخاب کنید ٪ USERPROFILE٪ \ Data App \ ssl-keys.log یا C: \ ssl-keys.log.

پس از اتمام ، کلیک کنید خوب و به مراحل بعدی بروید.

متغیر محیط Linux یا Mac را تنظیم کنید

که در لینوکس و مک, باید تنظیم کنید SSLKEYLOGFILE متغیر محیط با استفاده از نانو. که در لینوکس, متغیر در ذخیره می شود ~ / .bashrc. در مک, متغیر را در پرونده ایجاد خواهید کرد  ~ / .MacOSX / محیط.

یک ترمینال را باز کنید و از این دستور در لینوکس استفاده کنید:

nano ~ / .bashrc

باز کن راه انداز, کلیک دیگر, و راه اندازی یک ترمینال به این دستور را در Mac OSX اجرا کنید:

nano ~ / .bash_profile

مراحل زیر برای هر دو سیستم عامل یکسان است.

در پایان پرونده ، این خط را اضافه کنید:

صادرات SSLKEYLOGFILE = ~ / .ssl-key.log

مطبوعات Ctrl + X ، Y برای ذخیره تغییرات خود.

پنجره ترمینال را ببندید و دیگری را تنظیم کنید تا متغیر تنظیم شود ، سپس تأیید کنید که با موفقیت تنظیم شده است زیر را تایپ کنید:

تکرار $ SSLKEYLOGFILE

بعد از اجرای دستور ، باید خروجی شبیه به تصویر بالا را ببینید. /Users/comparitech/.ssl-key.log مسیر کامل ورود به سیستم کلید اصلی من پیش از SSL است. توجه: می خواهید یادداشت کنید که متفاوت است ، برای ورود به Wireshark.

اکنون که متغیر تنظیم شده است ، می توانید به مراحل بعدی بروید.

مرورگر خود را راه اندازی کنید و پرونده log را بررسی کنید

قبل از راه اندازی Wireshark و پیکربندی آن برای رمزگشایی SSL با استفاده از کلید پیش استاد ، باید مرورگر خود را شروع کرده و تأیید کنید که از پرونده log استفاده می شود.

برای پر کردن گزارش ، مهم است که از سایتی که SSL را فعال کرده است بازدید کنید. من از سرور آپاچی خودم برای آزمایش استفاده می کنم ، اما هر سایتی کار می کند. یكی از بزرگترین مزایای استفاده از كلید اشتراك پیش استاد است نیازی به دسترسی به سرور ندارید برای رمزگشایی SSL.

پس از بازدید از یک وب سایت با قابلیت SSL ، پرونده را برای اطلاعات بررسی کنید. که در پنجره ها, شما می توانید استفاده کنید دفترچه یادداشت. که در لینوکس یا مک, از دستور زیر استفاده کنید:

گربه ~ / .ssl-log.key

در هر سیستم عامل ، پرونده شما باید مانند موارد فوق باشد. بعد از اینکه تأیید کردید که مرورگر شما در محلی که انتخاب کرده اید کلیدهای پیش استاد را ثبت می کند ، می توانید Wireshark را تنظیم کنید تا از این کلیدها برای رمزگشایی SSL استفاده کند.

Wireshark را برای رمزگشایی SSL پیکربندی کنید

هنگامی که مرورگر شما کلیدهای پیش استاد را وارد می کند ، وقت آن است که Wireshark را پیکربندی کنید تا از این گزارش ها برای رمزگشایی SSL استفاده کند.

Wireshark را باز کنید و کلیک کنید ویرایش کنید, سپس اولویت ها. اولویت ها گفتگو باز خواهد شد ، و در سمت چپ ، لیستی از موارد را مشاهده خواهید کرد. بسط دادن پروتکل ها, حرکت به پایین ، و سپس کلیک کنید SSL.

در لیست گزینه های پروتکل SSL ، ورودی را مشاهده می کنید (قبل از) نام پرونده ورود به نام استاد-راز. در مرحله قبل به پرونده log که تنظیم کرده اید ، مرور کنید یا فقط مسیر را بچسبانید.

وقتی تنظیم را تمام کردید (قبل از) نام پرونده ورود به نام استاد-راز, کلیک خوب و به Wireshark برگردید. شما آماده حرکت هستید.

جلسه را ضبط کرده و SSL را رمزگشایی کنید

مرحله آخر گرفتن یک جلسه آزمون و اطمینان از رمزگشایی Wireshark با موفقیت SSL است.

  • جلسه ضبط فیلتر نشده را شروع کنید ، آن را به حداقل برسانید و مرورگر خود را باز کنید.
  • به منظور تولید داده به یک سایت ایمن مراجعه کنید ، و به صورت اختیاری فیلتر صفحه نمایش ssl را تنظیم کنید تا نویز جلسه به حداقل برسد.
  • روی هر کادر حاوی داده های رمزگذاری شده کلیک کنید.

در مورد من ، من یکی از مواردی را انتخاب خواهم کرد که حاوی ترافیک HTTP با کدگذاری متن / HTML باشد ، زیرا می خواهم کد منبع را که سرور وب به مرورگر من ارسال می کند را ببینم. اما هرگونه ترافیکی رمزگذاری شده که از کلید پیش مخفی استفاده می کند با این روش کار خواهد کرد. این شامل کلیه داده هایی است که از رمزگذاری کامل برای جلو (PFE) از طریق Diffie-Hellman یا مبادلات کلیدی قابل مقایسه استفاده می کنند..

پس از انتخاب یک قاب رمزگذاری شده ، به آن نگاه کنید نمای بایت بسته, و به طور خاص زبانه ها در زیر نمای. باید یک مطلب برای مشاهده کنید رمزگذاری SSL داده ها ، در میان دیگران.

متوجه خواهید شد که جلسه من همچنان به نظر می رسد که پر از زباله است ، و هیچ HTML قابل مشاهده نیست. به این دلیل است که سرور وب من (و بیشتر سرورهای Apache) بطور پیش فرض از فشرده سازی GZIP استفاده می کنند.

هنگام کلیک روی بدن موجود فشرده نشده برگه ، که فقط در این حالت با فعال کردن رمزگشایی SSL نشان داده می شود ، می توانید کد منبع سایت را مشاهده کنید. به عنوان مثال ، در اینجا عنصر عنوان صفحه پیش فرض آپاچی به زبان ساده است.

استفاده از کلید RSA برای رمزگشایی SSL

شاید قبلاً متوجه شده اید که Wireshark دارای فیلدی است که به شما امکان می دهد کلیدهای RSA خود را بارگذاری کرده و از آنها برای رمزگشایی SSL استفاده کنید. در عمل, رمزگشایی کلید RSA مستهلک می شود.

دلیل رمزگشایی SSL با یک کلید RSA که معمولاً از آن استفاده نمی شود این است که Perfect Forward Encryption (PFE) آن را منسوخ کرده است. جلسات مذاکره شده با Diffie-Hellman مستقیماً از کلید RSA استفاده نمی کنند. در عوض ، آنها یک کلید یک بار را تولید می کنند ، که فقط در RAM ذخیره می شود ، که با استفاده از کلید روی دیسک رمزگذاری می شود.

اگر قبلاً از کلید RSA برای رمزگشایی ترافیک استفاده می کرده اید ، و این کار را متوقف کرده است ، می توانید با فعال کردن ورود به سیستم SSL ، از مبادلات Diffie-Hellman استفاده کنید..

برای روشن کردن ورود ، روی کلیک کنید ویرایش کنید از منوی نوار ابزار انتخاب کرده و را انتخاب کنید اولویت ها. گسترش پروتکل ها مورد در سمت چپ و به پایین حرکت کنید SSL. از اینجا ، می توانید روی کلیک کنید مرور کردن دکمه را تنظیم کرده و محل ورود SSL خود را تنظیم کنید.

پس از تنظیم مکان ، کلیه تعامل های SSL در پرونده مشخص شده وارد می شوند.

یک جلسه را با میزبان فعال SSL خود ضبط کنید ، سپس گزارش ها را بررسی کنید. به طور خاص ، شما باید حرکت کنید تا زمانی که قاب مورد نظر را برای دستیابی به TLS در مورد مذاکره پیدا کنید ، پیدا کنید. این احتمال وجود دارد که شما یک ورود داستانی DHE را در رشته رمزنگاری مشاهده کنید.

این بدان معناست که تبادل کلید Diffie-Hellman فعال شده است. در مورد من ، Apache به طور خاص از کلیدهای منحنی بیضوی Diffie-Hellman استفاده می کند ، که توسط رشته مشخص می شود ECDHE.

کمی جلوتر بروید و احتمالاً مشاهده خواهید کرد که راز اصلی پیدا نمی شود.

اگر گزارش های شما به این شکل است و نمی توانید با استفاده از یک کلید RSA رمز عبور را رمزگشایی کنید ، چاره ای جز تغییر روی روش مخفی پیش استاد در بالا ندارید.

از آنجا که PFE در حال تبدیل شدن به یک روش استاندارد است ، با احتمال زیاد TLSv1.3 مسئله را مجبور می کند ، رمزگشایی ساده کلید RSA از بین می رود و نباید از آن استفاده کرد.

Wireshark رمزگذاری رمز عبور SSL را آسان می کند

من واقعاً نحوه کار Wireshark را با رمزگشایی SSL دوست دارم. رمزنگاری پیچیده است ، و استانداردها به طور مداوم در حال تغییر هستند تا از امنیت بیشتری برخوردار شوند. اما هنگامی که Wireshark و محیط شما به درستی تنظیم شد ، تمام کاری که باید انجام دهید تغییر زبانه ها برای مشاهده داده های رمزگشایی است. آسانتر از این نمی شود.

About the author

Comments

  1. با توجه به متن فوق، این مطلب درباره استفاده از Wireshark برای نظارت بر ترافیک وب است و اینکه بخش زیادی از آن رمزگذاری شده است. برای رمزگشایی SSL و TLS با استفاده از یک کلید مخفی پیش استاد، از کلید مخفی قبل از استاد برای رمزگشایی SSL در Wireshark استفاده می شود. این روش باعث می شود مدیران بتوانند داده هایی که هر بسته دارند را مشاهده کنند. با استفاده از Wireshark، می توانید ترافیکی که در شبکه شما جریان دارد را بررسی کنید و آنرا جدا کنید و به داده های اولیه نگاهی بیندازید. در نهایت، Wireshark یک ابزار اصلی برای رفع مشکلات در شبکه های خود است.

  2. غیر مستقیم استفاده از Wireshark برای نظارت بر ترافیک وب، به دلیل رمزگذاری بخش زیادی از آن. اما با استفاده از کلید مخفی پیش استاد، می توانید SSL و TLS را در Wireshark رمزگشایی کنید. برای این کار، باید متغیر محیط SSLKEYLOGFILE را تنظیم کنید و پرونده log را بررسی کنید. سپس Wireshark را برای رمزگشایی SSL پیکربندی کنید و جلسه را ضبط کرده و SSL را رمزگشایی کنید. با این روش، می توانید ترافیکی که در شبکه شما جریان دارد را بررسی کنید و به داده های اولیه نگاهی بیندازید. این روش برای حفظ امنیت کاربران و مشاهده داده های خام بسیار مفید است.

  3. غیر مستقیم در محیط خط فرمان. برای این کار ، می توانید دستور زیر را در ترمینال خود وارد کنید:

    export SSLKEYLOGFILE=/path/to/ssl-keys.log

    در این دستور ، مسیری که پرونده log در آن ذخیره می شود را به جای /path/to/ssl-keys.log قرار دهید. همچنین ، می توانید این دستور را در فایل bashrc خود قرار دهید تا هر بار که ترمینال را باز می کنید ، متغیر محیط SSLKEYLOGFILE تنظیم شود.

    مرورگر خود را راه اندازی کنید و پرونده log را بررسی کنید

    حالا باید مرورگر خود را باز کنید و به سایتی که می خواهید ترافیک SSL آن را رمزگشایی کنید ، بروید. سپس ، پرونده log را بررسی کنید تا کلید مخفی قبل از استاد برای جلسه SSL جاری را پیدا کنید. برای این کار ، می توانید از دستور زیر در ترمینال خود استفاده کنید:

    grep “CLIENT_RANDOM” /path/to/ssl-keys.log

    در این دستور ، مسیری که پرونده log در آن ذخیره شده است را به جای /path/to/ssl-keys.log قرار دهید. این دستور باید یک خط با کلید مخفی قبل از استاد برای جلسه SSL جاری برگرداند.

    Wireshark را برای رمزگشایی SSL پیکربندی کنید

    حالا باید Wireshark را برای رمزگشایی SSL با استفاده از کلید مخفی قبل از استاد پیکربندی کنید. برای این کار ، مراحل زیر را دنبال کنید:

    1. Wireshark را با دسترسی root اجرا کنید.

    2. در منوی Edit ، گزینه Preferences را انتخاب کنید.

    3. در پنجره Preferences ، در بخش Protocols ، گزینه SSL را انتخاب کنید.

    4. در قسمت RSA keys list ، گزینه Edit را انتخاب کنید.

    5. در پنجره SSL Key List ، گزینه New را انتخاب کنید.

    6. در پنجره New RSA Key ، در قسمت Key File ، مسیری که کلید مخفی قبل از استاد در آن ذخیره شده است را وارد کنید.

    7. در قسمت Protocol ، SSLv3 را انتخاب کنید.

    8. در قسمت IP Address ، آدرس IP سرور مورد نظر را وارد کنید.

    9. در قسمت Port ، پورت SSL سرور مورد نظر را وارد کنید.

    10. در قسمت Key Type ، RSA را انتخاب کنید.

    11. در قسمت Key Password ، رمز عبور کلید مخفی قبل از استاد را وارد کنید.

    12. در پایین پنجره ، گزینه OK را انتخاب کنید.

    13. در پنجره SSL Key List ، گزین

  4. Eğer web trafiğini izlemek için Wireshark kullanmaya çalıştıysanız, muhtemelen karşılaştığınız bir sorun vardır – çoğu şey şifrelenmiştir. Aslında, çoğu web sitesi kullanıcı güvenliğini korumak için SSL veya TLS şifrelemesi kullanır. Amazonda alışveriş yapmak istiyorsanız, tam şifreleme iyi bir şeydir, ancak bir ağ kurmaya çalışırken gerçek bir baş ağrısıdır. Bu makalede, SSLnin Wireshark ile nasıl çözüleceği açıklanmaktadır. Wireshark, bir ağ trafiği analizörüdür; birçok yöneticinin ağlarında sorunları çözmek için kullandığı temel bir araçtır. Özellikle, bu çerçeveler – paketlerin yapı taşları – kaydedilir ve onları sıralamanıza ve analiz etmenize olanak tanır. Wireshark kullanarak, ağınızda akış halindeki trafiği inceleyebilir, ayırabilir ve temel verilere bakabilirsiniz. SSL, OSI modelinin Transport katmanında çalışan bir şifreleme protokolüdür. Ağlarda hareket ederken verilerin güvenliğini sağlamak için çeşitli şifreleme yöntemleri kullanır. Not: Bu kılavuzda, SSL ve TLS için alıcı terim olarak SSLye daha çok atıfta bulunuyorum. SSL şifrelemesi, Wireshark kullanımını zorlaştırır çünkü yöneticilerin her paketin taşıdığı verileri görüntülemesini engeller. Wireshark doğru şekilde yapılandırıldığında, SSLyi çözebilir ve ham verileri görüntüleme yeteneğinizi geri kazanabilirsiniz. Wiresharkta SSL ve TLSyi çözmek için önceden paylaşılan bir anahtar kullanmak, SSLyi çözmek için önerilen yöntemdir. Önceden paylaşılan anahtar, müşteri tarafından oluşturulur ve oturum trafiğini şifreleyen anahtarı elde etmek için sunucu tarafından kullanılır. Bu şifreleme standartıdır ve genellikle Diffie-Hellman aracılığıyla uygulanır. Tarayıcınızı, Wiresharkın SSL ve TLS oturumlarını çözmek için kullandığı önceden paylaşılan anahtarı girmek için kullanabilirsiniz. Burada, önceden paylaşılan anahtar kullanarak SSL ve TLSnin nasıl çözüleceği adımları yer almaktadır: Çevre değişkenini ayarlayın Tarayıcınızı başlatın ve log dosyasını kontrol edin Wiresharkı SSL çözmek için yapılandırın Oturumu kaydedin ve SSLyi çözün.

Comments are closed.