اسکن شبکه چیست؟ معرفی انواع اسکن و فلگهای TCP
مفاهیم اسکن شبکه
همانطور که پیشتر بحث شد، ردیابی ردپا اولین فاز از هک است که در آن مهاجم اطلاعات اولیهای درباره یک هدف بالقوه کسب میکند. سپس او از این اطلاعات در فاز اسکن استفاده میکند تا جزئیات بیشتری درباره هدف گردآوری کند.
مروری بر اسکن شبکه
اسکن، فرآیند جمعآوری اطلاعات دقیقتر درباره هدف با استفاده از تکنیکهای شناسایی بسیار پیچیده و تهاجمی است. اسکن شبکه به مجموعهای از رویهها اشاره دارد که برای شناسایی میزبانها، پورتها و سرویسها در یک شبکه استفاده میشوند. اسکن شبکه همچنین برای کشف ماشینهای فعال در یک شبکه و شناسایی سیستمعامل در حال اجرا روی ماشین هدف کاربرد دارد. این یکی از مهمترین فازهای جمعآوری اطلاعات برای یک مهاجم است که به او امکان میدهد پروفایلی از سازمان هدف ایجاد کند. در فرآیند اسکن، مهاجم تلاش میکند اطلاعاتی از جمله آدرسهای IP خاص که از طریق شبکه قابل دسترسی هستند، سیستمعامل و معماری سیستم هدف، و پورتها به همراه سرویسهای مربوط به آنها که روی هر رایانه در حال اجرا هستند را گردآوری کند.
هدف از اسکن، کشف کانالهای ارتباطی قابل بهرهبرداری، بررسی بیشترین تعداد ممکن از شنوندهها و ردیابی مواردی است که پاسخگو هستند یا برای نیازهای خاص مهاجم مفیدند. در فاز اسکنِ یک حمله، مهاجم تلاش میکند راههای متنوعی برای نفوذ به سیستم هدف بیابد. مهاجم همچنین میکوشد اطلاعات بیشتری درباره سیستم هدف کسب کند تا وجود هرگونه نقص در پیکربندی را مشخص نماید. سپس مهاجم از اطلاعات بهدستآمده برای توسعه راهبرد حمله استفاده میکند.
انواع اسکن
• اسکن پورت — پورتها و سرویسهای باز را فهرست میکند. اسکن پورت فرآیند بررسی سرویسهای در حال اجرا روی رایانه هدف از طریق ارسال دنبالهای از پیامها، با هدف تلاش برای نفوذ است. اسکن پورت شامل اتصال به پورتهای TCP و UDP سیستم هدف یا بررسی آنها برای تعیین این موضوع است که آیا سرویسها در حال اجرا هستند یا در وضعیت شنود قرار دارند. وضعیت شنود اطلاعاتی درباره سیستمعامل و برنامهای که در حال حاضر مورد استفاده است فراهم میکند. گاهی اوقات، سرویسهای فعالی که در حالت شنود قرار دارند ممکن است به کاربران غیرمجاز اجازه دهند سیستمها را بهصورت نادرست پیکربندی کنند یا نرمافزارهایی دارای آسیبپذیری را اجرا نمایند.
• اسکن شبکه — میزبانها و آدرسهای IP فعال را فهرست میکند. اسکن شبکه رویهای برای شناسایی میزبانهای فعال در یک شبکه است؛ چه با هدف حمله به آنها و چه با هدف ارزیابی امنیت شبکه.
• اسکن آسیبپذیری — وجود ضعفهای شناختهشده را نشان میدهد. اسکن آسیبپذیری روشی برای بررسی این موضوع است که آیا یک سیستم از طریق شناسایی آسیبپذیریهایش قابل بهرهبرداری است یا خیر. یک اسکنر آسیبپذیری از یک موتور اسکن و یک کاتالوگ تشکیل شده است. کاتالوگ شامل فهرستی از فایلهای رایج دارای آسیبپذیریهای شناختهشده و اکسپلویتهای رایج برای طیفی از سرورها است. برای مثال، یک اسکنر آسیبپذیری ممکن است بهدنبال فایلهای پشتیبان یا اکسپلویتهای پیمایش مسیر بگردد. موتور اسکن منطق لازم برای خواندن فهرست اکسپلویتها، انتقال درخواست به وبسرور، و تحلیل درخواستها برای اطمینان از ایمنی سرور را نگهداری میکند. این ابزارها عموماً آسیبپذیریهایی را هدف قرار میدهند که پیکربندیهای امن میزبان میتوانند آنها را بهراحتی از طریق وصلههای امنیتی بهروزشده و یک سند وب پاک برطرف کنند. سارقی که میخواهد وارد خانهای شود، بهدنبال نقاط دسترسی مانند درها و پنجرهها میگردد. اینها معمولاً نقاط آسیبپذیر خانه هستند، زیرا بهآسانی قابل دسترسیاند. در مورد سیستمها و شبکههای رایانهای، پورتها همان درها و پنجرههای یک سیستم هستند که یک نفوذگر برای دستیابی به دسترسی از آنها استفاده میکند. یک قاعده کلی برای سیستمهای رایانهای این است که هرچه تعداد پورتهای باز روی یک سیستم بیشتر باشد، آن سیستم آسیبپذیرتر است. با این حال، مواردی وجود دارد که در آنها سیستمی با پورتهای باز کمتر نسبت به یک ماشین دیگر، سطح بسیار بالاتری از آسیبپذیری را ارائه میدهد.
اهداف اسکن شبکه
هرچه اطلاعات در دسترس درباره یک سازمان هدف بیشتر باشد، احتمال شناخت رخنههای امنیتی شبکه و در نتیجه، دستیابی به دسترسی غیرمجاز به آن بیشتر خواهد بود.
برخی از اهداف اسکن یک شبکه به شرح زیر است:
• کشف میزبانهای زنده شبکه، آدرسهای IP و پورتهای باز میزبانهای زنده. مهاجم با استفاده از پورتهای باز، بهترین روش ورود به سیستم را تعیین خواهد کرد.
• کشف سیستمعامل و معماری سیستم هدف. این کار با عنوان اثرانگشتبرداری نیز شناخته میشود. مهاجم میتواند بر اساس آسیبپذیریهای سیستمعامل، راهبرد حملهای تدوین کند.
• کشف سرویسهایی که روی سیستم هدف در حال اجرا هستند یا در وضعیت شنود قرار دارند. انجام این کار به مهاجم نشانهای از آسیبپذیریهایی میدهد که بر اساس سرویس میتوانند برای کسب دسترسی به سیستم هدف مورد بهرهبرداری قرار گیرند.
خ شناسایی برنامههای خاص یا نسخههای یک سرویس مشخص.
• شناسایی آسیبپذیریها در هر یک از سیستمهای شبکه. این کار به مهاجم کمک میکند تا از طریق اکسپلویتهای مختلف، سیستم یا شبکه هدف را به خطر بیندازد.
• ترسیم توپولوژی شبکه، شامل دستگاهها، روترها، سوئیچها و اتصالات میان آنها.
فلگهای ارتباطی TCP
هدر TCP شامل فلگهای مختلفی است که انتقال داده را در یک اتصال TCP کنترل میکنند. شش فلگ کنترلی TCP اتصال میان میزبانها را مدیریت کرده و دستورالعملهایی را به سیستم ارائه میدهند. چهار مورد از این فلگها، یعنی SYN، ACK، FIN و RST، بر ایجاد، نگهداری و خاتمه یک اتصال نظارت دارند. دو فلگ دیگر، یعنی PSH و URG، دستورالعملهایی را به سیستم ارائه میدهند. اندازه هر فلگ ۱ بیت است. از آنجا که در بخش فلگهای TCP شش فلگ وجود دارد، اندازه این بخش ۶ بیت است. هنگامی که مقدار یک فلگ روی «۱» تنظیم شود، آن فلگ بهطور خودکار فعال میشود.
فلگهای ارتباطی TCP به شرح زیر هستند:
همگامسازی یا «SYN»: انتقال یک شماره توالی جدید را اطلاع میدهد. این فلگ معمولاً نشاندهنده ایجاد یک اتصال، یعنی دستدهی سهمرحلهای، میان دو میزبان است.
تأیید یا «ACK»: دریافت انتقال را تأیید کرده و شماره توالی مورد انتظار بعدی را مشخص میکند. هنگامی که سیستم یک بسته را با موفقیت دریافت میکند، مقدار این فلگ را روی «۱» تنظیم میکند؛ بنابراین نشان میدهد که گیرنده باید به آن توجه کند.
ارسال فوری یا «PSH»: هنگامی که روی «۱» تنظیم شود، نشان میدهد که فرستنده عملیات Push را برای گیرنده فعال کرده است؛ این بدان معناست که سیستم راهدور باید برنامه دریافتکننده را درباره دادههای بافرشدهای که از سوی فرستنده میآیند مطلع کند. سیستم فلگ PSH را در آغاز و پایان انتقال داده فعال میکند و آن را روی آخرین سگمنت یک فایل تنظیم میکند تا از بنبستهای بافر جلوگیری شود.
فوری یا «URG»: به سیستم دستور میدهد دادههای موجود در بستهها را در سریعترین زمان ممکن پردازش کند. هنگامی که سیستم این فلگ را روی «۱» تنظیم میکند، اولویت به پردازش دادههای فوری داده میشود و پردازش تمام دادههای دیگر متوقف میشود.
پایان یا «FIN»: روی «۱» تنظیم میشود تا اعلام کند دیگر انتقالی به سیستم راهدور ارسال نخواهد شد و اتصالی که با فلگ SYN برقرار شده بود خاتمه مییابد.
بازنشانی یا «RST»: هنگامی که خطایی در اتصال فعلی وجود داشته باشد، این فلگ روی «۱» تنظیم میشود و اتصال در پاسخ به خطا قطع میگردد. مهاجمان از این پرچم برای اسکن میزبانها و شناسایی پورتهای باز استفاده میکنند.
اسکن SYN عمدتاً با سه فلگ سروکار دارد: SYN، ACK و RST. شما میتوانید از این سه فلگ برای جمعآوری اطلاعات غیرمجاز از سرورها در طول شمارشبرداری استفاده کنید.
ارتباطات TCP/IP
TCP اتصالگرا است؛ یعنی پیش از انتقال داده بین برنامهها، بر برقراری اتصال اولویت میدهد. این اتصال میان پروتکلها از طریق دستدهی سهمرحلهای امکانپذیر است.
یک نشست TCP با استفاده از سازوکار دستدهی سهمرحلهای آغاز میشود:
• برای آغاز یک اتصال TCP، مبدأ (۱۰٫۰٫۰٫۲:۲۱) یک بسته SYN به مقصد (۱۰٫۰٫۰٫۳:۲۱) ارسال میکند.
ه مقصد پس از دریافت بسته SYN، با ارسال یک بسته SYN/ACK به مبدأ پاسخ میدهد.
• بسته ACK رسیدن بسته SYN اول را به مبدأ تأیید میکند.
• در نهایت، مبدأ یک بسته ACK برای بسته SYN/ACK ارسالشده از سوی مقصد میفرستد.
این فرآیند یک اتصال «OPEN» را ایجاد میکند و در نتیجه امکان برقراری ارتباط بین مبدأ و مقصد فراهم میشود؛ این ارتباط ادامه مییابد تا زمانی که یکی از آنها برای بستن اتصال یک بسته FIN یا RST صادر کند.
پروتکل TCP در سراسر اینترنت برای همه پروتکلهای اتصالگرا، اتصالهای حالتمند را نگه میدارد و عملکردی مشابه ارتباط تلفنی معمولی دارد؛ جایی که فرد گوشی تلفن را برمیدارد، بوق آزاد را میشنود و شمارهگیری میکند؛ سپس در سمت مقابل زنگ به صدا درمیآید تا کسی گوشی را بردارد و بگوید: «Hello».
سیستم نشست TCP برقرارشده را به شکل زیر خاتمه میدهد:
پس از تکمیل تمامی انتقالهای داده از طریق اتصال TCP برقرارشده، فرستنده درخواست خاتمه اتصال را از طریق یک بسته FIN یا RST به گیرنده ارسال میکند. گیرنده پس از دریافت درخواست خاتمه اتصال، با ارسال یک بسته ACK به فرستنده، درخواست خاتمه را تأیید میکند و در نهایت بسته FIN خود را ارسال میکند. سپس سیستم اتصال برقرارشده را خاتمه میدهد.







