هک وای فای با استفاده از PMKID

ده سال پیش همه ما از “هک شدن” افراد تعجب می‌کردیم. اما امروزه هک شدن اصطلاحاً “مثل آب خوردن” است. هرساله میلیون‌ها حساب و دستگاه توسط هکرهایی که داده‌های حساس را می‌دزدند و از آن‌ها به نفع خود استفاده می‌کنند، به خطر می‌افتد.

به‌طورکلی دو نوع نقض یا هک وجود دارد که باعث می‌شود کاربران داده‌های خود را از دست بدهند و این دو نقض می‌توانند به حوادثی مثل سرقت هویت تبدیل شوند. اولین نوع که جلوگیری از آن معمولاً در اندیوزرها (End User) غیرممکن است، زمانی است که سرور یک شرکت توسط هکرها مورد نفوذ قرار گرفته، هک می‌شود و سپس اعتبار هزاران کاربر را دزدیده خواهد شد. این نوع حوادث معمولاً منجر به تحقیقات رسمی می‌شوند و غالباً منجر به پرونده‌های قضایی خواهند شد.

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

شبکه WiFi چیست؟

شبکه WiFi، شبکه‌ای است که با استفاده از امواج رادیویی، کامپیوترها و سایر دستگاه‌ها را به یکدیگر متصل می‌کند. پیاده‌سازی این نوع شبکه‌ها در لایه 1 مدل OSI ینی لایه فیزیکی انجام می‌شود.

چگونه می‌توان به یک شبکه WiFi دسترسی پیدا کرد؟

برای اتصال به شبکه‌های WiFi شما به یک دستگاه مجهز به شبکه بی‌سیم مانند لپ‌تاپ، تبلت، تلفن‌های هوشمند و … نیاز خواهید داشت. همچنین دستگاه شما باید در شعاع انتقال دیتا نقطه دسترسی شبکه WiFi باشد. اکثر دستگاه‌ها (اگر گزینه شبکه بی‌سیم روشن باشد) لیستی از شبکه‌های موجود را به شما ارائه می دهند. اگر شبکه از طریق پسورد محافظت نشده باشد فقط باید روی اتصال به شبکه، کلیک کنید. اگر با استفاده از پسورد محافظت شده باشد، برای دسترسی به آن، به پسورد نیاز خواهید داشت.

احراز هویت شبکه‌های WiFi

از آنجایی که شبکه‌های WiFi به راحتی در دستگاه‌های قابل حمل، قابل دسترسی هستند، بیشتر شبکه‌ها با رمز عبور محافظت می شوند. مهمترین الگورتیم‌های مورد استفاده برای احراز هویت کاربران، WEP، WPA و WPA2 هستند.

نحوه هک کردن شبکه‌های WiFi

وقتی صحبت از کرک یا هک شبکه‌های WiFi می‌کنیم، اساساً در مورد شکستن کلیدهای WEP/WPA/WPA2 صحبت می‌کنیم. برای کرک یا هک کردن رمزعبور اکسس پوینت‌ها، شما به منابع نرم‌افزاری و سخت‌افزاری و البته صبر نیاز خواهید داشت. کالی لینوکس یک توزیع امنیتی مبتنی‌بر لینوکس است که می‌تواند برای جمع آوری اطلاعات، ارزیابی آسیب پذیری‌های WiFi و انجام حملات، مورد استفاده قرار گیرد. البته برای انجام چنین حملاتی شما به کارت شبکه‌هایی که دارای قابلیت پکت اینجکشن باشند نیاز خواهید داشت.

برای مشاهده و ثبت نام در دوره CEH کلیک کنید

هک وای فای با استفاده از PMKID

کرک رمزعبور برای الگوریتم WPA2 تقریباً سال‌هاست که یکسان است اما یک حمله جدیدتر نسبت به تکنیک‌های قبلی وجود دارد که به تعامل و اطلاعات کمتری نیاز دارد. این تکنیک PMKID از Hashcat برای کرک رمزهای عبور WPA استفاده می‌کند و به هکرها امکان می‌دهد شبکه‌های دارای رمز عبور ضعیف را به راحتی پیدا کنند.

روش قدیمی برای شکستن رمزهای عبور WPA2

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

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

دومین نکته منفی این تاکتیک این است که می‌تواند به‌علت اینکه بسته‌هایی را به سمت اکسس پوینت و دستگاه کاربر ارسال می‌کنید، شما را ازنظر حقوقی دچار دردسرهایی کند. این نوع تداخل غیرمجاز ازنظر فنی یک حمله انکار سرویس است و در صورت پایدار بودن، مساوی با تراکم کردن شبکه است. این موضوع می‌تواند هکرها را دردسر بیاندازد و به راحتی قابل تشخیص است.

روش جدید شکستن رمزعبور WPA2

در این روش مهاجم به جای رهگیری ارتباطات دو طرفه بین دستگاه‌های Wi-Fi برای شکستن رمزعبور، می‌تواند با استفاده از این روش مستقیماً با یک نقطه دسترسی آسیب پذیر ارتباط برقرار کند. در تاریخ 4 آگوست 2018، در پستی در انجمن Hashcat، تکنیکی جدید با جزئیات از حمله به RSN IE از یک فریم EAPOL برای گرفتن اطلاعات مورد نیاز برای حمله Burte Force ارائه شد.

مشابه حملات قبلی علیه WPA، مهاجم باید در نزدیکی شبکه‌ای باشد که می‌خواهد به آن حمله کند. هدف، استفاده از کارت شبکه وای فای سازگار با کالی لینوکس برای گرفتن اطلاعات مورد نیاز از شبکه برای انجام حمله Burte-force است. در این روش به جای استفاده از Aireplay-ng یا Aircrack-ng، از ابزاری جدید به نام hcxtools برای انجام این کار استفاده خواهیم کرد.

استفاده از Hcxtools و Hashcat

Hcxdumptool و hcxpcaptool ابزاری هستند که برای ممیزی Wi-Fi و آزمون تست نفوذ نوشته شده‌اند و به ما امکان می‌دهند با شبکه های Wi-Fi مجاور تعامل داشته باشیم تا بتوانیم هندشیک‌های WPA و هش‌های PMKID را بگیریم. این روش شبیه به Besside-ng عمل می‌کند و به حداقل آرگومنت‌ها برای شروع حمله از طریق کامندلاین احتیاج دارد. این روش می‌تواند برعلیه اهداف خاص یا اهداف عمومی اجرا شود و می‌تواند به سرعت از طریق SSH بر روی Raspberry Pi یا دستگاه دیگری بدون اسکرین، اجرا شود.

پس از گرفتن PMKID، مرحله بعدی بارگذاری هش در Hashcat و تلاش برای کرک رمزعبور است. این مرحله جایی است که hcxtools با Besside-ng متفاوت است، به این دلیل که برای آماده سازی فایل برای Hashcat به یک مرحله تبدیل نیاز است. ما از hcxpcaptool برای تبدیل پرونده PCAPNG خود به یک مورد Hashcat استفاده خواهیم کرد.

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

برای مشاهده و ثبت نام در دوره PWK کلیک کنید

چه امکاناتی برای این حمله نیاز است؟

برای انجام این حمله، باید کالی لینوکس را اجرا کنید و همانطور که بالاتر گفته شد به یک کارت شبکه وایرلس که از حالت مانیتورینگ و اینجکشن پشتیبانی می‌کند، احتیاج دارید. جدا از کارت شبکه سازگار با Kali، مطمئن شوید که سیستم خود را کاملاً بروزرسانی کرده و ارتقاء داده‌اید. اگر این کار را نکنید برخی از بسته‌ها ممکن است قدیمی باشند و هنگام کپچر مشکلاتی ایجاد کنند.

طی شش مرحله نحوه انجام این نوع حمله را باهم بررسی می‌کنیم.

مرحله اول : نصب Hxctools و Hashcat

ابتدا ابزارهای موردنیاز خود را نصب خواهیم کرد. برای دانلود آن‌ها، دستور زیر را در یک پنجره ترمینال تایپ کنید:

git clone https://github.com/ZerBea/hcxdumptool.git

سپس وارد پوشه hcxdumptool شوید و با دستور make و سپس make install نصب را به پایان برسانید:

وقتی نصب تمام شد باید سراغ نصب hcxtools بروید. برای انجام اینکار، یک پنجره ترمینال جدید باز کنید یا دایرکتوری /hcxdumptool را ترک کنید سپس hcxtools را نصب کنید.

git clone https://github.com/ZerBea/hcxtools.git

سپس وارد پوشه hcxtools شده و با دستورات make و make install نصب را به پایان برسانید.

در آخر باید hashcat را نصب کنیم که کار آسانی است. همچنین این ابزار به‌طور پیشفرض روی کالی لینوکس نصب است و فقط باید با استفاده از دستور زیر بروزررسانی را انجام دهیم:

مرحله دوم : آماده سازی کارت شبکه بی‌سیم

پس از اتصال کارت شبکه بی سیم سازگار با Kali، می‌توانید نام را با تایپ ifconfig یا ip a پیدا کنید. به طور معمول، چیزی شبیه wlan0 نامگذاری خواهد شد. اولین قدم قرار دادن کارت در حالت مانیتورینگ است که به ما امکان شنود ترافیک Wi-Fi در منطقه نزدیک را می‌دهد.

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

airmon-ng start wlan0

اکنون کارت شبکه بی سیم شما باید نامی مانند “wlan0mon” داشته باشد و در حالت مانیتور باشد. با اجرای دوباره ifconfig می‌توانید این مورد را تأیید کنید.

مرحله سوم : استفاده از Hxcdump برای کپچر PMKID از شبکه محلی

اکنون ما آماده گرفتن PMKID دستگاه‌هایی هستیم که می‌خواهیم به آن‌ها حمله کنیم. با کارت شبکه بی‌سیم خود در حالت مانیتور با عنوان “wlan1mon”، دستور زیر را برای شروع حمله اجرا می‌کنیم:

hcxdumptool -i wlan1mon -o galleria.pcapng –enable__status=1

در دستور بالا سوئیچ -i مربوط به این است که ما از کدام اینترفیس استفاده کنیم که در این مثال ما wlan1mon را استفاده می‌کنیم. نام فایلی که ما به آن نام ذخیره خواهیم کرد می‌تواند با سوئیچ -o مشخص شود. کانالی را که می‌خواهیم روی آن عملیات اسکن انجام دهیم را می‌توان با سوئیچ -c انتخاب کرد.

خروجی نمایش‌داده‌شده در ترمینال پس از اجرای این دستور به شکل زیر است. 

مرحله چهارم : استفاده از Hxcpcaptool برای تبدیل Dump به Hashcat

برای تبدیل فایل PCAPNG، از ابزار hcxpcaptool با چند سوئیچ مشخص‌شده استفاده می‌کنیم. در همان پوشه‌ای که فایل .pcapng ذخیره‌شده است، دستور زیر را در یک پنجره ترمینال اجرا کنید:

hcxpcaptool -E essidlist -I identitylist -U usernamelist -z galleriaHC.16800 galleria.pcapng

این دستور به hxcpcaptool می‌گوید كه از اطلاعات موجود در فایل برای كمك به Hashcat با پرچم‌های -E، -I و -U استفاده كند. از سوئیچ -Z برای نام فایل تازه تبدیل‌شده (برای استفاده Hashcat ) استفاده می‌شود و قسمت آخر دستور فایل PCAPNG است که می‌خواهیم تبدیل کنیم.

با اجرای این دستور باید خروجی زیر را داشته باشیم :

در اینجا ما بیست‌ویک PMKID را در مدت‌زمان کوتاهی جمع کرده‌ایم. اکنون می‌توانیم از فایل “galleriaHC.16800” در Hashcat برای کرک رمزهای عبور استفاده کنیم.

برای مشاهده و ثبت نام در دوره SANS 617 کلیک کنید

مرحله پنجم : انتخاب پسورد لیست مناسب برای burte-force با Hashcat

برای شروع هش‌های کپچر شده، باید یک لیست پسورد خوب و قوی انتخاب کنیم. برای شروع کار می‌توانید از SecList استفاده کنید. پس از انتخاب یک پسورد لیست قوی، آن را در همان پوشه فایل 16800. که تازه تبدیل کرده‌اید قرار دهید و سپس دستور زیر را در یک پنجره ترمینال اجرا کنید:

hashcat -m 16800 galleriaHC.16800 -a 0 –kernel-accel=1 -w 4 –force ‘topwifipass.txt’

در این دستور ، ما Hashcat را در حالت 16800 شروع می‌کنیم، که برای حمله به پروتکل‌های شبکه WPA-PMKID-PBKDF2 است. بعد از آن، ما نام فایلی را که می‌خواهیم کرک کنیم مشخص خواهیم کرد، در این حالت “galleriaHC.16800” است. سوئیچ -a به ما می‌گوید که از کدام نوع حمله استفاده کنیم، در این حالت یک حمله “stright” است و سپس با سوئیچ‌های -w و –kernel-accel=1 بالاترین مشخصات جریان کاری را مشخص می‌کنیم. در صورتی‌ که سیستم شما ازنظر عملکردی دچار مشکل شد، می‌توانید تعداد را در سوئیچ -w کاهش دهید.

در مرحله بعد، گزینه –force هشدارهای لازم برای ادامه حمله را نادیده می‌گیرد. و در قسمت آخر، ما فایل پسورد لیست را به‌منظور کرک پسورد تعیین می‌کنیم که این جا “topwifipass.txt” نام دارد.

بسته به قدرت سخت‌افزار سیستم شما و سایز پسورد لیست، تکمیل این فرایند ممکن است مدتی طول بکشد. برای مشاهده وضعیت در هر زمان، می‌توانید برای به‌روزرسانی کلید S را فشار دهید.

مرحله ششم : تفسیر نتایج

با کرک Hashcat، می‌توانید بررسی کنید و ببینید آیا کلیدهایی بازیابی شده‌اند یا خیر؟

هنگامی‌که پسورد لیست به انتهای خود برسد، Hashcat به‌طور خودکار میزان کار را تنظیم کرده و پس از کامل شدن، گزارش نهایی را به شما ارائه می‌دهد.

اگر موفق به کرک رمزهای عبور شده باشید، نتایج آن را در اینجا خواهید دید.

در انتها باید بگوییم که حمله PMKID Hashcat حملات WiFi را راحت‌تر می‌کند اما باید در نظر گرفت که حملات قبلی نیز همچنان مؤثر هستند و می‌توان از آن‌ها استفاده کرد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.