منو

Enumeration با استفاده از پروتکل SNMP

قطعا اگر این مطلب را در مورد هک و امنیت مطالعه می کنید با کاربرد پروتکل SNMP آشنایی دارید اما بصورت خلاصه SNMP یک پروتکل لایه Application است که بصورت UDP کار کرده و برای مدیریت و نگهداری تجهیزاتی مثل روتر ، سویچ ، فایروال ، UPS و تجهیزاتی از این قبیل مورد استفاده قرار می گیرد. SNMP دارای یک سری Agent می باشد که بر روی سخت افزارهایی که در شبکه مبتنی بر پروتکل IP فعالیت می کنند فعال شده و اجرا می شود ، طبیعتا چنین Agent هایی برای سیستم عامل های ویندوز و خانواده لینوکس نیز طراحی و وجود دارند و این پروتکل منحصر به استفاده در تجهیزات نمی باشد.

بر اساس تعاریفی که تا کنون از فرآیند Enumeration در هک قانونمند داشته ایم تعریف واژه SNMP Enumeration بدست آوردن اطلاعات حسابهای کاربری و تجهیزات و و حتی Process هایی است که بر روی کامپیوتر هدف وجود دارند ، می باشد. دو نوع جزء نرم افزاری در زمانیکه شما با استفاده از پروتکل SNMP ارتباط برقرار می کنید بکار گرفته می شوند که اولین جزء SNMP Agent و دومین آن SNMP Management Station می باشد. SNMP Agent در واقع قسمتی از این پروتکل است که بر روی سخت افزارها و سیستم عامل ها فعالیت می کند و گزارش ها را دریافت و ارسال می کند و SNMP Management Station جزئی است که اطلاعات را از Agent دریافت و به کاربر نمایش می دهد ، به زبان ساده Station همان نرم افزار مانیتورینگی است که شما در شبکه معمولا استفاده می کنید.

تقریبا همه دستگاه ها و تجهیزاتی که در شبکه های امروزی مورد استفاده قرار می گیرند از SNMP پشتیبانی می کنند و دارای SNMP Agent می باشند و به همین طریق قابل مدیریت و نظارت توسط SNMP Management Station می باشند. مکانیزم کاری بسیار ساده است ، SNMP Management Station درخواست خودش را به سمت دستگاهی که SNMP Agent دارد ارسال می کند و دستگاه بعد از پردازش درخواست توسط SNMP Agent پاسخ مناسب را به سمت Management Station ارسال می کند. هم درخواست ها و هم پاسخ ها در واقع تنظیماتی هستند که بر روی نرم افزار Agent انجام می دهیم. البته در نظر داشته باشید که برخی متغیرها توسط SNMP Management station قابل تغییر هستند و پیکربندی می شوند. تقریبا هر اتفاق یا رویدادی که بر روی SNMP Agent رخ بدهد برای Management Station ارسال می شود از کوچکترین خطاهای سیستمی گرفته تا Reboot شدن سیستم یا هر اتفاق دیگر به اطلاع سیستم مدیریتی و نظارتی SNMP می رسد. SNMP دارای دو پسورد است که ما آنها را به نام Community String می شناسیم و هر دوی آنها می توانند هم برای دسترسی و هم برای انجام تغییرات بر روی SNMP Agent مورد استفاده قرار بگیرند ، این پسوردها به عنوان Read Community و Read//Write Community شناسایی می شوند.

Read Community String همانطور که از نامش پیداست فقط برای ارسال درخواست از طریق سیستم مدیریتی و دریافت پاسخ از Agent مورد استفاده قرار می گیرد و هیچ کاربردی در خصوص انجام تغییرات بر روی دستگاه ندارد ، در واقع این نوع پسورد بیشترین استفاده را در SNMP دارد و صرفا جنبه اطلاع رسانی و مدیریتی و نظارتی دارد ، تمامی تنظیمات سیستم Agent با این روش و با این پسورد قابل مشاهده و نظارت است. اما Read//Write Community String همانطور که مجددا از نامش پیداست هم قابلیت های Read Community String را دارد و هم این امکان را دارد که تغییراتی را بر روی سیستم Agent اعمال کند . معمولا از Read Community به عنوان رشته عمومی یا Public و از Read//Write Community به عنوان رشته خصوصی یا Private نام برده می شود.

در بیشتر موارد به دلیل سهل انگاری مدیرهای شبکه Community String ها بعد از فعال سازی این سرویس تغییر نمی کنند و بصورت پیشفرض وجود دارند و در اصطلاح فنی Default Password هستند. در اینجاست که مهاجمین می توانند با استفاده از این آسیب پذیری و اتصال به سیستم ها اطلاعات بسیار مفید و کاربردی از سیستم هدف به دست بیاورند که در فرآیند Enumeration می تواند بسیار موثر باشد. اگر سهل انگاری مدیر تا حدی باشد که پسورد Read//Write Community را نیز بصورت پیشفرض فعال کرده باشد این احتمال برای مهاجم وجود دارد که حتی بتواند پیکربندی سیستم مورد نظر را نیز تغییر بدهد . اطلاعاتی از قبیل تنظیمات و پیکربندی دستگاه ، Share های شبکه ، مسیریاب ها ، منابع شبکه و … حتی ARP Table و Routing Table و … در سوء استفاده کردن از این سرویس قابل دستیابی برای مهاجمین می باشد. دسترسی به اطلاعات مربوط به SNMP با استفاده از ابزارهای بسیار زیادی ممکن است که یکی از انها که برای SNMP Enumeration بصورت ویژه مورد استفاده قرار می گیرد SNMPUtil می باشد .

دسته بندی ها: امنيت

دیدگاه ها