وقتی هکر میفهمه پشت در کیه!
درِ باز کافی نیست؛ بدون کلیدش دست کیه!
بیا تصور کنیم سرور یا شبکه تو مثل یه مجتمع تجاری بزرگ با کلی مغازه و واحد اداریه.
پرده اول: گشتزنی ساده (Port Scanning)
من به عنوان یه هکر (یا کارشناس امنیت)، اولش فقط میام تو راهروهای این مجتمع قدم میزنم. هدفم چیه؟ فقط میخوام ببینم کرکره کدوم مغازهها بالاست (پورتهای باز).
مثلاً میبینم مغازه شماره ۸۰ بازه، مغازه شماره ۲۲ بازه و مغازه شماره ۳۳۸۹ هم بازه.
تا اینجا من فقط فهمیدم در بازه؛ همین! این میشه همون Scanning ساده.
پرده دوم: فضولی دقیق (Service Enumeration)
حالا نوبت به Enumeration میرسه. اینجا دیگه من فقط رد نمیشم. میرم جلوی مغازه شماره ۲۲ (که معمولاً پورت SSH هست) و سرک میکشم تو.
با یه ابزار مثل Nmap و سوئیچ -sV (که مخفف Service Version هست) داد میزنم: «آهای! صاحب مغازه کیه؟ جنسهات مال چه سالیه؟»
سرویس داخل پورت ۲۲ هم چون خیلی مؤدبه (یا درست کانفیگ نشده)، برمیگرده میگه: «سلام داداش! من OpenSSH هستم، اونم نسخه ۴.۳ قدیمی!»
پرده سوم: چرا این خطرناکه؟ (Vulnerability)
اینجاست که چشمهای منِ هکر برق میزنه! چرا؟ چون من فقط نفهمیدم پورت ۲۲ بازه؛ فهمیدم که نسخهی قدیمی OpenSSH روش نصبه. سریع میرم تو دفترچهی “روشهای دزدی” خودم (Google یا دیتابیسهای Exploit) سرچ میکنم: «نقاط ضعف OpenSSH 4.3».
میبینم ای دل غافل! این نسخه یه باگ معروف داره که میشه بدون پسورد واردش شد. تمام!
اگه من فقط اسکن کرده بودم، شاید فکر میکردم «خب پورت ۲۲ که امنه». اما با Enumerate کردن سرویس، فهمیدم که این نسخه خاص، سوراخ امنیتی داره.
اقدامات دفاعی (چطور ضدحالی بزنیم؟):
حالا تو به عنوان مدیر امنیت اون مجتمع باید چیکار میکردی؟
- آپدیت باش: اون بنده خدای توی مغازه ۲۲ رو بفرست مرخصی، جاش نسخه جدید (مثلاً OpenSSH 9.0) رو بذار که باگ نداره.
- فایروال: جلوی مغازه ۳۳۸۹ (که مال ریموت دسکتاپ ویندوزه) یه نگهبان (Firewall) بذار که هر کسی رو راه نده، فقط IPهای خودی رو بشناسه.
- پیکربندی: به سرویسها یاد بده که وقتی یکی داد زد «کی اونجاست؟»، سریع کل اطلاعات و نسخه نرمافزار رو لو ندن (Banner Grabbing رو محدود کن).