CCNPآموزش شبکه

حمله CAM MAC Table OverFlow Attack در سوئیچهای سیسکو

Upgrade Firmware on a Switch through the CLI - آپدیت IOS

CAM MAC Table OverFlow Attack | سوئیچهای سیسکو برای هدایت فریم‌های داده به پورت مورد نظر از جدولی به نام جدول CAM که مخفف Content Addressable Memory است استفاده می‌کنند. وظیفه این جدول نگهداری تناظر بین آدرس مک و پورت سوئیچ است. به عنوان مثال اگر کامپیوتر A به پورت 1 سوئیچ متصل باشد، سوئیچ با دریافت اولین فریم از کامپیوتر A در جدول CAM خود سطری را مبنی بر اینکه آدرس مک کامپیوتر A از طریق پورت 1 قابل دسترس است، ایجاد می‌کند.

CAM Table - CAM MAC Table OverFlow Attack
CAM Table – CAM MAC Table OverFlow Attack
MAC Table - CAM MAC Table OverFlow Attack
MAC Table – CAM MAC Table OverFlow Attack
CAM MAC Table OverFlow Attack
CAM MAC Table OverFlow Attack

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

Switch#show mac address-table
          Mac Address Table
-------------------------------------------


Vlan    Mac Address       Type        Ports
----    -----------       --------    -----


Switch#show mac address-table
          Mac Address Table
-------------------------------------------


Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0050.7966.6800    DYNAMIC     Gi0/0
Total Mac Addresses for this criterion: 1


Switch#show mac address-table
          Mac Address Table
-------------------------------------------


Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0050:7966.6800    DYNAMIC     Gi0/0
   1    0050.7966.6801    DYNAMIC     Gi0/1
Total Mac Addresses for this criterion: 2

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

برای مقابله با این خطر امنیتی موثرترین راه جلوگیری از پر شدن جدول CAM است، برای این کار با استفاده از ویژگی port security در سوئیچهای سیسکو می‌توان تعداد آدرسهای مکی که سوئیچ روی هر پورت می‌تواند یاد بگیرد و در جدول CAM خود وارد کند را محدود کرد. به عنوان مثال می‌توان تنظیم کرد که سوئیچ بر روی یک پورت می‌تواند حداکثر 5 مک آدرس رو یاد بگیرد و در صورتی که فریمی با ششمین آدرس مک متفاوت وارد پورت شود، سوئیچ به این امر واکنش نشان دهد. این واکنش می‌تواند یکی از موارد زیر باشد:

  • shutdown: این واکنش که رفتار پیش فرض نیز هست به این معناست که سوئیچ پورت را غیر فعال می‌کند. برای فعال شدن مجدد پورت نیاز است مدیر شبکه این کار را انجام دهد.
  • restrict: در این حالت سوئیچ فرمهای با مک آدرس ششم را drop می‌کند و پیامهای syslog و SNMP برای مدیر شبکه ارسال می‌کند.
  • protect: در این حالت سوئیچ فرمهای با مک آدرس ششم را drop می‌کند اما هیچ گونه پیامی ارسال نمی‌کند.

انجام حمله CAM MAC Table OverFlow Attack

برای انجام این حمله و تست امنیت شبکه خودتان می‌توان از ابزار macof در لینوکس استفاده کرد، ما برای انجام این کار از لینوکس Kali که یک توزیع محبوب از لینوکس برای انجام تست نفوذ و تستهای امنیتی است استفاده کرده‌ایم. برای مشاهده سوئیچهای مختلف فرمان macof میتوانید از علامت سوال استفاده کنید.

root@kali:~# macof ?
Version: 2.4
Usage: macof [-s src] [-d dst] [-e tha] [-x sport] [-y dport]
[-i interface] [-n times]
برای پیدا کردن واسط شبکه متصل به سوئیچ از فرمان ifconfig استفاده میکنیم.
root@kali:~# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.131  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::20c:29ff:fea9:2cf9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:a9:2c:f9  txqueuelen 1000  (Ethernet)
        RX packets 4881  bytes 304712 (297.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 31634  bytes 4203161 (4.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

در نهایت با استفاده از سوئیچ i- به همراه نام واسط شبکه فرمان macof را اجرا می‌کنیم.

root@kali:~# macof -i eth0

سیسکو قابلیتی تحت عنوان Port-Security را برای مقابله با این حمله ارائه داده است

switch#:enable

switch#:configure terminal

switch(config):interface Ethernet/0

switch(config-if):switchport port-security maximum 2

 

در کانفینگ بالا به در سوییچ سیسکویی خود به interface eth0/0 رفتیم و با دستور بالا تعداد Mac address های که مجاز به وارد شوند به این interface هستند فقط دوتا می باشد

نکته: این تعداد از 1 تا 4097 قابل افزایش است

Shares:

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *