بررسی آسیب پذیری های IOS ها و محصولات سیسکو
طبق مستندات و آمار های شرکت سیسکو ، بیشترین آسیب پذیری های موجود در IOS های سیسکو مربوط به عدم مدیریت درست بر روی حافظه و تخریب حافظه (memory corruption) می باشد. به عنوان مثال حملاتی که منجر به پر شدن buffer می شوند و به اصطلاح buffer overflow پیش می آید و این امر موجب تخریب حافظه و ممکن است منجر به reload شدن دستگاه می شود. علت اصلی reload شدن دستگاه ها در IOS های سیسکو به دلیل ساختار سیستم عامل آن می باشد. ساختار IOS سیسکو به صورت یکپارچه (monolithic) طراحی شده است و مشکل در یک قسمت منجر به crash کردن کل دستگاه می شود ولی در سیستم عامل های ماژولار چنین مشکلی وجود ندارد و مشکل در یک قسمت تنها منجر به عدم سرویس دهی همان ماژول خواهد شد . در تصویر زیر ، ساختار کلی سیستم عامل های روتر های مختلف را مشاهده میکنید.
همان طور که در تصویر بالا مشاهده میکنید ، به عنوان مثال در روتر جونیپر ، به وجود آمدن مشکل در ماژول ، باعث Crash شدن همان پروسه یا ماژول میشود ولی در سیسکو منجر به از کار افتاده کل دستگاه می شود که موجب reload شدن آن می شود.
Reload شدن دستگاه به طور موقتی باعث عدم سرویس دهی میشود و به نوعی حمله DOS پیش می آید اما در بعضی موارد میتواند تبعات دیگری نیز پیش رو دارد .به عنوان مثال ، یک آسیب پذیری شناخته شده در TFTP در IOS های سیسکو شناسایی شده است که شخص مهاجم میتواند از راه دور config مورد نظر خود را بر روی device آپلود کند . به تصویر زیر دقت کنید.
ابتدا مهاجم با استفاده از یک آسیب پذیری در حافظه NVRAM اختلال ایجاد میکند (قسمت1 ) . IOS پس از مشاهده مشکل در بخشی از حافظه، دستگاه را reload میکند (قسمت 2 ) . در قسمت 3 روتر نمیتواند config معتبری پیدا کند پس به bootp مراجعه میکند تا با استفاده از یک سرویس از راه دور بتواند یک config معتبر پیدا کند. پس به TFTP برای پیدا کردن کانفیگ معتبر مراجعه میکند. در این قسمت هکر ، config مورد نظر خود را با استفاده از آسیب پذیری موجود در TFTP ، به روتر اعمال میکند و روتر مورد نفوذ شخص مهاجم قرار میگیرد.
آسیب پذیری های مورد استفاده در این حمله
- Buffer overflow in IOS (11.1.x – 11.3.x)
- TFTP server for long file names
آسیب پذیری های ذکر شده ، جدید نیستند و عموما اکسپلویت آنها به صورت پابلیک وجود دارد. برای اطلاع از این موضوع میتوانید به سایت Exploit-db.com مراجعه کنید.
شرکت سیسکو به صورت دوره ای لیستی از حفره های موجود بر روی محصولات و IOS خود را در آدرس زیر قرار می دهد
http://tools.cisco.com/security/center/publicationListing.x
در این قسمت تنها به معرفی حفره های موجود و نسخه های آسیب پذیر و توضیحات لازم برای آنها داده شده است و همچنین patch شرکت سیسکو برای برطرف کردن حفره نیز ممکن است در این قسمت وجود داشته باشد اما راه کاری و یا اکسپلویتی برای استفاده ! از حفره موجود ارائه نمی دهد .
بخش دیگری در وب سایت سیسکو وجود دارد که میتوانید با استفاده از آن حفره های موجود بر روی محصول جاری خود را شناسایی کنید . این کار با دادن شماره نسخه IOS موجود امکان پذیر است . برای این کار به آدرس زیر مراجعه کنید
http://tools.cisco.com/security/center/selectIOSVersion.x
در صفحه ای که باز می شود با تصویری همانند تصویر زیر مواجه می شوید
که کافی است تا نسخه IOS خود را از منوی موجوی انتخاب کنید . اگر نسخه IOS محصول خود را نمیدانید ، پس به tab دوم یعنی show version مراجعه کنید.
حال باید به روتر یا سوئیچ خود مراجعه کنید و دستور show version را اجرا نمایید و نتیجه را به داخل کادر موجود کپی کنید . یک نمونه از دستور اجرا شده که به داخل کادر کپی شده است را مشاهده میکنید
بعد از اجرا لیستی از آسیب پذیری هایی که برای این نسخه از IOS وجود دارد را مشاهده میکنید .
حال برای آشنایی بیشتر با حفره های موجود بر روی IOS های سیسکو ، چند نمونه از آسیب پذیری هایی که در آخرین نسخه های IOS شرکت سیسکو که در تاریخ 26 سپتامبر 2012 توسط شرکت سیسکو منتشر شده است را به صورت جزیی تر بررسی می نماییم.دقت کنید که آسیب پذیری های زیر بر روی اکثر نسخه های IOS های سیسکو که تا سال 2012 منتشر شده اند وجود دارد . در صورتی که نسخه های خاصی آسیب پذیر نباشد در همان قسمت ذکر خواهند شد .
آسیب پذیری مربوط به پروتکل SIP ( session initiation protocol )
Cisco IOS Software Session Initiation Protocol Denial of Service Vulnerability
آسیب پذیری در این نسخه از پروتکل موجود در IOS وجود دارد که باعث می شود تا فرد مهاجم ، از راه دور device آسیب پذیر را reload کند . این امر در صورتی میسر است که device هدف ، پیام های SIP را پردازش کند و پروتکل SDP ( session description protocol ) هم فعال باشد.
آدرس مربوط به حفره موجود در وب سایت سیسکو
http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20120926-sip
شرکت سیسکو برای برطرف کردن این مشکل patch ارائه داده است اما راه حل مشابهی برای از بین بردن این خطر امنیتی وجود ندارد .
نکته : اصطلاحا راه حل های مشابهی با نام workaround وجود دارند که می توان یک خطر امنیتی را بدون اینکه IOS را بروزرسانی کرد ، برطرف کرد . به عنوان مثال اگر روتر در مقابل حمله خاصی آسیب پذیر باشد شاید بتوان پورت مورد استفاده در آن حمله را مسدود کرد تا مانع حمله شویم ولی آسیب پذیری همچنان پابرجاست. به این راه حل ها به اصطلاح workaround گفته می شود.
آسیب پذیری در Cisco Unified Communications Manager
Cisco Unified Communications Manager Session Initiation Protocol Denial of Service Vulnerability
این آسیب پذیری که مجددا در پروتکل SIP وجود دارد باعث می شود تا یک هکر از راه دور بتواند سرویس های مربوط به voice را از کار بیاندازد و موجب قطع ارتباط صوتی و سرویس های مربوط به voice شود . سیستم هایی شامل این آسیب پذیری می شود که پیام های SIP را پردازش نمایند. در واقع این آسیب پذیری زمانی اتفاق می افتد که Device آسیب پذیر، یک پیام جعلی SIP که حاوی یک پیام معتبر SDP است را پردازش کند . برای این آسیب پذیری نیز وصله مناسب از طرف سیسکو ارائه شده است.
آدرس مربوط به حفره موجود در وب سایت سیسکو
http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20120926-cucm.
نسخه های زیر از unified communication Manager آسیب پذیر هستند
• Cisco Unified Communications Manager 6.x
• Cisco Unified Communications Manager 7.x
• Cisco Unified Communications Manager 8.x
نکته : Cisco Unified Communications Managerبرنامه ای است که برای مدیریت IP telephony سیسکو استفاده می شود و قابلیت های گسترده ای را برای این منظور فراهم می کند.
آسیب پذیری در پروتکل BGP
Cisco IOS Software Malformed Border Gateway Protocol Attribute Vulnerability
یک آسیب پذیری شناسایی شده در پروتکل BGP در IOS های سیسکو وجود دارد که این آسیب پذیری زمانی فعال می شود که یک روتر از روتر همسایه اش یک پیام با attribute های نامناسب دریافت کند. این آسیب پذیری منجر می شود تا تمامیsession های مربوط به پروتکل BGP که با همسایگانش برقرار کرده است reset شود . اگر این نوع حمله مرتبا تکرار شود موجب می شود تا روتر نتواند در زمان همگرایی شبکه ، پکت ها را به روتر همسایه اش ارسال کند . سیسکو وصله مناسب برای مقابله با این حفره را منتشر کرده است .
آدرس مربوط به حفره موجود در وب سایت سیسکو
http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20120926-bgp
آسیب پذیری در NAT
Cisco IOS Software Network Address Translation Vulnerabilities
یک آسیب پذیری شناخته شده در NAT وجود دارد که منجر به حمله DoS می شود. این آسیب پذیری زمانی اتفاق می افتد که پکت ها در Device آسیب پذیر احتیاج به عمل translate دارند . اگر NAT بر روی روتر پیکر بندی شده باشد و فعال باشد آنگاه این آسیب پذیری وجود دارد ، در غیر این صورت این مشکل امنیتی وجود نخواهد داشت . البته این آسیب پذیری زمانی اتفاق می افتد که NAT پیام های SIP را پردازش میکند و این آسیب پذیری دقیقا زمانی پدیدار می شود که ویژگی NAT SIP ALG فعال باشد.
آدرس مربوط به حفره موجود در وب سایت سیسکو
http://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20120926-nat
بررسی ابزارهای تست نفوذ محصولات سیسکو
گروهی آلمانی با نام phenoelit ( فینولیت ) وجود دارد که به صورت تخصصی بر روی آسیب پذیری های IOS روترهای سیسکو و در کل محصولات سیسکو فعالیت میکند . در این قسمت ابزارها و حملاتی که این گروه برای روترهای سیسکو طراحی کرده است را بررسی میکنیم . برای اطلاعات بیشتر در مورد این گروه و فعالیت هایشان در مورد IOS های سیسکو میتوانید به آدرس زیر مراجعه کنید.
http://www.phenoelit.org
Internetwork Routing Protocol Attack Suite
این ابزار ( IRPAS ) که تحت سیستم عامل لینوکس نوشته شده است ، برای تست نفوذ به پروتکل های شناخته شده بر روی روترها استفاده می شود. پروتکل هایی که توسط این ابزار پشتیبانی میشوند شامل موارد زیر هستند
• CDP
• IRDP
• IGRP
• EIGRP (discovery)
• RIPv1 (discovery)
• RIPv2 (discovery)
• OSPF (discovery)
• HSRP
• DHCP DORA
• ICMP redirects
مستندات کامل مربوط به نحوه ی اجرای برنامه و ابزارهای آن را از آدرس زیر میتوانید مشاهده کنید
http://www.phenoelit.org/irpas/docu.html
لیست ماژول های این برنامه عبارت است از
-
cdp
This program is for sending CDP (Cisco router Discovery Protocol) messages to the wire. -
igrp
As the name suggests, this tool is for sending Interior Gateway Routing Protocol messages. -
irdp
As the name suggests, this tool is for sending ICMP router discovery protocol messages. -
irdpresponder
Waits for IRDP requests and sends out response packets to fool clients. -
ass
ASS is a Autonomous System Scanner. Because routing protocols use autonomous systems to distinguish between various routing "domains" and various ways to communicate, you need something which works like a TCP port scanner but knows more then one protocol. This is ASS. -
file2cable
sends out raw ethernet frames from files -
itrace
traceroute(1) by ICMP echo request -
tctrace
traceroute(1) by TCP SYN packets -
netenum
enumeration / ping-sweep tool -
netmask
ICMP netmask request -
protos
IP protocol scanner -
hsrp
HSRP takeover tool
بررسی ابزار Nipper
در این قسمت ابزاری با نام Nipper را بررسی میکنیم. Nipper ابزاری است که فایل پیکربندی تجهیزات شبکه را به عنوان ورودی دریافت کرده و بعد از بررسی موارد امنیتی آن ،یک گزارش کامل ایجاد میکند .گزارش ایجاد شده توسط Nipper شامل جزئیات کامل موارد امنیتی،خطرات بالقوه آنها ،درجه سهولت حمله ،توضیح مختصر روش حمله و در آخر پیشنهادی راه حلی برای رفع مشکل امنیتی موجود همراه با دستورات لازم میباشد . حال در این قسمت میخواهیم یک فایل config روتر سیسکو را به Nipper بدهیم و ملاحظات آن را مشاهده کنیم . این ابزار اکنون تجاری بوده و رایگان وجود ندارد . اما یک نسخه از آن در لینوکس بک ترک موجود است که میتوان از آن بهره گرفت . برای مشاهده راهنمای استفاده از آن دستور زیر را اجرا کنید.
root@bt:~# nipper --help
حال اگر بخواهیم یک فایل config روتر سیسکو را به ابزار بدهیم و خروجی آن را به صورت HTML داشته باشیم از دستور زیر استفاده میکنیم
root@bt:~# nipper --ios-router --input=ios.conf --output=report.html
این کامند ، یک فایل کانفیگ روتر با نام ios.conf را دریافت میکند و یک فایل خروجی با فرمت html تحویل میدهد . در این فایل خروجی ، ملاحظات امنیتی راجع به پیکربندی روتر با توجه به کانفیگ جاری ارائه میدهد