درس آموزشی درس ۱ از ۶

هک شبکه چیست؟ ۷ نقطه ضعف رایج شبکه و راه‌های جلوگیری

یک مشتری به وای‌فای مهمان وصل شده؛ آیا باید به فایل‌های طراحی و پنل چاپگر هم برسد؟ با داستان کارگاه چاپ سه‌بعدی، هک شبکه و راه‌های دفاع را یاد بگیر.

مقدماتی ۲۸ دقیقه مطالعه بروزرسانی ۲۵ مهر ۱۴۰۵
فهرست این درس

ببین، فرض کن رفتی یه کارگاه چاپ سه‌بعدی. روی دیوار سالن انتظار رمز وای‌فای مهمان رو نوشتن و مشتری‌ها با گوشی به اینترنت وصل می‌شن. چند متر اون‌طرف‌تر هم لپ‌تاپ طراح‌ها، چاپگرها، سرور فایل‌های پروژه و کامپیوتر حسابداری همگی به شبکه وصلن. حالا سؤال اینه: آیا مشتری‌ای که فقط اینترنت مهمان می‌خواد، باید بتونه پنل مدیریت چاپگر یا فایل خصوصی سفارش‌های بقیه رو ببینه؟ دقیقاً از همین سؤال می‌رسیم به موضوع هک شبکه.

جواب روشنه: نه، مگر اینکه یک نیاز مشخص و مجوز معتبر وجود داشته باشه. ولی برای فهمیدن اینکه این مرز واقعاً رعایت شده یا نه، نمی‌تونیم فقط به رمز وای‌فای نگاه کنیم. باید مسیر ارتباط دستگاه‌ها، تنظیمات فایروال و مجوز هر سرویس رو بشناسیم. کسی که این ارتباط‌ها رو می‌فهمه، مفهوم هک شبکه رو خیلی عمیق‌تر از کسی یاد می‌گیره که فقط اسم چند ابزار رو حفظ کرده.

قرار نیست اینجا رمز شبکه‌ای رو بشکنیم یا بدون اجازه به دستگاهی وصل بشیم. با هم توی یک کارگاه کاملاً خیالی، ۷ ضعف متداول رو بررسی می‌کنیم، فرق هک وای‌فای با نفوذ به شبکه داخلی رو می‌فهمیم و آخرش یه آزمایش Python می‌نویسیم که حتی یک بسته هم به شبکه نمی‌فرسته. برای دیدن نمای کلی مباحث هم می‌تونی از مسیر آموزش امنیت شبکه نابغه‌ها شروع کنی.

هک شبکه

هک شبکه چیست؟ یک تعریف ساده که واقعاً به درد بخورد

بذار اول خود اصطلاح رو روشن کنیم. هک شبکه یعنی پیدا کردن، بررسی یا سوءاستفاده از ضعف‌هایی که به ارتباط دستگاه‌ها، سرویس‌های شبکه، تنظیمات و دسترسی‌ها مربوط می‌شن. وقتی این بررسی با اجازه مالک و در محدوده تعیین‌شده انجام بشه، می‌تونه بخشی از تست نفوذ قانونی باشه؛ وقتی بدون مجوز باشه، دیگه اسم آموزش یا کنجکاوی روش گذاشتن چیزی رو عوض نمی‌کنه. ابزار به‌تنهایی قانونی یا غیرقانونی نیست؛ کاری که باهاش انجام می‌دی و مجوزی که داری مهمه.

مثلاً طراح کارگاه باید بتونه فایل سه‌بعدی سفارش خودش رو از سرور بگیره. اینکه مسیر شبکه تا سرور باز باشه، برای کارش لازمه. اما اگر گوشی مهمان هم بدون مجوز به همون فایل برسه، احتمالاً یک کنترل دسترسی جا افتاده. فقط حواست باشه: باز بودن مسیر ارتباطی هنوز به‌معنی افشای قطعی فایل نیست. باید ببینیم سرور بعد از برقرار شدن ارتباط چه مجوزی رو بررسی می‌کنه.

اینجا فرق امنیت شبکه و هک اخلاقی معلوم می‌شه. امنیت شبکه یعنی مجموعه کارهایی که برای محافظت از دستگاه‌ها و ارتباط‌ها انجام می‌دیم؛ از جداسازی بخش‌ها و محدودکردن دسترسی گرفته تا به‌روزرسانی و پایش. تست نفوذ مجاز کمک می‌کنه بفهمیم این کنترل‌ها چقدر درست کار می‌کنن. اگر خود مفهوم هک برات تازگی داره، درس‌های هک چیست؟ و هک اخلاقی رو هم ببین.

چرا برای یادگیری هک شبکه باید اول مسیر ارتباط رو بفهمیم؟

خیلی‌ها برای آموزش هک شبکه دنبال یک فهرست دستور آماده می‌گردن؛ در حالی که قبل از دستور، باید مسیر بسته‌ها رو بفهمی. اصلاً داده از کدوم دستگاه شروع می‌شه؟ از چه بخشی عبور می‌کنه؟ به چه سرویسی می‌رسه؟ کجا باید اجازه بگیره و کجا باید متوقف بشه؟ اگر جواب این سؤال‌ها رو ندونی، خروجی ابزارها رو هم راحت اشتباه تفسیر می‌کنی.

آدرس IP، مثل نشانی محل تحویل

آدرس IP به دستگاه‌ها کمک می‌کنه بسته رو به مقصد منطقی برسونن؛ چیزی شبیه نشانی تحویل، نه کارت شناسایی صاحب بسته. IP ممکنه با DHCP تغییر کنه یا چند دستگاه پشت یک NAT از نشانی عمومی مشترک استفاده کنن. پس وقتی در لاگ یه IP می‌بینی، هنوز نمی‌دونی دقیقاً کدوم انسان پشت درخواست بوده یا چه مجوزی داشته.

پورت، مثل شماره واحد؛ نه علامت هک‌شدن

پورت رو مثل درِ ورود به یک سرویس در نظر بگیر. وب معمولاً روی ۸۰ و ۴۴۳، SSH اغلب روی ۲۲ و SMB معمولاً روی ۴۴۵ کار می‌کنه؛ البته این شماره‌ها قابل تغییرن. یک پورت باز یعنی سرویسی در مسیر بررسی‌شده پاسخ می‌ده، نه اینکه حتماً باگ داره. تازه وضعیت filtered هم با closed یکسان نیست؛ مستندات رسمی Nmap این تفاوت‌ها رو دقیق توضیح می‌ده.

روتر، سوییچ، فایروال و اکسس‌پوینت کار یکسانی ندارند

این چهار وسیله رو با هم قاطی نکن. روتر بسته‌ها رو بین شبکه‌ها هدایت می‌کنه، سوییچ معمولاً دستگاه‌های شبکه محلی رو به هم وصل می‌کنه، فایروال طبق قانون درباره عبور ترافیک تصمیم می‌گیره و اکسس‌پوینت اتصال بی‌سیم می‌ده. گاهی همه‌شون توی یک مودم خانگی جمع شدن، ولی برای بررسی امنیت باید نقش هر کدوم رو جدا ببینی.

سرویس، حساب کاربری و مجوز سه چیز جدا هستند

فرض کن گوشی مهمان می‌تونه با یک سرور ارتباط برقرار کنه، اما اجازه ورود به حساب اون رو نداره. حتی اگر وارد سرویس شد، باز هم شاید حق دیدن فایل‌های خصوصی رو نداشته باشه. پس سه سؤال جدا داریم: مسیر بازه؟ هویت تأیید شده؟ این عملیات مشخص مجازه؟ در درس باگ IDOR همین منطق رو از زاویه برنامه وب دیدیم؛ اینجا از زاویه ارتباط‌های شبکه بررسیش می‌کنیم.

سناریوی اختصاصی ما : کارگاه چاپ سه‌بعدی و یک شبکه شلوغ

اسم این مجموعه ساختگی رو می‌ذاریم «کارگاه آبی». چند چاپگر سه‌بعدی داره، فایل‌های مدل روی NAS ذخیره می‌شن، حسابداری روی یک کامپیوتر جداست و مشتری‌ها هم وای‌فای مهمان دارن. صاحب کارگاه می‌گه: «همه دستگاه‌ها کار می‌کنن، پس شبکه خوبه!» ولی ما می‌خوایم ببینیم آیا خوب کار کردن، لزوماً به معنی امن کار کردنه؟

برای اینکه موقع توضیح گم نشیم، شبکه فرضی رو به چهار قسمت تقسیم می‌کنیم: مهمان، طراحی، تجهیزات و مدیریت. این‌ها اسم‌های آموزشی‌ان؛ قرار نیست بگیم هر شرکت واقعی باید دقیقاً همین چهار بخش رو داشته باشه. توی جدول می‌نویسیم هر بخش به چه چیزی نیاز داره و کدوم ارتباط‌ها باید زیر سؤال برن.

بخش فرضینمونه داراییدسترسی مورد نیازدسترسی‌ای که باید درباره‌اش سؤال کنیم
مهمانگوشی مشتری و تبلت سالن انتظاراینترنت و صفحه عمومی سفارشارتباط مستقیم با NAS یا پنل چاپگر
طراحیرایانه طراح و نرم‌افزار مدل‌سازیفایل پروژه و سرویس صف چاپدسترسی آزاد به حسابداری یا پنل روتر
تجهیزاتچاپگرهای سه‌بعدی و کنترلرهادریافت کار چاپ از سرویس مشخصارتباط دلخواه با لپ‌تاپ مهمان
مدیریترایانه مدیر و پنل پشتیبان‌گیریمدیریت محدود و ثبت‌شده منابعمدیریت از همه دستگاه‌ها و حساب‌ها

حالا تصور کن مسئول پشتیبانی می‌گه: «روی گوشی مشتری، نام یکی از چاپگرهامون دیده می‌شه!» آیا یعنی دستگاه هک شده؟ نه لزوماً. شاید فقط یک اعلان کشف سرویس باشه، شاید هم مسیر ارتباطی‌ای باز مونده که نباید باز می‌بود. تا وقتی مسیر واقعی، کنترل دسترسی و شواهد رو بررسی نکنیم، حق نداریم یکی از این دو نتیجه رو قطعی اعلام کنیم.

تو این مثال قرار نیست با SQL Injection یا فرم‌های وب سروکار داشته باشیم. مسئله اینه که دستگاه‌های مختلف چقدر به هم اعتماد می‌کنن و این اعتماد کجا باید محدود بشه. همین موضوع بعدها برای فهمیدن هک شبکه داخلی، امنیت تجهیزات هوشمند و طراحی شبکه شرکت‌ها خیلی به دردت می‌خوره.

۷ ضعف رایج در هک شبکه؛ کجا باید دنبال مشکل بگردیم؟

برای فهمیدن روش‌های هک شبکه لازم نیست از همون اول سراغ کارهای خطرناک بریم. بهتره هفت اشتباه متداول رو بشناسیم که ممکنه مسیر یک نفوذ رو باز کنن. این موارد دستور حمله نیستن؛ یک چک‌لیست دفاعی هستن تا بفهمی توی شبکه خودت باید دنبال چه سؤال‌هایی بگردی.

۱. شبکه مهمان و شبکه کاری از هم جدا نشده‌اند

این مورد رو با مثال کارگاه راحت می‌فهمی: مشتری باید اینترنت داشته باشه، نه اینکه به کنترلر چاپگر یا NAS برسد. اگر شبکه مهمان و شبکه کاری درست جدا نشده باشن، یک دستگاهِ نامطمئن ممکنه مسیرهایی ببینه که هیچ نیازی بهشون نداره. ساختن دو اسم Wi-Fi یا حتی دو VLAN به‌تنهایی کافی نیست؛ باید عبور ترافیک بین بخش‌ها هم با قانون مشخص کنترل بشه.

۲. پنل مدیریت تجهیزات در مسیر اشتباه قابل دسترس است

پنل مدیریت روتر، NAS و چاپگر برای همه کاربران نیست. هرقدر دستگاه‌های بیشتری از بخش‌های نامربوط بتونن این پنل‌ها رو ببینن، سطح حمله بالاتر می‌ره. عوض کردن شماره پورت مدیریت به‌تنهایی مشکل رو حل نمی‌کنه؛ باید دسترسی مدیریتی از شبکه و دستگاه‌های مشخص، با هویت معتبر و ثبت رویداد انجام بشه.

۳. گذرواژه ضعیف، حساب مشترک یا دسترسی قدیمی باقی مانده است

فرض کن سه نفر از یک نام کاربری مشترک برای مدیریت NAS استفاده می‌کنن. حالا یکی از کارگاه جدا می‌شه؛ چطور مطمئن می‌شی دیگه دسترسی نداره؟ اگر اتفاق مشکوکی افتاد، چطور می‌فهمی کدوم نفر تنظیمات رو تغییر داده؟ حساب‌های جدا، حداقل مجوز و حذف دسترسی‌های قدیمی، به‌اندازه خیلی از ابزارهای گرون امنیتی مهمن.

۴. سفت‌افزار و سرویس‌های داخلی به‌روز نیستند

روتر، دوربین، NAS و چاپگر هم سیستم‌عامل یا Firmware دارن. اگر مدت‌ها آپدیت نشده باشن، ممکنه ضعف شناخته‌شده‌ای در نسخه نصب‌شده باقی مونده باشه. البته قدیمی بودن نسخه به‌تنهایی اثبات آسیب‌پذیری قابل سوءاستفاده نیست؛ باید اطلاعیه سازنده، شرایط واقعی دستگاه و اثر احتمالی رو کنار هم بررسی کنیم. آپدیت بدون برنامه پشتیبان هم می‌تونه وسط کار تولید دردسر درست کنه.

۵. پوشه‌های اشتراکی و سرویس‌های داخلی بیش از حد در دسترس‌اند

فرض کن NAS فقط برای گروه طراحی خریده شده، ولی همه شبکه می‌تونه سرویس اشتراک فایلش رو ببینه. این مشاهده هنوز مساوی دسترسی به محتوا نیست، اما دلیل خوبی برای بازبینی تنظیماته. از خودت بپرس چه کسانی واقعاً به این پوشه‌ها نیاز دارن؛ بعد همون دسترسی رو با حداقل مجوز تنظیم کن، نه بیشتر.

۶. شبکه بی‌سیم تنظیمات مناسبی ندارد

رمز وای‌فای ضعیف، تنظیم نامناسب شبکه مهمان یا روشن موندن قابلیت غیرضروری می‌تونه امنیت بخش بی‌سیم رو پایین بیاره. ولی یادت باشه هک شبکه فقط هک وای‌فای نیست. حتی اگر ارتباط بی‌سیم با WPA3 درست امن شده باشه، یک سرویس داخلیِ بدون کنترل دسترسی هنوز ممکنه مشکل داشته باشه. وای‌فای عمومی هم مجوز تست کردن دستگاه‌های پشتش نیست.

۷. هیچ‌کس نمی‌داند چه چیزی طبیعی است و چه چیزی مشکوک

فرض کن مدیر شبکه اصلاً نمی‌دونه چه دستگاهی باید با سرور فایل حرف بزنه. اون‌وقت وقتی یک ارتباط غیرمعمول شکل بگیره، چطور تشخیصش بده؟ داشتن فهرست دارایی‌ها، ساعت هماهنگ و لاگ‌های درست کمک می‌کنه رفتار طبیعی رو بشناسیم. البته همه داده‌ها رو هم نباید بی‌حساب ذخیره کرد؛ لاگ باید مفید، محافظت‌شده و قابل پیگیری باشه.

یک نکته مهم : هک شبکه داخلی همیشه از اینترنت شروع نمی‌شود

توی فیلم‌ها معمولاً مهاجم رو بیرون از شرکت نشون می‌دن، ولی مشکل همیشه از اینترنت شروع نمی‌شه. یک لپ‌تاپ آلوده، حساب پشتیبانی قدیمی یا دستگاهی که مجوز بیش‌ازحد گرفته هم ممکنه نقطه شروع حادثه باشه. این حرف به معنی مشکوک دونستن همه کارکنان نیست؛ فقط می‌گه «داخل شبکه بودن» دلیل کافی برای اعتماد نیست.

در کارگاه آبی، رایانه طراح باید بتونه کار چاپ رو به صف بفرسته. اما آیا لازم داره تنظیمات مدیریتی همه چاپگرها رو عوض کنه؟ معمولاً نه. اگر یک دستگاه آسیب ببینه و از اونجا به منابع دیگه حرکت بشه، به این رفتار در بعضی سناریوها Lateral Movement می‌گن. پس هک شبکه داخلی رو باید با توجه به مرزهای بین بخش‌ها بررسی کنیم، نه فقط فایروال ورودی اینترنت.

این نگاه فقط توصیه شخصی ما نیست. CISA در راهنمای Microsegmentation درباره محدودکردن سطح حمله و حرکت جانبی توضیح داده. NIST SP 800-207 هم می‌گه محل قرار گرفتن دستگاه در شبکه نباید به‌تنهایی باعث اعتماد خودکار بشه. معنیش این نیست که با نصب یک محصول امنیتی کار تمومه؛ سیاست‌ها باید درست اجرا و آزمون بشن.

هک وای‌فای با هک شبکه چه فرقی داره؟

ببین، هک وای‌فای بیشتر سراغ بخش اتصال بی‌سیم می‌ره: روش احراز هویت، تنظیمات اکسس‌پوینت و کنترل کاربران بی‌سیم. ولی هک شبکه گسترده‌تره؛ شبکه سیمی، سرویس فایل، دسترسی راه دور، روتر، حساب‌های مدیریتی و ارتباط بخش‌های داخلی رو هم شامل می‌شه. پس این دو یکی نیستن، هرچند ممکنه به هم مرتبط باشن.

سؤالهک وای‌فایهک شبکه
نقطه تمرکز کجاست؟اتصال و امنیت بی‌سیمارتباط و مجوز میان دارایی‌ها و سرویس‌ها
فقط رمز مطرح است؟نه؛ تنظیمات و پیاده‌سازی هم مهم‌اندنه؛ مسیرها، حساب‌ها، سرویس‌ها و سیاست‌ها مهم‌اند
آیا بدون وای‌فای هم اتفاق می‌افتد؟موضوع اصلی بی‌سیم استبله؛ شبکه سیمی یا مجازی هم بررسی می‌شود
هدف دفاعی چیست؟کنترل دسترسی بی‌سیم و جداسازی مهمانکاهش سطح حمله و کنترل ارتباطات مجاز

یه برداشت غلط اینه که اگر اسم WPA3 روی مودم نوشته باشه، کل شبکه امنه. WPA3 در شرایط مناسب می‌تونه ارتباط بی‌سیم رو تقویت کنه، اما نه رمزهای ضعیفِ سرویس‌های داخلی رو اصلاح می‌کنه، نه دسترسی اشتباه به NAS رو، نه وصله‌های نصب‌نشده رو. امنیت شبکه رو باید مثل یک زنجیره ببینی؛ قدرت یک حلقه به‌تنهایی کافی نیست.

آیا با کالی لینوکس می‌شود هر شبکه‌ای را هک کرد؟

جواب کوتاه اینه: نه! کالی لینوکس یک توزیع همراه با ابزارهای ارزیابی امنیته، نه کلیدی که قفل تمام شبکه‌ها رو باز کنه. همون‌طور که خریدن آچار کسی رو تعمیرکار نمی‌کنه، نصب Kali هم به‌تنهایی مهارت تست نفوذ شبکه به کسی نمی‌ده. مهم‌تر از نام ابزار، فهمیدن سرویس‌ها، مجوزها و تفسیر درست نتیجه‌ست.

مثلاً Nmap وضعیت بعضی پورت‌ها رو از دید نقطه بررسی نشون می‌ده و Wireshark برای دیدن و تحلیل بسته‌هایی مفیده که اجازه ثبتشون رو داری. اما هیچ‌کدوم به‌تنهایی نمی‌گن «این شبکه هک شده». حتی وضعیت open در مستندات Nmap به معنی پاسخ‌دادن سرویسه، نه اثبات نفوذ. استفاده از این ابزارها هم باید محدود به شبکه‌ای باشه که اجازه بررسیش رو داری.

اگه می‌خوای کاربرد هر ابزار رو جدا یاد بگیری، درس ابزارهای هک و تست نفوذ رو بخون. برای کار جدی‌تر هم بهتره در کنار ابزارها، TCP/IP، لینوکس، مجوزدهی و گزارش‌نویسی رو تمرین کنی؛ وگرنه آخرش فقط تعدادی دستور حفظ می‌کنی که دلیل خروجی‌شون رو نمی‌دونی.

آموزش هک شبکه

کارگاه آبی : نقشه ساده شبکه چه چیزی به ما می‌گوید؟

بیا برای کارگاه آبی یک نقشه خیلی ساده روی کاغذ بکشیم. سه بخش مهمان، طراحی و تجهیزات رو داریم و یک بخش مدیریت هم جدا نگه می‌داریم. این فقط مدل منطقی ماست، نه دستور آماده برای راه‌اندازی شبکه واقعی. برای هر مسیر می‌پرسیم چه نیازی وجود داره و اگر اتصال باز بمونه، چه کسی می‌تونه ازش استفاده کنه.

                 [Internet]
                     |
               [Firewall/Router]
               /      |      \
          [Guests] [Design] [Management]
                     |
               [Print Queue]
                     |
                [3D Printers]

            [File Storage / NAS]
          (Design only, limited access)

توی شبکه واقعی ممکنه همین مسیرها از سوئیچ، VLAN، فایروال، روتر یا سرویس ابری عبور کنن. اما همین نقشه ساده هم یک چیز رو روشن می‌کنه: گوشی مهمان چرا باید به NAS برسه؟ یا چه کسی مجازه تنظیمات چاپگر رو تغییر بده؟ قبل از اینکه چیزی رو تست کنیم، باید جواب مورد انتظار رو نوشته باشیم؛ وگرنه ممکنه هر خروجی‌ای رو مطابق حدسمون تفسیر کنیم.

مبدأمقصدعملیات فرضیسیاست مورد انتظاردلیل
گوشی مهماناینترنتوب‌گردیمجازنیاز واقعی مشتری
گوشی مهمانNAS طراحیخواندن فایلغیرمجازهیچ نیاز کاری تعریف نشده
رایانه طراحصف چاپارسال کارمجازجزئی از جریان تولید
چاپگررایانه صندوقدسترسی مستقیمغیرمجازارتباط عملیاتی لازم نیست
رایانه مدیرپنل مدیریت چاپگرتغییر تنظیماتمجاز با هویت و ثبت رویدادوظیفه مدیریتی مشخص
رایانه طراحNAS طراحیخواندن پرونده مجازمجاز مشروطتأیید هویت و مجوز فایل

به ردیف «مجاز مشروط» توی جدول دقت کن. رایانه طراح ممکنه اجازه برقراری ارتباط با NAS رو داشته باشه، ولی هنوز معلوم نیست این طراح حق دیدن فایل کدوم مشتری رو داره. مجوز شبکه و مجوز فایل دو کنترل جدا هستن. جدا بودن VLAN هم به‌تنهایی ثابت نمی‌کنه همه فایل‌ها درست محافظت شدن.

پنج سؤال طلایی برای تحلیل هر مسیر هک شبکه

برای اینکه توی جزئیات گم نشیم، من اینجا از «پنج سؤال مسیر» استفاده می‌کنم. این اسم فقط یک ابزار آموزشی برای همین مقاله‌ست، نه نام یک استاندارد رسمی. باهاش می‌تونیم قبل از اینکه به یک اتصال برچسب هک شبکه بزنیم، معلوم کنیم دقیقاً چه اطلاعاتی داریم و چه چیزی هنوز نامشخصه.

سؤال اول : ارتباط از کجا شروع شده؟

نوع دستگاه، بخش شبکه و هویت کاربر رو جدا ثبت کن. گوشی مهمان، لپ‌تاپ طراح و سرور پشتیبان حتی اگر در یک ساختمان باشن، قرار نیست سطح دسترسی یکسانی داشته باشن. اگر تنها اطلاعاتت «آی‌پی ۱۹۲.۱۶۸…» باشه، هنوز درباره کاربر و نقش اون چیز زیادی نمی‌دونی.

سؤال دوم : مقصد واقعاً چه دارایی‌ای است؟

اسم تجاری یک دستگاه کافی نیست. آیا مقصد صفحه عمومی وب، پنل مدیریت، سرویس اشتراک فایل، یک API داخلی یا صف چاپه؟ گاهی یک سرور چند سرویس جدا با سیاست‌های متفاوت ارائه می‌ده و امنیت هر کدوم باید مستقل بررسی بشه.

سؤال سوم : قرار است چه عملی انجام شود؟

مشاهده وضعیت دستگاه با تغییر تنظیمات مدیریتی یکی نیست. خواندن فایل با حذف نسخه پشتیبان هم یکسان نیست. در تست امنیت، باید نوع عملیات رو مشخص کنی؛ چون یک ارتباط TCP موفق، به‌تنهایی مجوز انجام همه عملیات روی سرویس رو ثابت نمی‌کنه.

سؤال چهارم : چه قانون و دلیلی برای اجازه وجود دارد؟

ممکنه نیاز کاری واقعی باشه، اما قانون فایروال هنوز تعریف نشده باشه؛ یا برعکس، اتصال باز مونده باشه ولی هیچ‌کس نتونه دلیلش رو توضیح بده. سیاست درست از نیاز کسب‌وکار شروع می‌شه و در لایه‌های مختلف مثل شبکه و برنامه اعمال می‌شه. امنیت خوب به‌معنی «بستن همه‌چیز» نیست؛ یعنی باز گذاشتن فقط ارتباط لازم، با محدودیت لازم.

سؤال پنجم : چه شاهدی داریم و قدم اصلاح چیست؟

مشاهده یک نام دستگاه، اسکرین‌شات اسکنر یا یک خط لاگ ممکنه فقط سرنخ باشه. باید با آزمون مجاز و کنترل‌شده مشخص بشه رفتار واقعی با سیاست مورد انتظار چه تفاوتی داره. بعد هم اصلاح باید قابل آزمایش دوباره باشه؛ مثل محدود شدن مسیر دسترسی یا تغییر مجوز. این رویکرد با مبانی آزمون امنیت در راهنمای NIST SP 800-115 سازگاره.

تمرین عملی امن : بدون اسکن شبکه، قوانین دسترسی را با Python بررسی کنیم

حالا می‌رسیم به یک تمرین که هیچ شبکه‌ای رو اسکن نمی‌کنه و حتی یک بسته هم ارسال نمی‌کنه. فقط چند قانون رو داخل حافظه Python تعریف می‌کنیم و می‌بینیم کدوم ارتباط‌ها از نظر سیاست فرضی مجازن. این تمرین برای درک منطق کنترل دسترسی شبکه است؛ نه یک فایروال آماده و نه راهی برای آزمایش شبکه دیگران.

گام اول : سیاست‌های مجاز را تعریف می‌کنیم

یک فایل با نام network_policy_lab.py بساز و کد رو با Python 3 اجرا کن. داخل نمونه، مبدأ، مقصد و نوع عملیات رو مشخص می‌کنیم. قاعده هم پیش‌فرض رد هست: اگر دسترسی مشخصی توی فهرست مجازها نوشته نشده، نتیجه باید DENY باشه. تابع تصمیم‌گیرنده عمداً فقط رشته‌های معتبر رو می‌پذیره تا ورودی‌های عجیب باعث خطا یا تصمیم ناخواسته نشن.

# Offline policy lab: no packets or network calls.
allowed = {
    ("guest", "internet", "browse"),
    ("designer", "print_queue", "submit_job"),
    ("designer", "nas", "read_own_files"),
    ("admin", "printer_console", "manage"),
}


def is_permitted(source, target, action):
    # Unknown or malformed values are rejected (fail closed).
    if not all(type(v) is str for v in (source, target, action)):
        return False
    return (source, target, action) in allowed


checks = [
    ("guest", "internet", "browse"),
    ("guest", "nas", "read_own_files"),
    ("designer", "print_queue", "submit_job"),
    ("printer", "accounting", "connect"),
    ("admin", "printer_console", "manage"),
]

for source, target, action in checks:
    verdict = "ALLOW" if is_permitted(source, target, action) else "DENY"
    print(f"{source:8} -> {target:15} {action:15} {verdict}")

این تابع فقط برچسب‌هایی مثل guest و nas رو می‌شناسه؛ نمی‌فهمه کاربر واقعاً کیه، دستگاه چه وضعیتی داره یا آیا اجازه خوندن فایل مشخصی رو داره. این ساده‌سازی عمدیه تا بفهمیم یک قانون دسترسی چه تصمیمی می‌سازه. در شبکه واقعی، هویت و مجوز باید با کنترل‌های واقعی بررسی بشن.

گام دوم : خروجی را با انتظار خودمان مقایسه می‌کنیم

guest    -> internet        browse          ALLOW
guest    -> nas             read_own_files  DENY
designer -> print_queue     submit_job      ALLOW
printer  -> accounting      connect         DENY
admin    -> printer_console manage          ALLOW

خروجی دقیقاً چیزیه که برای این کارگاه فرضی انتظار داشتیم: مهمان می‌تونه وب‌گردی کنه و طراح کار چاپ بفرسته، اما دسترسی مهمان به NAS یا اتصال چاپگر به حسابداری رد می‌شه. از این نتیجه نمی‌تونیم بگیم یک شبکه واقعی امنه؛ فقط داریم انتظار امنیتی خودمون رو به شکل قابل‌آزمایش می‌نویسیم.

گام سوم : عمداً یک اشتباه را در سیاست وارد می‌کنیم

حالا عمداً یک قانون بد اضافه کن: ("guest", "nas", "read_own_files") رو وارد مجموعه allowed کن. برنامه رو دوباره اجرا کن؛ نتیجه این مسیر از DENY به ALLOW تغییر می‌کنه. بدون هک کردن هیچ سیستمی می‌بینی یک تنظیم اشتباه چطور می‌تونه مرز دسترسی رو جابه‌جا کنه.

بعد اون قانون اضافی رو پاک کن تا مسیر دوباره رد بشه. توی واقعیت، فایروال‌ها ترتیب قانون، وضعیت اتصال، جهت ترافیک و کلی جزئیات دیگه دارن؛ پس این شبیه‌ساز معادل فایروال نیست. نکته آموزشی اینه که گاهی مشکل از یک مجوز اضافه شروع می‌شه، نه یک باگ عجیب نرم‌افزاری.

از یک مشاهده مشکوک تا گزارش امنیتی : به چه چیزی می‌توانیم اعتماد کنیم؟

برگردیم به ماجرای دیدن نام چاپگر توی گوشی مشتری. آیا این یعنی هک شبکه اتفاق افتاده؟ نه؛ شاید فقط اطلاعات کشف سرویس نمایش داده شده. شاید هم یک ارتباط غیرضروری بازه. گزارش درست باید این فرضیه‌ها رو جدا نگه داره تا با آزمایش کنترل‌شده مشخص بشه کدوم واقعاً اتفاق افتاده.

سطح ادعامثال از سناریوبرداشت درست
نشانهنام چاپگر در فهرست دستگاه‌ها دیده شدهنیاز به بررسی مسیر و نوع کشف سرویس
یافته فنییک مسیر دسترسی برخلاف سیاست مصوب، در تست مجاز تأیید شدهنقص کنترل مسیر با شواهد مشخص
اثر اثبات‌شدهعملیات محدودِ مجاز برای آزمون، سطح دسترسی غیرمنتظره را نشان دادهاثر واقعی در همان محدوده تأیید شده
حدس تأییدنشده«پس همه فایل‌ها لو رفته‌اند»بدون شاهد نباید گزارش شود

اگه بخوای برای صاحب کارگاه گزارش بنویسی، جمله «یک پورت باز دیدیم» کافی نیست. باید بگی از کجا به کجا ارتباط برقرار شده، انتظار امنیتی چی بوده، چه چیزی واقعاً مشاهده شده، چه اثری تأیید شده و چطور می‌شه دوباره آزمود. این همون رویکردیه که در درس مراحل تست نفوذ توضیح دادیم.

جلوگیری از هک شبکه؛ از کجا شروع کنیم؟

برای جلوگیری از هک شبکه اول لازم نیست بری دنبال خرید یک جعبه گران‌قیمت. از این شروع کن که چه دستگاه‌هایی داری، چه کسی مسئولشونه و اصلاً کدوم ارتباط‌ها لازمن. اگر هنوز نمی‌دونی چند تا روتر، چاپگر یا سرور به شبکه وصلن، مدیریت وصله‌ها و دسترسی‌ها هم کار راحتی نیست.

دارایی‌ها را بشناس و مالک هر دستگاه را مشخص کن

فهرستی از روترها، سوئیچ‌ها، اکسس‌پوینت‌ها، سرورها، چاپگرها، دوربین‌ها و سیستم‌های کاربران بساز. برای هر دارایی بنویس چه کسی مسئولشه، چه سرویسی ارائه می‌ده، چطور به‌روزرسانی می‌شه و به کدوم بخش‌ها نیاز داره. دستگاه‌هایی که هیچ‌کس مالک‌شون نیست، معمولاً در نگهداری و سیاست‌گذاری هم جا می‌مونن.

شبکه مهمان و بخش‌های حساس را جدا کن

اگر مشتری فقط اینترنت می‌خواد، دلیلی نداره به منابع داخلی وصل بشه. شبکه مهمان، بخش مدیریت و منابع حساس رو بر اساس نیاز کسب‌وکار تفکیک کن و قوانین ارتباطی رو از مسیر مورد انتظار بسنج. یک VLAN به‌تنهایی بدون تنظیم کنترل عبور ترافیک لزوماً مرز دفاعی کافی نیست؛ تجهیزات و توپولوژی واقعی تعیین می‌کنن جداسازی چقدر مؤثره.

دسترسی مدیریتی را محدود و قابل حسابرسی کن

مدیریت روتر و NAS باید از حساب‌های مشخص، مسیرهای محدود و روش‌های امن انجام بشه. اگر تجهیز از احراز هویت چندمرحله‌ای پشتیبانی می‌کنه، با توجه به معماری‌اش از اون استفاده کن. حساب پیش‌فرض، اشتراک رمز مدیر بین همه کارکنان و باز گذاشتن پنل مدیریت روی اینترنت، کنترل دسترسی رو بی‌دلیل سخت‌تر می‌کنه.

به‌روزرسانی را با اولویت ریسک انجام بده

لیست نسخه‌ها، اطلاعیه سازنده و دارایی‌های حساس رو مرور کن. وصله‌ها رو با برنامه پشتیبان‌گیری و امکان بازگشت مناسب نصب کن، مخصوصاً وقتی دستگاه کار تولیدی مهمی انجام می‌ده. برای ضعف‌های شناخته‌شده و در حال بهره‌برداری، واکنش سریع‌تر ضروریه؛ اما تغییر تنظیمات تولید بدون آزمایش هم می‌تونه دسترس‌پذیری رو مختل کنه.

ثبت رخداد، پشتیبان‌گیری و تمرین بازیابی را جدی بگیر

لاگ ورود مدیریتی، تغییر تنظیمات و رخدادهای مهم رو با دوره نگهداری منطقی ذخیره کن. پشتیبان‌گیری از تنظیمات تجهیزات، اطلاعات حیاتی و آزمایش بازگردانی رو هم در برنامه بگذار. بکاپی که هیچ‌وقت بازگردانی نشده، هنوز اثبات نکرده در روز بحران به‌درد می‌خوره. امنیت فقط جلوگیری از ورود نیست؛ توان تشخیص و بازگشت به کار هم هست.

آموزش هک و امنیت شبکه

تفاوت هک شبکه، تست نفوذ شبکه و امنیت سایبری چیست؟

این سه اصطلاح رو یکی حساب نکن. «هک شبکه» اصطلاحی کلیه که ممکنه برای بررسی یا سوءاستفاده از ضعف‌های شبکه به کار بره. «تست نفوذ شبکه» ارزیابی مجاز و برنامه‌ریزی‌شده‌ایه که محدوده و هدف روشن داره. «امنیت سایبری» از هر دو گسترده‌تره و علاوه بر شبکه، حفاظت از برنامه‌ها، داده‌ها، هویت‌ها و واکنش به حادثه رو هم دربرمی‌گیره.

برای همین اگر کسی فقط چند پورت رو اسکن کرده، نمی‌تونه ادعا کنه کل شبکه رو تست نفوذ کرده. از اون طرف، ساختن چند VLAN هم به معنی انجام تمام کارهای امنیت سایبری نیست. برای فهمیدن فرق کشف سرویس با ارزیابی واقعی، درس اسکن آسیب‌پذیری و تست نفوذ رو ببین.

برای شروع آموزش هک شبکه چه چیزهایی باید بلد باشیم؟

اگه می‌خوای آموزش هک شبکه رو اصولی شروع کنی، اول TCP/IP، آدرس‌دهی، Subnet، DNS، Routing و Switching رو یاد بگیر. بعد برو سراغ لینوکس، ویندوز، سرویس‌های معمول، احراز هویت و فایروال. وقتی این‌ها رو فهمیدی، کار با Nmap، تحلیل بسته و نوشتن گزارش هم معنی پیدا می‌کنه. لازم نیست روز اول همه‌چیز رو بلد باشی؛ فقط قدم‌ها رو به ترتیب بردار.

برای تمرین عملی امن، می‌تونی بعداً یک آزمایشگاه ایزوله با ماشین‌های مجازی و شبکه داخلی اختصاصی بسازی، جریان‌های مجاز رو از قبل تعریف کنی و خروجی‌ها رو مقایسه کنی. در محیط آزمایشگاهی هم بهتره هیچ دستگاه، IP یا سرویس خارج از محدوده مجاز به‌صورت ناخواسته بررسی نشه. تمرین این مقاله عمداً آفلاینه تا قبل از ورود به ابزارها، ذهنیت درست تحلیل شبکه جا بیفته.

وقتی این مبانی رو یاد گرفتی، مسیر تخصصی‌تر با کار عملی روی ابزارها، سناریوهای آزمایشگاهی، تحلیل سرویس‌ها و گزارش حرفه‌ای معنا پیدا می‌کنه. برای دیدن ساختار آموزش جامع، می‌تونی پکیج متخصص تست نفوذ نابغه‌ها رو بررسی کنی. هدف مقاله‌های رایگان اینه که بفهمی چرا یک مهارت مهمه و بتونی مسیر یادگیریت رو آگاهانه انتخاب کنی؛ پروژه‌های عمیق‌تر جای خودشون رو در آموزش تخصصی دارن.

سه تمرین فکری برای اینکه فقط خواننده مقاله نباشی

تمرین اول : چه مسیری را باید بست؟

فکر کن بخش پذیرش کارگاه باید وضعیت کلی سفارش رو ببینه، اما فایل خام طراحی محرمانه است. حالا روی کاغذ بنویس کدوم سرویس باید برای پذیرش در دسترس باشه و چرا بهتره فایل‌های خام از اون مسیر قابل دانلود نباشن. جواب درست الزاماً «قطع کامل اینترنت» نیست؛ باید نیاز کسب‌وکار و حداقل دسترسی رو با هم ببینی.

تمرین دوم : آیا پورت باز یعنی هک موفق؟

در گزارش آزمایشگاهی فرضی نوشته شده «سرویس SSH روی یک دستگاه داخلی فعال است». دو سؤال طرح کن که قبل از گزارش آسیب‌پذیری باید پاسخ داده بشن. مثلاً چه کسی به اون مسیر دسترسی داره و چه کنترل احراز هویتی روی سرویس فعاله؟ اگر تنها مدرک تو وضعیت پورت باشه، نتیجه منصفانه اینه که سرویس در اون مسیر قابل دسترسیه؛ نه اینکه مهاجم واردش شده.

تمرین سوم : یک قانون مجاز را بازنویسی کن

در آزمایش Python، مدیر اجازه داره پنل چاپگر رو مدیریت کنه. حالا فرض کن مدیر فقط در ساعات کاری باید تغییرات مدیریتی انجام بده. به‌صورت مفهومی چه ویژگی تازه‌ای لازمه وارد سیاست بشه؟ این تمرین نشون می‌ده مدل سه‌تایی مبدأ/مقصد/عملیات برای همه سناریوها کافی نیست و در شرایط واقعی، زمان، وضعیت دستگاه، هویت و سطح مجوز هم می‌تونن مهم باشن.

اشتباه‌های رایج موقع یادگیری هک شبکه

بزرگ‌ترین اشتباه اینه که فکر کنی شبکه فقط مجموعه‌ای از IP و پورته. پشت هر دستگاه، یه سرویس و یه آدم با مجوزهای مشخص وجود داره. اشتباه دوم اینه که خروجی ابزار رو بدون بررسی تبدیل به «آسیب‌پذیری قطعی» کنی. اشتباه سوم هم تست کردن شبکه‌ایه که حتی یک مجوز روشن برای بررسیش نداری.

اشتباه بعدی اینه که به یک محصول دفاعی مثل فایروال، VPN یا WPA3 بیش‌ازحد اعتماد کنی؛ در حالی که تنظیمات و دسترسی‌ها هنوز ممکنه مشکل داشته باشن. برعکسش هم خطرناکه: چون اسکنر چیزی پیدا نکرده، نتیجه بگیری هیچ ضعفی وجود نداره. هک شبکه و امنیت شبکه رو باید با شواهد و بررسی مداوم فهمید، نه با اطمینان بی‌دلیل.

جمع‌بندی : هک شبکه قبل از هر چیز یعنی شناختن مرز اعتماد

حالا دوباره برگردیم به کارگاه چاپ سه‌بعدی. سؤال درست دیگه این نیست که «کدوم ابزار هک رو اجرا کنیم؟». باید بپرسیم: گوشی مشتری به چه چیزی نیاز داره؟ طراح حق دیدن کدوم فایل رو داره؟ مدیر از کجا تنظیمات رو تغییر می‌ده؟ و چطور مطمئن می‌شیم این قانون‌ها واقعاً اجرا می‌شن؟ همین سؤال‌ها یک شبکه شلوغ رو به چیزی تبدیل می‌کنن که می‌تونیم امنیتش رو بررسی کنیم.

پس اگه کسی ازت پرسید هک شبکه چیست، لازم نیست از ترمینال و دستورهای عجیب شروع کنی. بهش بگو وقتی ارتباط دستگاه‌ها، سرویس‌ها یا مجوزها درست طراحی نشده باشن، امکان دسترسی ناخواسته به وجود میاد. کار یک ارزیاب حرفه‌ای هم اینه که با مجوز، مشکل رو دقیق ثابت کنه و راه اصلاحش رو توضیح بده.

بعد از این درس، قدم منطقی‌تر اینه که پورت‌ها و سرویس‌ها رو بهتر بشناسیم و یاد بگیریم شناسایی یک سرویس چه فرقی با اثبات نفوذ داره. فعلاً همین نکته رو با خودت نگه دار: اول مسیر و مجوز رو بفهم، بعد سراغ ابزار برو. برای ادامه هم هاب امنیت شبکه در دسترسه.

روش های هک شبکه

سؤالات متداول درباره هک شبکه

هک شبکه چیست و با هک سایت چه فرقی دارد؟

هک شبکه بیشتر روی ارتباط دستگاه‌ها و سرویس‌های زیرساخت تمرکز داره؛ هک سایت معمولاً ضعف‌های برنامه وب و منطق درخواست‌ها رو بررسی می‌کنه. البته ممکنه یک اپلیکیشن وب به سرویس داخلی وصل باشه و مرز این دو موضوع به هم برسه.

آیا هک شبکه بدون کالی لینوکس هم ممکن است؟

آره. ضعف شبکه لزوماً ربطی به یک سیستم‌عامل خاص نداره. کالی ابزارهای زیادی برای تست مجاز داره، اما بدون شناخت مبانی شبکه و مجوز، نصبش مهارت هک شبکه ایجاد نمی‌کنه.

هک شبکه با هک وای‌فای یکی است؟

نه دقیقاً. هک وای‌فای بیشتر درباره بخش اتصال بی‌سیمه، ولی هک شبکه می‌تونه مسیرهای سیمی، سرورها، روترها، سرویس‌ها و دسترسی‌های داخلی رو هم شامل بشه.

آیا دیدن پورت باز یعنی می‌شود به شبکه نفوذ کرد؟

نه. پورت باز یعنی از نقطه‌ای که بررسی کردی، سرویسی قابل دسترس تشخیص داده شده. برای اینکه درباره آسیب‌پذیری حرف بزنی باید سرویس، تنظیمات، مجوزها و شواهد واقعی رو در یک آزمایش مجاز بررسی کنی.

از کجا بفهمیم شبکه‌مان هک شده است؟

از یک نشونه نمی‌شه نتیجه قطعی گرفت. ورودهای غیرعادی، تغییر تنظیمات و ارتباط‌های ناشناخته رو در کنار لاگ‌ها و رفتار معمول شبکه بررسی کن. اگر احتمال حادثه جدی وجود داره، قبل از دستکاری سیستم‌ها با مسئول پاسخ به رخداد هماهنگ شو تا شواهد از بین نره.

برای شروع یادگیری هک شبکه اول شبکه بخوانیم یا برنامه‌نویسی؟

برای شروع، فهمیدن TCP/IP، آدرس‌دهی، پورت، DNS و Routing ضروری‌تره. بعد از اون Python و اسکریپت‌نویسی برای تحلیل و خودکارسازی کمک زیادی می‌کنن، ولی هیچ‌کدوم جای شبکه رو نمی‌گیرن.

آیا VLAN برای جلوگیری از هک شبکه کافی است؟

نه، VLAN فقط یک بخش از جداسازیه. هنوز باید قوانین عبور ترافیک بین بخش‌ها، فایروال، ACL و مجوزهای خود سرویس‌ها رو درست تنظیم کنی.

آیا می‌توانیم شبکه شرکت یا وای‌فای عمومی را برای تمرین اسکن کنیم؟

فقط وقتی صاحب شبکه صریحاً اجازه داده و محدوده تست مشخصه. وصل شدن به یک وای‌فای عمومی یعنی اجازه استفاده از سرویس ارائه‌شده، نه مجوز اسکن کردن دستگاه‌های پشت اون. برای تمرین از لابراتوار خودت استفاده کن.

منابع فنی و مطالعه تکمیلی

برای بررسی این درس از منابع رسمی استفاده شده. داستان «کارگاه آبی»، مدل پنج سؤال و تمرین Python مثال‌های آموزشی اختصاصی‌ان. برای مطالعه بیشتر، این‌ها رو ببین: NIST SP 800-115، NIST SP 800-207، راهنمای CISA درباره Microsegmentation، راهنمای سخت‌سازی تجهیزات شبکه CISA و مستندات وضعیت پورت در Nmap.

می‌خواهی عمیق‌تر جلو بروی؟

این درس فقط یک بخش از مسیر کامل است

اگر می‌خواهی مباحث را به‌ترتیب، همراه تمرین و پروژه دنبال کنی، مسیر کامل دوره را ببین.

مشاهده پکیج تست نفوذ