Pre-Shared Key که بطور اختصار PSK خوانده میشود یکی از دو متد موجود برای اعتبارسنجی شبکههای WPA و WPA2 است. این متد با استفاده از یک رمز عبور که میتواند تا 133 کاراکتر انگلیسی طول داشته باشد، برای هر کلاینت، کلید رمزنگاری یکتایی را تولید میکند.
مدتی بود که میخواستم در مورد امنیت شبکههای وایرلس مطلب بنویسیم که بالاخره امروز همت کردم و بعد از پیادهسازی سرویس آنلاین WPA PSK ساز روی آیس کت، شروع به نوشتن این مطلب کردم.
در این مطلب به آموزش رمزگشایی پکتهای WPA/WPA2 با استفاده از ساخت PSK مربوط به اون شبکه میپردازیم. این موضوع بسیار ساده بوده و به شما در درک مقالههای آینده ما در مورد امنیت شبکههای وایرلس کمک خواهد کرد؛ پس در بدون وقت تلف کردن به مراحل انجام اینکار میپردازیم.
فایل زیر یک Capture File نمونه از شبکه شخصی خودم هست که برای آموزش این مطلب ساخته شده است، پس آنرا از لینک زیر دانلود کنید تا آزمایشات خود را بر روی آن انجام دهیم:
شبکه مورد آزمایش ما یک شبکه رمزنگاری شده با پروتکل WPA2 است. ترافیک دریافتی بدون Join شدن فرد مهاجم به شبکه ذخیره شده است. همچنین با استفاده از حمله DeAuth تمام a4-Way Handshakeها نیز دریافت و ذخیره شده است.
لازم به ذکر است که مراحل کار برای شبکههای WPA نیز عیناً مطابق روش زیر است و هیچگونه تفاوتی ندارد.
اکنون با کلیک بر روی این لینک وارد WPA PSK ساز آنلاین سایت شوید و با استفاده از این اطلاعات اقدام به ساخت کلید خام WPA کنید:
SSID: Icecat Passphrase: simplePassword
ساخت PSK اندکی زمان خواهد برد، چراکه همانطوری که در صفحه PSK ساز ذکر شده، این عملیات در مرورگر شما بوسیله جاوا اسکریپت انجام میگیرد و جاوا اسکریپت به سرعت در رمزنگاری و رمزگشایی اطلاعات معروف نیست، پس چند ثانیهای صبر کنید تا کلید خام این شبکه ساخته شود.
پس از پایان ساخت کلید، مشاهده میکنید که کلیدخام مربوط به این شبکه برابر مقدار زیر است:
PSK: 8be8cbd07f1dab3d011c6f48b787b6047f57e589d82d1941bc86b492503d3c30
اکنون فایل icecat.pcap که پیشتر دانلود کرید را در Wireshark باز کنید. چیزی که مشاهده میکنید مانند تصویر زیر است؛ اطلاعاتی ناخوانا که هیچ چیز خاصی را در اختیار ما نمیگذارد، چرا که این اطلاعات رمز شده است:
اکنون میخواهیم با استفاده از PSK این شبکه که قبلاً آنرا ساختهایم اطلاعات کپچر شده را رمزگشایی کنیم. پس در Wireshark از منوی Edit گزینه Preferences را انتخاب کنید. شاخه Protocols را از لیست سمت چپ باز کرده و گزینه IEEE 802.11 را انتخاب کنید. گزینه Enable decryption را تیک بزنید و بر روی دکمه ...Edit کلیک کنید:
حال بر روی دکمه + در پنجره باز شده کلیک کنید و در قسمت Key Type گزینه wpa-psk و در قسمت Key مانند شکل زیر PSK خود را که قبلاً آنرا ساختهایم وارد کنید:
اکنون بر روی دکمه OK کلیک کنید تا این پنجره بسته شود و به پنجره قبلی بازگردید.
در پنجره قبلی نیز بر روی دکمه OK کلیک کنید تا پنجره Prefrences نیز بسته شود.
حالا به پنجره اصلی نرم افزار دقت کنید. پکتهای رمز شده و نامفهوم ما اکنون رمزگشایی شده اند و همانطور که مشاهده میکنید برای نمونه مشخص است که شخصی در این شبکه به سایت icecat.ir متصل شده و مطلب «ویبی داتنت یا سیشارپ» را مشاهده کرده است:
با رمزگشایی فایل اکنون میتوانیم تمامی ترافیک رد و بدل شده را بطور کامل مشاهده کنیم. بطور مثال در زیر User-Agent شخص قربانی را از روی یکی از پکتها بازیابی کردهایم که نشان میدهد شخص از سیستمعامل Linux نسخه 32 بیتی و مرورگر 24.5 IceWeasel (واقعا لازمه آپدیتش کنم ) استفاده کرده است. این اطلاعات بظاهر ساده میتواند برای اکسپلویت کردن قربانی بوسیله مسمومسازی جدول ARP و حملات MITM و یا روشهای دیگر مفید باشد. لازم به ذکر است که کوکیهای مبادله شده نیز قابل رویت است و میتواند منجر به انجام حملات Session Hijack شود:
پینوشت ۱: برای اینکه رمزگشایی ممکن باشد، فایل کپچر شده شما باید تمام a4-Way Handshakeها را نیز در خود داشته باشد.
پینوشت ۲: آموزش بالا بر اساس آخرین نسخه Wireshark در این لحظه، یعنی نسخه 2.0.4 تهیه و تدوین شده است.
پینوشت ۳: جهت دانلود Wireshark میتوانید بر روی این لینک کلیک کنید.