امنیت تجهیزات سیسکو
روشهای زيادی برای در دست گرفتن کنترل شبکه هايي که تجهیزات سیسکو استفاده می کنند وجود دارد. اغلب اين راه ها نتیجه ضعف دانش و یا غفلت مديران می باشد. ضعف های امنیتی کشف شده که در جهت دسترسی های غیر مجاز و يا از کار انداختن سرويس استفاده می شود موضوعات قابل بحث امروزه است.
تجهيزات سیسکو امروزه در اکثر شبکه ها مورد استفاده قرار مي گيرد از اینرو نقش بسيار مهمي را در ساختار شبکه بر عهده دارند و اغلب به صورت مستقیم مورد حمله قرار می گيرند.
محصولات سيسکو بيشتر توسط سرويس دهنده های اینترنت و یا بستر اصلی شبکه های مخابراتی مورد استفاده قرار مي گيرند.اگرچه این محصولات به صورت امن و مطمئن طراحی شده اند حمله به مسيریاب ها و سوئیچ های سیسکو تداوم دارد.دزدی های Source Code و اشکالات روی سیستم عامل تجهيزات سیسکو(IOS) اين حملات را شدت مي بخشد.
هدف حمله
سیستم عاملIOS(Internetworking Operating System) قلب تمامی محصولات سیسکو می باشد و وظیفه اصلی آن مسیر یابی بسته های اطلاعاتی در شبکه های بزرگ است.سيستم IOS دارای دستورات از پيش تعریف شده برای مدیریت سخت افزار مسیر یاب می باشد.مانند تمامی سيستم عامل ها IOS همراه با يکسري از ابزارها جهت اعمال تنظيمات مديریت و نگهداری دستگاه ها و روی Flash Memory و در قالب یک فایل که حاوی تمام عملیات مي باشد.
سه گروه اصلی سیستم در جدول شماره 1 نشان داده شده است.
شماره های نسخه انتشار یافته از دو قسمت تشکیل شده است:
یک شماره عددی مانند (11.1, 12.2) و درادامه یک عبارت الفبايي که مشخصات IOS را تشریح می کند:
• T – bug fixes and new functionality,
• S – bug fixes and high performance routing support,
• E – backbone network devices, advanced Quality of Service functions, voice services support, security,
• B – bug fixes, broadband services support.
برخی از نسخه ها نیز برای موارد خاص تولید شده اند، مانند:
• A – access routers, dial-up connections
• D – xDSL,
• H – SDH/SONET,
• J – Aironet wireless technologies,
• M – Mobile Wireless,
• W – ATM / LAN, layer 3 switching.
هنگامی که در مورد مسيریاب و یا سوئیچ صحبت می شود نکته مهم حفظ فايل تنظیمات می باشد. هر مسيریاب با دو فایل کار می کند running-config و startup-config. فایل اول دارای تنظيمات فعلی و بعدی حاوی تنظیماتی است که دستگاه در هنگام روشن شدن مجدد از آن استفاده می کند.
بالای صفحه
شناسايي سیستم
برای داشتن حمله موفق ، یک هکر می بایست تا حد امکان اطلاعات مورد نیاز خود را درباره مقصد خود دریافت کند. شناسايي سیستم مرحله پایه و آساني می باشد. واز 3 مرحله تشکيل شده است:
• Building a list of hosts in the target network,
• Acquiring information about services provided by the target machine,
• Identification of the target machine””””s operating system (fingerprinting).
تجهيزات سيسکو به صورت عمومی در شبکه سرویس دهنده های اينترنت استفاده شده است. یک نفوذ گر می تواند از ابزار mtr برای تست ساده استفاده کند.در مثال زیر(Listing 1) ایستگاه کاری cisco.provider.net هدف حمله ما می باشد.
هنگامی که در مسيریاب های سيسکو در این راه مانند ديگر دستگاه ها می باشند.يک راه ساده و موثر برای تشخیص نسخه IOS مسيریاب استفاده از برنامه Nmap می باشد.Nmap یک پویشگر درگاه های کامپیوتر مي باشد که قابليت مشخص کردن نسخه سیستم عامل(fingerprinting) از راه دور را نیز دارد. اگر اين ابزار گزارشی مبنی بر باز بودن پورت فعال HTTP.Services .Telnet Finger از کامپيوتر مقصد ارائه کند (Listing 2) دراین حالت امکان این که هدف مورد نظر یک دستگاه سِسکو باشد بسيار است. اين پویشگراطلاعات دقیق تری را در مورد نسخه نرم افزار و سخت افزار مورد استفاده روی مسير یاب نشان مي دهد.
تشخیص و کاوش درضعفهای امنیتی IOS سيسکو
پس از جمع آوری اطلاعات دقیق در مورد دستگاه هدف، نفوذ گر می تواند ضعف های امنیتی سیستم عامل سیسکو را پیدا کرده و به آنها حمله کند.این مرحله، از بخش جمع آوری اطلاعات سخت تر و زمان بر می باشد. (Figure 1)
البته نمی توان از تمامی ضعف های امنیتی برای حمله استفاده کرد. واین به دلیل وجود مفهومی بنام ACL در مسیریاب می باشد. این مفهوم به نام فیلتر بسته های اطلاعاتی (Packet Filtering)مشهور است. لیست های دسترسی(Access List (ACL)) می توانند نوع پروتکل- آدرس و پورت مبداء- آدرس و پورت مقصد را مشخص و کنترل کنند.مدیران شبکه می توانند راجع به چگونگی ورود و یا عدم ورود یک بسته اطلاعاتی با استفاده از این لیست های دسترسی تصمیم گیری کنند.لیست های دسترسی پیشرفته(Extended ACL) دارای قابلیت های بیشتری هستند. تنظیم کارآمد لیست های دسترسی از حمله به شبکه و حتی در تشخیص نوع سیستم عامل مسیریاب موثراست.
قدم اول:
بیشترین نوع خطراتی که مورد استفاده نفوذ گرها قرار می گیرد استفاده از سرویس HTTP موجود روی سیستم عامل مسیریاب است که به صورت پیش فرض فعال می باشد. در این مرحله نحوه حمله به یک مسیریاب را بررسی می کنیم و برای این منظور توسط مرورگر اینترنت(Internet Explorer) به مسیریاب متصل می شویم.
نتیجه این کار مانند شکل زیر خواهد بود:
یک نفوذ گر می تواند همین کار را با اندکی تغییر انجام دهد.او می تواند این مرحله از کنترل نام و کلمه عبور را لغو کند. پس از این کار پیغام خطا روی صفحه ظاهر می شود در این حالت اگر نفوذگر درخواستی را که محل قرار گیری آن روی مسیریاب درست می باشد به آن ارسال کند، می تواند صفحه ای که شامل اطلاعات مسیر یاب می باشد را دریافت کند. مراحل این کار در مثال زیر قابل بررسی می باشد. این دستور توسط مرورگر وب به مسیریاب ارسال می شود:
http://192.168.0.2/level/16/exec/show/config
در صورتی که پیغام خطایی ظاهر شد می توان در مرحله بعد با سطح کنترل بیشتری این دستور را اجرا کرد.
http://192.168.0.2/level/17/exec/show/config
پنجره تنظیمات مسیریاب برای نفوذگر باز شده و هکر می تواند تنظیمات مسیریاب را تغییر دهد.
این مشکل امنیتی روی سیستم عامل نسخه 11.3 تا 12.2 وجود دارد.در صورتی که از سرورهای کنترل صحت کاربر استفاده شود می توان خطرات ناشی از حملات HTTP را تا حد زیادی کاهش داد. اگر دستگاه هدف دارای این ضعف امنیتی باشد پیغام زیر نمایش داده می شود:
All done
16 exploitable levels
هکرمی تواند با ارسال دستور زیر به HTTP سرور در پنجره مربوطه ، تنظیمات مسیریاب را تغییر دهد.
http:///level/99/exec/show/config
SNMP (Simple Network Management Protocol) برای مديريت و کنترل شبکه های کامپيوتری براساس IP می باشد.SNMP بر اساس گزارش هايی که از دستگاه های شبکه ، که نرم افزار عامل (Agent) روی آنها فعال شده است ،کار مي کند و اطلاعات مربوط به هر دستگاه را جمع آوری می کند.
برای جواب دادن به سوال- عامل SNMP(SNMP Agent) به MIB(Management Information Base) رجوع مي کند.
MIB یک پايگاه داده استاندارد مي باشد، که اطلاعاتی در مورد دستگاه های مختلف و تنظيمات آنها دارد. دسترسي به MIB توسط رمز عبوری که به Community String معروف می باشد ، ممکن است.
این رشته کلمه عبور ،از دو رمز عبوری تشکيل شده است: يکی برای خواندن که با RO مشخص مي شود و ديگری برای خواندن ونوشتن که با RW نشان داده می شود.برای دریافت آسان تر اطلاعات خاص OID(Object IDentifiers) ایجاد شد که شامل یکسری عدد می باشد.در مثال زیر تلاش برای خواندن MIB از یک دستگاه سيسکو که دارای OID .1.3.6.1.2.1.1.1.0 می باشد انجام شده است.
در دستور snmpget از بسته ucd-snmp استفاده شده است ، که اجازه خواندن هر نوع OID از MIB هر دستگاه به کاربر می دهد.
Snmpget 192.168.0.2 \
Cisco .1.3.6.1.2.1.1.1.0
system.sysDescr.0 = Cisco
Internet work Operating
System Software IOS ™ 7200
Software (C7200-IS-M),
Version 12.3(5a), RELEASE SOFTWARE (fc1)
Copyright (c) 1986-2003
By Cisco Systems, Inc.
Compiled Mon 24-Nov-03 21:24
By kellythw
مشابه این روش ، هکر می تواند با تغییر OID ، اطلاعات بیشتری از تنظیمات دستگاه را دریافت کند.
ازکجا می توان Community String را پیدا کرد؟
هکر چه کاری می تواند انجام دهد اگر کلمه عبور Community String را نداشته باشد. وقتی ابزارهای پویش پورت ، گزارشی از باز بودن پورت 161 می دهد، روش Brut force می تواند راهی برای یافتن این کلمه عبور باشد. حمله می تواند توسط برنامه ADMsnmp اجرا شود.
این پویشگر عمل بازرسی روی امنیت SNMP را انجام می دهد.روش کار این نرم افزار توسط انجام Brute Force attack روی Community Sting و با استفاده از Dictionary هایی که نرم افزار از آن استفاده می کند ، می باشد.
جدول شماره 6 نشان دهنده نحوه عملکرد این نرم افزار می باشد.لغت نامه ای که شامل دهها هزار کلمه برای Community String می باشد، شانس بیشتری را برای بدست آوردن این کلمه عبور، به هکر می دهد.
اطلاعات دریافتی از SNMP
اولین چیزی که هکر بعد از بدست آوردن Community String انجام می دهد ، خواندن MIB دستگاه است. این کار توسط بسته Ucd-snmp انجام می شود.از دستور Snmp-Walk برای خواندن OIDهای داخل MIB استفاده می شود.
این دستور دو پارامتر آدرس و Community String را برای اجرا نیاز دارد. لیست شماره 7 نمومه استفاده ار دستور بالا را نشان می دهد.
احتمالات بیشتر:
پروتکل SNMP در صورت عدم تنظیم صحیح و یا پیاده سازی نادرست، می تواند برای امنیت شبکه مشکلات اساسی را در پی داشته باشد.
اولین نسخه SNMP (SNMP v1) کلمه عبور را به صورت Clear Text در شبکه ارسال می کرد و هر کسی با داشتن یک Sniffer روی شبکه به راحتی می توانست این کلمه را دریافت کرده و به تجهیزات شبکه متصل شده و تنظیمات آنها را تغییر دهد. نسخه های بعدی SNMP (V2,V3) از رمزنگاری Community String استفاده می کند.
اکثر مدیران شبکه توجه کافی به نحوه تنظیمات این پروتکل ندارند و معمولا با کلمه های عبوری پیش فرض راه اندازی می شوند(RO:Public,RW:Private).
بیشتر دستگاه ها با IOS های قدیمی تر از 12.0 دارای Community String پیش فرض برای RO که ILMI می باشد ، هستند.