جاسوسِ خاموش شبکه

وقتی شبکه خودش دهن‌لقه، راضی نیستیم بخدا!

snmp enumeration

👽ببین رفیق، تو دنیای شبکه یه پروتکل داریم به اسم SNMP (یا همون Simple Network Management Protocol) که روی پورت UDP 161 می‌شینه. کارش چیه؟ کارش مدیریت و نظارت بر دستگاه‌های شبکه است؛ از روتر و سوییچ گرفته تا سرور و پرینتر و حتی این دستگاه‌های IoT جدید.

👀این پروتکل مثل یه مدیر داخلیه که هی میره به کارمندا (دستگاه‌ها) سر میزنه و میگه: “چطوری؟ رم کم نیاوردی؟ سی‌پی‌یو داغ نکرده؟ کی بهت وصله؟”.

🥸حالا داستان ترسناک کجاست؟ اگه این مدیر داخلی رو درست توجیه نکرده باشن (کانفیگ غلط)، هر غریبه‌ای (هکر) می‌تونه بیاد ازش سوال بپرسه و اونم صاف و پوست‌کنده کل اطلاعات محرمانه شبکه رو میذاره کف دستش! این یعنی SNMP Enumeration.


🤐قفل‌های شیشه‌ای:

نسخه‌های SNMP و Community Strings

کلاً ما سه تا نسخه اصلی از SNMP داریم که دونستنشون حیاتیه:

  1. SNMPv1 و SNMPv2c (پیرمردهای پرحاشیه): اینا خیلی رایجن ولی امنیتشون در حد صفره! چرا؟ چون از یه چیزی به اسم Community String استفاده می‌کنن که مثل رمز عبور عمل می‌کنه ولی یه بدی بزرگ داره: اطلاعات رو رمزنگاری نمی‌کنه (Plaintext).
  • معمولاً دو تا رشته معروف داریم:
  • public: دسترسی فقط خواندنی (Read-only).
  • private: دسترسی خواندن و نوشتن (Read-write) -> این یعنی فاجعه!
  • اگه ادمین شبکه تنبلی کرده باشه و اینا رو عوض نکرده باشه، هکر با یه “سلام” (public) وارد میشه.
  1. SNMPv3 (نسخه عاقل): این نسخه امنیت داره، رمزنگاری داره و احراز هویت می‌کنه. اما متاسفانه هنوز خیلی از شبکه‌ها روی همون نسخه‌های قدیمی موندن.

🤷‍♂️چی گیرمون میاد؟ (گنجینه اطلاعات)

اگه بتونیم SNMP رو Enumerate کنیم، عملاً نقشه شبکه رو داریم:

  1. نام و IP دستگاه‌ها: کی کجاست و اسمش چیه.
  2. تنظیمات شبکه: جداول مسیریابی (Routing Tables)، اینترفیس‌ها و وضعیت پورت‌ها.
  3. اطلاعات سیستم‌عامل: دقیقاً چه ورژنی از ویندوز یا لینوکس نصبه (خوراک پیدا کردن اکسپلویت).
  4. منابع سیستم: چقدر رم و CPU داره مصرف میشه.
  5. لیست نرم‌افزارها: چه سرویس‌هایی در حال اجرا هستن.

👻جعبه‌ابزار هکرها (دستورات و ابزارهای Enumerate)

خب بریم سراغ اصل مطلب. فرض کن یه IP داریم (<target-IP>) و می‌خوایم ببینیم روی پورت ۱۶۱ چه خبره.

۱. آچار فرانسه شبکه: Nmap

اول ببینیم پورت بازه یا نه و بعدش اطلاعات بکشیم بیرون. چون UDP هست، سوییچ -sU یادمون نره.

الف) اسکن اولیه پورت:

nmap -sU -p 161 target-IP

ب) استخراج اطلاعات با اسکریپت‌های Nmap:

ان‌مپ یه سری اسکریپت آماده داره که عالی عمل می‌کنن:

nmap -sU -p 161 –script snmp-info,snmp-interfaces,snmp-netstat target-IP

  • snmp-info: شناسنامه دستگاه (اسم، مکان، نسخه).
  • snmp-interfaces: کارت‌های شبکه و وضعیتشون.
  • snmp-netstat: کی به کی وصله (اتصالات شبکه).

۲. قدم‌زدن در شبکه: snmpwalk

این ابزار کلاسیک‌ترین روش برای خوندن دیتابیس مدیریتی (MIB) دستگاه‌هاست. با فرض اینکه رمز public باشه:

snmpwalk -v 2c -c public target-IP

این دستور کل درخت اطلاعات (OIDs) رو برات لیست می‌کنه. یه خروجی طولانی ولی پرملات!

۳. چکاپ کامل: snmpcheck

این ابزار خروجی رو خیلی تمیز و دسته‌بندی شده بهت میده (اطلاعات سیستم، یوزرها، شیرها و…):

snmpcheck -t target-IP -c public

۴. سریع و خشن: onesixtyone

اگه می‌خوای سریع بفهمی Community String چیه، این ابزار عالیه. یه فایل تکست پر از پسوردهای احتمالی (community-strings-file) بهش میدی و اون تست می‌کنه:

onesixtyone -c <community-strings-file> target-IP

اگه چیزی پیدا کنه، همون لحظه نشون میده.

۵. فریم‌ورک متاسپلویت (Metasploit)

متاسپلویت هم ماژول‌های اختصاصی داره که کار رو راحت می‌کنه. کنسول msfconsole رو باز کن و بزن:

use auxiliary/scanner/snmp/snmp_enum
set RHOSTS target-IP
set COMMUNITY public
run

این ماژول یه گزارش شسته و رفته از سیستم‌عامل و اینترفیس‌ها تحویلت میده.


مراحل عملیاتی (از صفر تا صد)

  1. شناسایی: اول ببینیم پورت ۱۶۱ بازه؟

nmap -sU -p 161 target-IP

۲. شکار رمز (Community String): با ابزاری مثل onesixtyone یا تست دستی با snmpwalk ببینیم رشته‌های پیش‌فرض مثل “public” یا “private” کار می‌کنن یا نه.

۳. جارو کردن اطلاعات: حالا که رمز رو داریم، با snmpwalk یا snmpcheck کل اطلاعات رو می‌ریزیم بیرون.

snmpwalk -v 2c -c public target-IP

  1. تحلیل: دنبال نسخه‌های قدیمی نرم‌افزار یا کانفیگ‌های ضعیف می‌گردیم تا حمله نهایی رو طراحی کنیم.

⚡خطرات و حملات بعدی

  • SNMP Brute Force: تست کردن هزاران کلمه برای پیدا کردن Community String.
  • SNMP Reflection Attack: استفاده از دستگاه قربانی برای حمله DDoS به بقیه (چون UDP هست و راحت جعل میشه).
  • Information Disclosure: افشای اطلاعات حیاتی که مسیر نفوذ رو هموار می‌کنه.

👅دیوارهای دفاعی (چطور امنش کنیم؟)

  1. خاموشش کن: اگه بهش نیاز نداری، کلاً سرویس SNMP رو غیرفعال کن. سری که درد نمی‌کنه دستمال نمی‌بندن!
  2. کوچ به ورژن ۳: حتماً از SNMPv3 استفاده کن که رمزنگاری و احراز هویت داره.
  3. تغییر رمزهای پیش‌فرض: توروخدا public و private رو عوض کن! یه چیز سخت بذار.
  4. فایروال: دسترسی به پورت ۱۶۱ رو محدود کن به IP سرور مانیتورینگ خودت. نذار کل دنیا ببیننش.
  5. مانیتورینگ: لاگ‌ها رو چک کن. اگه دیدی یکی داره زیاد از حد درخواست SNMP میفرسته، بلاکش کن.

دیدگاه‌ خود را بنویسید

پیمایش به بالا