اسکن کردن چیست؟
اسکن فرآیندی است که شامل درگیری و کاوش شبکه هدف با نیت آشکارسازی اطلاعات مفید و سپس استفاده از آن اطلاعات برای مراحل بعدی تست نفوذ است. مسلح به دانش مبانی شبکه، یک اسکنر و نتایج یک ردپایابی کامل، امکان به دست آوردن تصویری مناسب از هدف وجود دارد.
برای یک هکر قانونمند چیز عجیبی نیست که درگیر فاز اسکن شبکه شود و با نموداری بهتر از محیط شبکه نسبت به آنچه خود مشتری دارد، بیرون بیاید. چرا این امکانپذیر است؟ با رشد سریع شبکهها، پذیرش فناوری، تیمهای پشتیبانی بزرگ و جابجایی پرسنل، دانش مشتری از شبکه خودش ممکن است تا حدودی مبهم شده باشد. در برخی موارد افرادی که شبکه را طراحی کردهاند نمودار اولیه را ایجاد کردهاند، اما پس از ترک شرکت یا رفتن به موقعیتهای جدید، نمودار هرگز با پذیرش فناوریهای جدید بهروز نشده است. معمولاً تغییراتی در شبکه و میزبانها ایجاد میشود و نمودارهای شبکه در اولویت نیستند. بنابراین، نمودار قدیمی و بسیار نادقیق میشود. به عنوان یک هکر قانونمند، باید آماده مواجهه با این وضعیت باشید و همچنین آماده پیشنهاد بهبودهایی در سیاستها و رویههای عملیاتی باشید که از تکرار این موضوع جلوگیری کند. به یاد داشته باشید که اگر مشتری نداند محیط خودش چه شکلی است، هیچ ایدهای ندارد که چه چیزی باید آنجا باشد و چه چیزی نباید باشد.
انواع اسکنها
همه اسکنها به دنبال یک چیز نیستند یا تلاش نمیکنند به یک نتیجه واحد دست یابند، بنابراین مهم است که درک کنید گزینههای شما در ورود به فرآیند چیست. همه اسکنها مضمون کلی یکسانی دارند که کسب اطلاعات درباره یک میزبان یا گروهی از میزبانهاست، اما اگر کمی عمیقتر شوید تفاوتها شروع به ظهور میکنند. هر اسکن سطح و نوع اطلاعات متفاوتی نسبت به دیگران ارائه میدهد و بنابراین هر کدام ارزشی برای شما خواهند داشت.
برای ساده نگه داشتن اوضاع، بیایید انواع اسکنها را به سه دسته مختلف تقسیم کنیم که هر کدام ویژگیهای خاص خود را دارند:
- اسکن پورت (Port Scan): اسکن پورت فرآیند ارسال پیامها یا بستههایی است که با دقت ساخته شدهاند به یک کامپیوتر هدف با نیت یادگیری بیشتر درباره آن. این کاوشها معمولاً با شماره پورتهای شناختهشده یا پورتهای کمتر یا مساوی ۱۰۲۴ مرتبط هستند. از طریق به کارگیری دقیق این تکنیک، میتوانید درباره سرویسهایی که یک سیستم به کل شبکه ارائه میدهد اطلاعات کسب کنید. حتی ممکن است در طول این فرآیند بتوانید سیستمهایی مانند سرورهای ایمیل، کنترلکنندههای دامنه و وبسرورها را از یکدیگر تشخیص دهید. در این دوره ابزار اصلی که ما در اسکن پورت استفاده خواهیم کرد nmap است که توسط بسیاری به عنوان اسکنر پورت قطعی و نهایی در نظر گرفته میشود.
- اسکن شبکه (Network Scan): اسکن شبکه برای مکانیابی تمام میزبانهای زنده (Live hosts) در شبکه (میزبانهایی که روشن و در حال اجرا هستند) طراحی شده است. این نوع اسکن سیستمهایی را شناسایی میکند که ممکن است بعداً مورد حمله قرار گیرند یا آنهایی که ممکن است کمی دقیقتر اسکن شوند. اسکنهایی که در این دسته قرار میگیرند مانند Ping sweep هستند که به سرعت محدودهای از IPها را اسکن میکنند و تعیین مینمایند که آیا آدرسی دارای میزبان روشن متصل به آن است یا خیر. ابزارهایی برای انجام این نوع اسکن شامل nmap و Angry IP و موارد دیگر هستند.
- اسکن آسیبپذیری (Vulnerability Scan): اسکن آسیبپذیری برای شناسایی ضعفها یا آسیبپذیریها روی سیستم هدف استفاده میشود. این نوع اسکن معمولاً به عنوان اقدامی پیشگیرانه انجام میشود، با این هدف که مشکلات داخلی قبل از اینکه یک مهاجم بتواند همان آسیبپذیریها را پیدا کرده و بر اساس آنها عمل کند، شناسایی شوند. یک اسکن آسیبپذیری معمولی میزبانها، نقاط دسترسی و پورتهای باز را کشف میکند؛ پاسخ سرویس را تحلیل میکند؛ تهدیدها را طبقهبندی مینماید؛ و گزارش تولید میکند. اسکنهای آسیبپذیری در شرکتها محبوب هستند زیرا میتوانند آنها را به راحتی برای ارزیابی سیستمهای خود انجام دهند. دو اسکنر آسیبپذیری رایج شامل Nessus و Nexpose هستند. علاوه بر این اسکنرهای تخصصی مانند Burp Suite ،Nikto و WebInspect وجود دارند.
برای روشن کردن برخی سردرگمیهای احتمالی که ممکن است در حرفه شما به عنوان یک هکر قانونمند ایجاد شود، اجازه دهید تفاوت بین یک اسکن آسیبپذیری و یک تست نفوذ را توضیح دهم. یک اسکن آسیبپذیری برای آشکارسازی ضعفهای موجود در یک شبکه یا میزبان طراحی شده است اما برای اکسپلویت (بهرهبرداری) از آن ضعفها نیست. یک تست نفوذ طراحی شده است تا نهتنها ضعفها را پیدا کند، بلکه مانند یک مهاجم واقعی از آنها بهرهبرداری کند.
چه نوع اطلاعاتی را میتوانید انتظار داشته باشید که به عنوان بخشی از یک تست نفوذ به دست آورید؟ پاسخ سادهای به این سوال وجود ندارد، اما میتوانیم فرضیات کلی در مورد آنچه ممکن است کشف شود، داشته باشیم. در طول فرآیند اسکن ممکن است با اطلاعاتی مانند موارد زیر روبرو شوید:
- میزبانهای زنده در یک شبکه
- اطلاعات درباره پورتهای باز/بسته روی یک میزبان
- اطلاعات درباره سیستمعامل(ها) و معماری سیستم
- سرویسها یا فرآیندهای در حال اجرا روی میزبانها
- انواع و شدت آسیبپذیریها
- اطلاعات درباره پچهای موجود روی سیستم
- حضور فایروالها
- آدرسهای روترها و سایر دستگاهها
با نگاه به این لیست، به راحتی میتوان دید که چرا اسکن بخشی از فرآیند جمعآوری اطلاعات در نظر گرفته میشود که یک مهاجم برای کسب اطلاعات درباره هدف استفاده میکند. مهارت، سرسختی و خلاقیت شما (در برخی موارد) تعیین خواهد کرد که چقدر در انجام یک اسکن موفق خواهید بود، پس اگر در طول اسکن به بنبست خوردید، مشکل را بازنگری کنید و گام بعدی خود را تعیین نمایید. به یاد داشته باشید که برای راهنمایی به اطلاعاتی که در فاز ردپایابی اولیه برداشت کردهاید، مراجعه کنید.
انتظار داشته باشید که تحلیل اطلاعات جمعآوری شده در طول این فاز، بسته به اینکه چقدر در خواندن اطلاعات حاصل مهارت دارید، زمان قابل توجهی ببرد. دانش شما نهتنها به شما کمک میکند تا اسکنهای اولیه خود را بهتر هدفگذاری کنید، بلکه در تعیین نحوه رمزگشایی بخشهای خاصی از نتایج نیز بهتر عمل خواهید کرد، همانطور که بعداً خواهید دید.