jmp Ring_ZerO

; go to ring zero
نوشته شخصی و فنی

jmp Ring_ZerO

نوشته شخصی و فنی

  • ۰
  • ۰

Hacker

خیلی ها از افرادی که در زمینه کامپیوتری فعالیت میکنند، هکرها را افرادی میبینند که توانایی آن را دارند از طریق حملاتی چون 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 عمل میکند و فریم دریافت شده را برروی تمامی پورت های خود ارسال میکند. در شکل زیر بهتر متوجه این عمل خواهید شد، :

Switch as hub empty mac address table

سیستم A میخواهد داده ای را برای سیستم B بفرستد ولی پورتی برای آن در جدول تعریف نشده است پس فریم دریافتی را Broadcast میکند. فریم برای سیستم c هم ارسال می شود، ولی چون Des MAC (آدرس mac مقصد) با سیستم c یکسان نیست متوجه خواهد شد که فریم دریافتی متعلق به او نیست بنابراین فریم را از بین خواهد برد.
خوب در تصویر بالا میبینید که بسته ای از سیستم B دریافت شده است، ابتدا Source MAC را میخواند در جدول وجود ندارد پس آن را درج می کند.سپس Des Mac را میخواند که مربوط به سیستم A می باشد و رکوردی برای آن در جدول وجود دارد بنابراین فریم را به خروجی مناسب هدایت میکند. حال که رکوردی برای سیستم B در جدول وجود دارد پس دیگر عمل Broadcast انجام نخواهد شد:
Switch learning mac address populating table

 

خوب در حالت نرمال پس از گذر از مراحل قبل (Learning) جدول کامل شده است.اگر اطلاعاتی برای سیستمی خاص در شبکه بخواهیم ارسال کنیم چون لایه دو هستیم و با فریم ها سروکار داریم، سوییچ مان تنها MAC Address را می شناسد، بعد از دیافت فریم و خواند بخش Des MAC و جستجوی آن در جدول پورت خروجی مناسب را برای هدایت فریم انتخاب میکند. این روند کار باعث شد تا سوییچ دارای Collision Domain Per Port شود.

3-Switch-acts-like-switch-mac-address-table-complete

 

حال اگر یک هکر قصد داشته باشد به شبکه مان حمله کند چه اتفاقاتی خواهد افتاد؟ Attacker می داند که حافظه برای ذخیره  اطلاعات جدول محدود است، پس با ارسال فریم با Source MAC های جعلی سعی بر پر کردن این جدول میکند(در سوئیچ ۳۷۵۰ در حدود ۶۰۰۰ جای خالی وجود دارد).

 

Switch Mac flooding attack

هنگامی که جدول سرریز شود دیگر سوییچ مانند هاب عمل کرده و تمامی فریم ها را Broadcast می کند. Attacker چگونه این عمل را انجام میدهد ؟ توسط ابزارهایی که در ادامه یک نمونه آن معرفی می شود سعی بر ایجاد SOurce MAC های جعلی و ارسال سیل آسا آن به سمت سوییچ می کند. زمانی که جدول MAC Address هایمان پر شود و تمامی پورت های آن توسط ترافیک ورودی مشغول شد دیگر آدرس را نمی تواند در جدول خود براحتی پیداکند و مانند هاب عمل خواهد کرد. ابزارهای برای حمله تقریبا ۱۶۰,۰۰۰ فریم در دقیقه می توانند ایجاد کنند و برای سوییچ ارسال کنند که شامل Source,Destination MAC و IP Address بصورت رندوم می باشد.

 

Switch mac address table full of bogus mac addresses acts like a hub

 ابزارهای مختلفی برای حملات لایه ۲ موجود است. همچنین براحتی می توانید توسط port security برروی اینترفیس ها در Cisco IOS و CatOS و …  در برابر این نوع حمله محفوظ بمانید.

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی