آموزش نفوذ به شبکه از صفر تا پیشرفته
آموزش نفوذ به شبکه به شما یاد میدهد چگونه از یک نقطه ورود در شبکه داخلی به میزبانهای دیگر، پایگاه داده و در نهایت سطح دسترسی مدیریتی برسید. تمرکز این حوزه بر میزبانها، پورتها، سرویسها، اعتبارنامهها و اعتمادهای شبکهای است، نه فقط روی یک اپلیکیشن وب.
در این راهنما ابتدا محدوده تست نفوذ شبکه را مشخص میکنیم و سپس اسکن پورت و سرویس با Nmap را با دستورهای واقعی تمرین میکنیم. در ادامه تحلیل ترافیک با Wireshark، آسیبپذیریهای رایج سرویسهایی مانند SMB و RDP و SSH و پایگاههای داده، مسیرهای حمله Active Directory، حرکت جانبی و افزایش سطح دسترسی و ریسک قطعی سرویس بررسی میشود. سناریوهای شبکهای «آزمایشگاه اکسپلویتفا» برای تمرین همین مسیرها در مرورگر آماده است.
تست نفوذ شبکه چیست و شامل چه محدودهای است؟
تست نفوذ شبکه، ارزیابی امنیتی زیرساخت ارتباطی و میزبانها است: بازههای IP، پورتهای باز، سرویسهای در حال اجرا، کنترلهای دسترسی میان بخشهای شبکه و امکان حرکت از یک میزبان به میزبان دیگر. برخلاف تست وب که روی یک اپلیکیشن تمرکز دارد، دامنه اینجا معمولاً چندین بخش شبکه، سرور و ایستگاه کاری را پوشش میدهد.
محدوده دقیق باید در قرارداد مشخص شود: کدام بخشهای شبکه و آدرسها، در چه ساعاتی، با چه روشهایی و با چه محدودیتهایی. تست از دید مهاجم بیرونی (External) و از داخل شبکه (Internal) دو سناریوی متفاوت با ریسک و ابزار متفاوت است و گزارش هرکدام ساختار خودش را دارد.
شناخت شبکه هدف: اسکن پورت و سرویس با Nmap
اولین گام عملی، ساخت نقشه میزبانهای زنده و سرویسهای آنهاست. اسکن را همیشه از حالت سبک شروع کنید تا رفتار فایروال و سیستمهای تشخیص نفوذ را بسنجید و سپس شدت و دامنه را افزایش دهید. ذخیره خروجی اسکنها در قالبهای مختلف، هم برای گزارش و هم برای بازآزمایی ضروری است.
ترکیب شناسایی نسخه با اجرای اسکریپتهای پیشفرض، بیشترین بازده اطلاعاتی را در کوتاهترین زمان میدهد، چون برای هر سرویس پیکربندی، نسخه و گاهی آسیبپذیری شناختهشده را نشان میدهد.
- nmap -sn 10.10.10.0/24 — کشف میزبانهای زنده در شبکه هدف
- nmap -sS -p- --min-rate 1000 10.10.10.5 — اسکن کامل ۶۵۵۳۵ پورت با سرعت کنترلشده
- nmap -sV -sC -p 22,80,443,445 10.10.10.5 — شناسایی نسخه سرویس و اجرای اسکریپتهای پیشفرض
- nmap -sU --top-ports 50 10.10.10.5 — بررسی سرویسهای UDP مانند SNMP و DNS
- nmap --script smb-vuln-ms17-010 -p 445 10.10.10.5 — آزمون هدفمند یک آسیبپذیری مشخص
- nmap -oA scans/host5 10.10.10.5 — ذخیره خروجی در سه قالب برای گزارش و مقایسه
تحلیل ترافیک و شنود با Wireshark
تحلیل ترافیک به شما نشان میدهد در شبکه واقعاً چه میگذرد؛ پروتکلهای رمزنگارینشده مانند HTTP، FTP، Telnet و نسخههای قدیمی SMB میتوانند اعتبارنامه یا داده حساس را آشکار کنند. با tcpdump روی میزبان و Wireshark روی فایل ذخیرهشده، میتوان بدون نصب رابط گرافیکی روی سرور تولیدی، ترافیک را ثبت و بعد تحلیل کرد.
در شبکههای سوئیچی، شنود بدون تنظیم پورت آینهای یا حمله ARP Spoofing عملاً نتیجه نمیدهد و همین دو روش را باید فقط در دامنه مجاز و با هماهنگی تیم شبکه استفاده کرد. فیلترهای پرکاربرد Wireshark شامل http.request، dns، smb2 و tcp.port == 445 است که حجم بستهها را برای تحلیل سریع کم میکند.
آسیبپذیریهای رایج سرویسها (SMB، RDP، SSH، دیتابیسها)
بیشتر نفوذهای شبکه داخلی از سرویسهای قدیمی یا پیکربندی نادرست همان سرویسهای ضروری آغاز میشود؛ سرویسی که برای کار روزمره سازمان لازم است، اگر بهروزرسانی و محدود نشود، بهترین نقطه ورود مهاجم میشود.
جدول زیر رایجترین موارد را با نشانه تشخیص و راه دفاع نشان میدهد. ترتیب بررسی هم مهم است: ابتدا سرویسهایی که از بیرون قابل دسترسیاند و سپس سرویسهای داخلی که با یک اعتبارنامه ضعیف قابل سوءاستفادهاند.
| سرویس (پورت) | آسیبپذیری رایج | نشانه تشخیص و راه دفاع |
|---|---|---|
| SMB (445) | نسخه قدیمی SMBv1، امضای ضعیف پیام و آسیبپذیریهایی مانند MS17-010 | آزمون با اسکریپت smb-vuln؛ دفاع: غیرفعالسازی SMBv1، الزام امضای SMB و بستن پورت به اینترنت |
| RDP (3389) | حمله آبشاری رمز عبور و آسیبپذیری پیش از احراز هویت مانند BlueKeep | هشدار روی تلاشهای ورود ناموفق؛ دفاع: NLA، احراز هویت چندعاملی، دسترسی فقط از راه VPN |
| SSH (22) | ورود با رمز تکراری یا کلید ضعیف و نسخههای قدیمی دارای CVE شناختهشده | دفاع: غیرفعالکردن ورود ریشه و ورود با رمز، کلید ED25519، ابزار fail2ban و محدودسازی آدرس مبدأ |
| MySQL و PostgreSQL (3306 و 5432) | رمز خالی یا پیشفرض و شنونده بودن سرویس روی همه آدرسها | دفاع: bind به آدرس داخلی، حساب اختصاصی با حداقل دسترسی، رمز قوی و اجبار TLS |
| Redis و MongoDB (6379 و 27017) | نبود احراز هویت پیشفرض و امکان اجرای دستور یا خواندن کل داده | دفاع: الزام رمز و احراز هویت، bind داخلی، غیرفعالکردن دستورهای خطرناک و پشتیبانگیری امن |
Active Directory و مسیر حمله رایج
در شبکههای ویندوزی، Active Directory تقریباً همیشه نقطه تمرکز حمله است، چون مجوزهای اشتباه و اعتبارنامههای نهفته در آن به مهاجم امکان میدهد از یک کاربر عادی به مدیر دامنه برسد. دو تکنیک پرتکرار، kerberoasting (درخواست بلیت سرویس برای حسابهای دارای SPN و شکستن رمز آن بهصورت خارج از خط) و pass-the-hash (استفاده از هش NTLM بدون دانستن رمز متن روشن) است.
ابزارهایی مانند BloodHound با تحلیل روابط دامنه، کوتاهترین مسیر رسیدن به مدیر دامنه را نشان میدهند و Impacket یا NetExec اجرای همان مسیر را ساده میکنند. هدف گزارش، فهرست کردن کاربران نیست؛ اثبات امکان رسیدن به سطح مدیریت و توضیح نقطهای است که میتوان همان مسیر را در هر گام قطع کرد.
حرکت جانبی و افزایش سطح دسترسی
حرکت جانبی یعنی رفتن از یک میزبان تسخیرشده به میزبان دیگر با استفاده از اعتبارنامه، کلید SSH یا اعتمادهای شبکهای. منابع رایج برای این کار شامل فایلهای پیکربندی حاوی رمز، حافظه پردازشها، نشستهای باز و حسابهای سرویس با رمز ثابت و بدون چرخش است.
افزایش سطح دسترسی در لینوکس معمولاً از راه فایلهای SUID، وظایف زمانبندیشده قابل نوشتن، پیکربندی اشتباه sudo و کتابخانههای قدیمی انجام میشود؛ در ویندوز از راه سرویسهای با مجوز ضعیف، AlwaysInstallElevated و توکنهای دسترسی. پس از هر گام، سطح دسترسی واقعی را با id در لینوکس یا whoami /priv در ویندوز تأیید و در همان لحظه مستند کنید.
چه زمانی تست نفوذ شبکه خطرناک میشود؟
برخلاف تست وب، آزمون شبکه میتواند سرویس تولیدی را از کار بیندازد؛ اسکنهای تهاجمی، پر شدن جدول وضعیت فایروال یا ارسال بستههای نامتعارف به تجهیزات قدیمی میتواند موجب قطعی شود. برخی اسکنرها روی تجهیزات صنعتی، دوربینها و چاپگرهای شبکهای پاسخهای غیرمنتظره میدهند و همین برای سازمان هزینهدار است.
مدیریت تغییر پاسخ این ریسک است: تعیین پنجره زمانی، اطلاع به تیم زیرساخت، تعیین مخاطب اضطراری، شروع با اسکن کمریسک و افزایش تدریجی شدت. برای سامانههای حیاتی، فهرست روشهای ممنوع مانند آزمون انکار سرویس، تغییر پیکربندی مخرب و بهرهجویی روی کنترلکننده دامنه باید در قرارداد نوشته شود.
ابزارها و محیط آزمایشگاهی
- Nmap و Masscan برای کشف میزبان و اسکن پورت در مقیاس بزرگ
- Wireshark و tcpdump برای تحلیل ترافیک و کشف پروتکلهای رمزنگارینشده
- NetExec و Impacket برای اجرای پروتکلهای ویندوز و آزمون حرکت جانبی
- responder و bettercap برای آزمون پروتکلهای نامعتمد، فقط در شبکه آزمایشگاهی جدا
- BloodHound و PingCastle برای نقشهبرداری روابط و ارزیابی وضعیت Active Directory
- Metasploit و SearchSploit برای بهرهجویی کنترلشده و یافتن کد اثبات مفهوم
- محیط تمرین: دو ماشین مجازی در شبکه Host-only، یکی کالی و یکی هدف آسیبپذیر، بدون اتصال به شبکه واقعی
پرسشهای پرتکرار
؟ تفاوت تست نفوذ شبکه و وب چیست؟
تست وب روی یک اپلیکیشن و لایه هفتم تمرکز دارد و از راه HTTP انجام میشود، در حالی که تست شبکه میزبانها، پورتها، سرویسها و مسیرهای ارتباطی را ارزیابی میکند. بهرهجویی شبکه معمولاً به دسترسی در سطح سیستمعامل میرسد و بهرهجویی وب به داده یا منطق برنامه.
؟ برای شروع به چه دانشی نیاز دارم؟
تسلط بر TCP/IP، تقسیم زیرشبکه، DNS و DHCP، کار روزمره با لینوکس و ویندوز و درک سرویسهای رایج مانند SMB و LDAP. آشنایی با یک زبان اسکریپتنویسی برای تحلیل خروجی و خودکارسازی هم عملاً ضروری است.
؟ آیا اسکن شبکه دیگران جرم است؟
اسکن پورتها بدون اجازه مالک شبکه، دسترسی یا جمعآوری اطلاعات غیرمجاز تلقی میشود و میتواند مشمول قانون جرایم رایانهای باشد. حتی اسکن سبک هم اگر موجب اخلال یا قطعی شود پیامد حقوقی دارد؛ دامنه و آدرسهای IP مجاز را کتباً مشخص کنید.