
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 -h
snmp-check v1.9 - SNMP enumerator
Copyright (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 مد نظر خود را وارد کنید
نویسنده:امیرحسین تنگسیری نژاد