حمله دزدیدن درگاه switch

تاریخ انتشار : 1399/05/25 | نویسنده : _SHRoot_

حمله دزدیدن درگاه switch

در این post می خواهیم راجع به حمله ی network ای به نام “Switch port stealing” صحبت بکنیم. اما قبل از این که راجع به مفهوم این حمله توضیح بدهیم یک مقداری عملکرد یک switch را با هم بررسی و مرور می کنیم.

حمله Switch Port Stealing:

همان طور که می دانید، یک بسته ارسالی در شبکه از دو بخش فرستنده و گیرنده تشکیل شده است. اطلاعاتی که switch به کمک آن می تواند تصمیم بگیرد که این بسته networkای که به دستش رسیده را چجوری باید تحویل مقصد بدهد، آدرس MAC مقصد هست و همان طور که می دانید آدرس MAC هر دستگاه یک مقدار unique می باشد. به عبارتی در switch ها برخلاف Hub ها یک جدولی وجود دارد که مشخص می کند هر MAC به کدام port از switch متصل شده است. بنابراین وقتی یک بسته به دست switch می رسد که باید آن را تحویل مقصد بدهد، به اطلاعات آدرس MAC مقصد آن بسته نگاه می کند و چنان‌چه آدرس MAC ملاحظه شده را در جدول خود داشته باشد، بسته را تحویل port متناظر با آن آدرس MAC می دهد.

در حمله ی port stealing همان طور که از اسمش پیداست، هدف مهاجم این هست که port ای که سیستم قربانی از طریق آن به switch وصل شده را بدزدد! دزدیدن port یک قربانی به این معناست که تغییراتی در switch به وجود آید که ترافیک‌های ارسالی برای port ای که قربانی با آن به switch متصل شده، برای مهاجم ارسال شود.

برای درک بهتر این موضوع ابتدا فرض کنید که مهاجم سیستم خود را به همان switch ای که سیستم قربانی به آن متصل شده است وصل می کند:

 

 

در این حالت با توجه به ویژگی جدولی که از switch گفتیم، به صورت پیش فرض مهاجم قادر نیست ترافیک های دریافتی و ارسالی قربانی را مشاهده کند. اما اگر مهاجم ترافیک های جعلی برای switch بفرستد که در آن ها آدرس MAC قربانی (v_mac) را به عنوان آدرس MAC سیستم خودش معرفی کرده باشد، آن وقت switch با حالتی مواجه می شود که دو port از port هایش یک آدرس MAC را دارند! در صورتی که قبلاً هم اشاره کردیم که هیچ دو دستگاهی یک آدرس MAC نخواهند داشت و MAC ها کاملاً برای هر دستگاه یکتا هست! در چنین شرایطی switch اگر بسته ای برای مقصد MAC: v_mac دریافت بکند، آن را تحویل port ای می دهد که آخرین نفر به عنوان صاحب v_mac خود را به switch معرفی کرده باشد. برای همین یک اصطلاحاً شرایط مسابقه ای بین مهاجم و قربانی ایجاد می شود که برنده ی آن می تواند ترافیک های ارسال شده برای v_mac را دریافت کند.

برای این که مهاجم بتواند برنده مسابقه ایجاد شده بین خود و قربانی شود باید به صورت پیوسته و در تعداد بالا بسته های جعلی خود را برای switch بفرستد. اینجوری با احتمال بیشتری آخرین سیستمی که خود را به عنوان صاحب v_mac به switch معرفی کرده است، مهاجم خواهد بود. بعد از این که مهاجم با اجرای حمله ی مذکور ترافیک های ارسالی برای قربانی را در اختیار گرفت، هم می تواند ترافیک را نزد خود نگه داشته و به طور کل برای قربانی نفرستد، هم می تواند برای مدت کوتاهی ارسال بسته های جعلی خود را به switch متوقف کند و با ایجاد یک درخواست ARP برای مقصد اصلی بسته های دریافتی جدول switch را تغییر دهد تا دوباره port واقعی قربانی به عنوان صاحب v_mac در جدول switch قرار بگیرد، سپس بسته ی قربانی را برای وی ارسال کند. در نتیجه بسته های ارسالی برای قربانی، با مقدار کمی تأخیر به دستش خواهد رسید که بدین ترتیب دیگر متوجه این که مهاجم ترافیک هایش را در اختیار گرفته است هم نخواهد شد.

البته این نکته را هم باید بگوییم که لازمه ی اجرای حمله ی port stealing این هست که تنظیمات switch به گونه ای باشد که جدول MAC address آن به صورت پویا به روز رسانی و پر شود که البته با توجه به ساختار شبکه‌های امروزی در اکثر شبکه ها همین طور هم هست.

حالا که با مفهوم حمله ی port stealing آشنا شدیم، در بخش بعدی می بینیم که چجوری می شود با ابزار Ettercap این حمله را به صورت اتوماتیک پیاده سازی کرد.

 

اجرای حمله:

مهاجم می بایست ابزار Ettercap را که برای اجرای اتوماتیک حملات لایه دو بسیار کارآمد هست، اجرا بکند. کافی است مهاجم پس از به دست آوردن لیستی از host های موجود و اضافه کردن آدرس IP قربانی به عنوان target، از منوی حملات MitM این ابزار گزینه “Port Stealing” را انتخاب بکند:

 

بعد از انتخاب گزینه مذکور، در پنجره باز شده نیز گزینه “sniff remote connections” را انتخاب کند:

 

 

بعد از انتخاب گزینه sniff remote connections حمله ی port stealing شروع می شود و مهاجم قادر است بعد از اجرای موفقیت آمیز آن، ترافیک های مربوط به قربانی خود را در اختیار بگیرد که به عنوان نمونه در تصویر زیر، مشاهده می شود که چگونه مهاجم نام کاربری و رمز عبور پنل مورد استفاده ی قربانی را در اختیار گرفته است:

 

 

نمونه ای از اجرای حمله switch port stealing را در ویدئو زیر می توان مشاهده نمود.