خیلی ها از افرادی که در زمینه کامپیوتری فعالیت میکنند، هکرها را افرادی میبینند که توانایی آن را دارند از طریق حملاتی چون SQLi و امثالهم (که همگی در لایه ۷ از مدل لایه ای شبکه OSI هستند) می توانند یک CMS را هک کنند و تمامی نفوذ را فقط و فقط در سطح همان لایه میبینند. این بار قصد داریم به لایه های پایین تر برویم ! برویم به لایه ۲ از مدل OSI، بله درست حدس زدید قرار است به شرح یک حمله در سطح لایه ۲ که همان پیوند داده ها (Data Link) است بپردازیم.
در سوییچ های لایه ۲ جدولی داریم به نام CAM(Content Addressable Memory) Table که در این جدول اطلاعات شبکه در سطح لایه ۲ نگهداری می شود. قبل از حمله و در حالت عادی در لایه دو، سوییچ هر فریمی را که دریافت می کنند بخش Source MAC از فریم را می خواند و متوجه می شود که برروی پورت دریافتی دستگاهی با چه MAC Address قرار دارد و همچنین مربوط به کدام Vlan است سپس آن را در جدولی که نام بردم CAM(Content Addressable Memory) Table درج میکند. هنگامی که CAM Table تکمیل شد، سوییچ براحتی میتواند بسته های دریافتی را به خروجی مناسب هدایت کند.
با اجرا دستور زیر در سوییچ می توانید جدول را ببینید :
DSW1#show mac-address-table Mac Address Table ------------------------------------------- Vlan Mac Address Type Ports ---- ----------- -------- ----- All 0014.6922.5440 STATIC CPU All 0100.0ccc.cccc STATIC CPU All 0100.0ccc.cccd STATIC CPU All 0100.0cdd.dddd STATIC CPU 1 0f08.0a01.9b54 DYNAMIC Fa0/1 1 0f08.0a02.42f9 DYNAMIC Fa0/2 Total Mac Addresses for this criterion: 26
اگر سوییچ فریمی را دریافت کند و MAC Address آن در جدول وجود نداشته باشد، سوییچ مانند Hub عمل میکند و فریم دریافت شده را برروی تمامی پورت های خود ارسال میکند. در شکل زیر بهتر متوجه این عمل خواهید شد، :
خوب در حالت نرمال پس از گذر از مراحل قبل (Learning) جدول کامل شده است.اگر اطلاعاتی برای سیستمی خاص در شبکه بخواهیم ارسال کنیم چون لایه دو هستیم و با فریم ها سروکار داریم، سوییچ مان تنها MAC Address را می شناسد، بعد از دیافت فریم و خواند بخش Des MAC و جستجوی آن در جدول پورت خروجی مناسب را برای هدایت فریم انتخاب میکند. این روند کار باعث شد تا سوییچ دارای Collision Domain Per Port شود.
حال اگر یک هکر قصد داشته باشد به شبکه مان حمله کند چه اتفاقاتی خواهد افتاد؟ Attacker می داند که حافظه برای ذخیره اطلاعات جدول محدود است، پس با ارسال فریم با Source MAC های جعلی سعی بر پر کردن این جدول میکند(در سوئیچ ۳۷۵۰ در حدود ۶۰۰۰ جای خالی وجود دارد).
هنگامی که جدول سرریز شود دیگر سوییچ مانند هاب عمل کرده و تمامی فریم ها را Broadcast می کند. Attacker چگونه این عمل را انجام میدهد ؟ توسط ابزارهایی که در ادامه یک نمونه آن معرفی می شود سعی بر ایجاد SOurce MAC های جعلی و ارسال سیل آسا آن به سمت سوییچ می کند. زمانی که جدول MAC Address هایمان پر شود و تمامی پورت های آن توسط ترافیک ورودی مشغول شد دیگر آدرس را نمی تواند در جدول خود براحتی پیداکند و مانند هاب عمل خواهد کرد. ابزارهای برای حمله تقریبا ۱۶۰,۰۰۰ فریم در دقیقه می توانند ایجاد کنند و برای سوییچ ارسال کنند که شامل Source,Destination MAC و IP Address بصورت رندوم می باشد.
ابزارهای مختلفی برای حملات لایه ۲ موجود است. همچنین براحتی می توانید توسط port security برروی اینترفیس ها در Cisco IOS و CatOS و … در برابر این نوع حمله محفوظ بمانید.