Geek

روز نوشت هایی در مورد امنیت

Geek

روز نوشت هایی در مورد امنیت

پیوندهای روزانه

بررسی آسیب پذیری های 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 تحویل میدهد . در این فایل خروجی ، ملاحظات امنیتی راجع به پیکربندی روتر با توجه به کانفیگ جاری ارائه میدهد


موافقین ۰ مخالفین ۰ ۹۳/۰۱/۲۲

نظرات  (۴)

رضاجان جالب بود وبسی فیض بردیم حاجی . خشته نباشی.
پاسخ:
مخلصم حمید جان .ممنون :)
بسیار عالیست و ممنون
بازهم جای کار داره

با سلام
رضا جان جالب بود.
کتاب cisco IOS exploitation خیلی روی این مباحث focus کرده من که ازش لذت بردم.
ممنون

سلام. ممنون بابت مطلب بسیار خوبتون.
شما فرمودید بیش ترین آسیب پذیری مربوط به مدیریت حافظه است اما این لینک اینترنتی، منع سرویس رو به عنوان بیش ترین آسیب پذیری مطرح کرده است: http://www.cvedetails.com/vendor/16/Cisco.html
اگر امکانش هست بفرمایید منبع شما چیه؟
سپاس فراوان
پاسخ:
ببینید منع سرویس به صورت کلی به این مفهوم هست "عملی که باعث عدم سرویس دهی سرویس دهنده ( در اینجا روتر ) بشه . حتی کشیدن عمدی یک روتر از برق ، خودش میتونه یه حمله DoS و عدم سرویس دهی روتر محسوب بشه . مشکلی که در نسخ قدیمی ios های سیسکو وجود داشت ( نسخه های قبل از XR و XE ) یکپارچه بودن ios بود که هر اشتباهی از طرف یکی از قسمت های برنامه منجر به تخریب حافظه میشد و در نتیجه ، بسته به نوع آسیب پذیری ، یا در همون لحظه ، یا در مرور زمان که حافظه قابل استفاده روتر به صورت کامل به اتمام میرسد ، روتر به صورت خودکار خودشو ریبوت میکرد . تو این وسط مهاجم هم میتونه بسته های مخرب رو مدام و پشت سر هم ارسال کنه تا memory leak سریع تر رخ بده و حافظه های قابل استفاده زودتر تموم بشه تا روتر ریبوت بشه . در نتیجه مهاجمی که بتونه بسته هایی ارسال کنه که باعث تخریب حافظه بشه و روتر رو مجبور به ریبوت کنه ، باعث حمله DoS شده . در لینکی هم که ارسال کردید دقیقا این موضوع صدق میکنه که میتونید هر اسیب پذیری رو به صورت جداگانه برای تصدیق توضیحات بالا چک کنید .
موفق باشید .

ارسال نظر

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