SNMP Enumeration چیست

SNMP enumeration چیستجمع آوری اطلاعات از پروتکل SNMPپروتکل SNMP چیستمخفف Simple Network Management Protocol می باشد، یک پروتکل درلایه 7مدل OSI یا همان Application-Layer که از پروتکل UDP به منظور حمل و نقل اطلاعات استفاده می کند این پروتکل وظیفه مانیتورینگ و مدیریت شبکه را برای ما فراهم میکند که با استفاده از آن ما می توانیم نظارات و مدیریت خوبی روی Device های موجود در شبکه خود داشته باشیمقابلیت فعال شدن بر روی Routerها، Hubها و Switch ها و سرور های شبکه را دارد پروتکل SNMP از UDP و از پورت 161 به منظور Send/Receive ( ارسال/دریافت) و از پورت 162 به منظور حمل و نقل و ردوبدل کردن اطلاعات استفاده میکنداین پروتکل از سه قسمت اصلی تشکیل میشود که به شرح زیر می باشند:Managed Device:به دستگاه ویا Host که تحت مدیریت می باشد و پروتکل SNMP بر روی آن فعال است گفته میشودSNMP Manager:به یک یا چندین دیوایس گفته میشود که وظیفه مانیتورینگ و دریافت اطلاعات را دارند که به اصطلاح به آن ها سرور مانیتورینگ نیز گفته میشودSNMP Agent:به منظور کنترل و مانیتور دیوایس های مد نظر خود می بایست بر روی آن ها یک SNMP Agent نصب کنید با دادن دسترسی های مختلف همانند Write امکان ادیت تنظیمات local سیستم های تحت مانیتور از طریق SNMP Manager وجود داردManagement Information Base ( MIB ):مجموعه اطلاعات و Object های یک سیستم تحت مانیتور که اطلاعات مورد نیاز SNMP Manager به منظور مدیریت و مانیتورینگ سیستم را در اختیارش قرار می دهد زمانی که SNMP Manager درخواست اطلاعات از آن سیستم کند، این اطلاعات را از MIB بازیابی و به سمت آن ارسال می کند‌.اسلاید زیر اجزای مختلف SNMP در TCP/IP را برای ما نشان می دهداسلاید زیر ارتباط Agent و SNMP Manager را برای ما نشان می دهدبریم سراغ مبحث اصلی موضوع مقاله یعنی SNMP Enumeration خب با پروتکل SNMP آشنا شدیدحال شما را کمی با مفهوم Enumeration آشنا خواهیم کرددر امنیت و مباحث تست نفوذ این مفهوم یکی از سرفصل های مهم و بزرگ به حساب میاید و از اهمیت بسیاری برخوردار استاز مفهوم انگلیسی آن شروع خواهیم کرددر واقع Enumeration در لغت به معنای سرشماری می باشدهمونطور که پیداست از مفهوم لغوی آن نمی توانیم به عمق وظیفه و کار آن پی ببریمبه زبان ساده به استخراج اطلاعات مختلف در شبکههمانند شماره Port های باز و Connection های در شبکه، Username ها، منابع موجود در شبکه، topology شبکه، و حتی منابع Share شده در شبکه را به ما می دهدالزام پیاده سازی صحیح یک عملیات Enumeration حداقل داشتن یک Connection بر روی سیستم هدف می باشد تا با ارسال درخواست های مختلف این اطلاعات از آن دریافت کنیمعملیات Enumeration هم در اینترنت هم در شبکه های Local قابل انجام است و فقد نیاز به یک Connection بر روی سیستم هدف می باشدانواع مختلفی از Enumeration وجود دارد که به شرح زیرمی باشندSNMP Enumeration NetBios Enumeration DNS Enumeration LDAP Enumeration و غیره‌.که در این مقاله ما قصد آموزش نحوه پیاده سازی SNMP Enumeration را داریمبرای پیاده سازی آن ابزار های مختلفی وجود دارد که ما SNMP-Check استفاده خواهیم کرد نکته: این ابزار در توزیع های امنیتی لینوکسی همچون Kali Linux به صورت پیش فرض نصب می باشدابزار SNMP-Checkاین ابزار به شما امکان پیاده سازی و انجام SNMP Enumeration را میدهد تحت لایسنس GPL برپایه Athena-2kکار های که این ابزار میتواند برای ما انجام دهد:*:contact*:description*:detect write access (separate action by enumeration)*:devices*:domain*:hardware and storage *:informations*:hostname*:IIS statistics*:IPforwarding*:listening UDP ports*:location*:motd*:mountpoints*:network interfaces*:network services*:processes*:routing information*:software components*:system uptime*:TCP connections*:total memory*:uptime*:user accountsبا زدن دستور snmp-chek -h در واقع دستورات و Syntax کار کردن با این ابزار به شکل زیر برای شما نشان داده میشود┌─[root@Parrot]─[~]└──╼ #snmp-check -hsnmp-check v1.9 - SNMP enumeratorCopyright (c) 2005-2015 by Matteo Cantoni (www.nothink.org) Usage: snmp-check [OPTIONS] <target IP address> -p --port : SNMP port. Default port is 161; -c --community : SNMP community. Default is public; -v --version : SNMP version (1,2c). Default is 1; -w --write : detect write access (separate action by enumeration); -d --disable_tcp : disable TCP connections enumeration! -t --timeout : timeout in seconds. Default is 5; -r --retries : request retries. Default is 1; -i --info : showscript version; -h --help : show help menu;نحوه بکارگیری آن به این صورت است:snmp-check 172.16.10.1 -c public به جای 172.16.10.1 می بایست IP Address هدف و یا Target مد نظر خود را وارد کنیدنویسنده:امیرحسین تنگسیری نژاد