ست نفوذ یا (Pentesting) یک تمرین امنیتی است که در آن یک متخصص امنیت سایبری تلاش میکند تا آسیب پذیری ها را در یک سیستم کامپیوتری پیدا کند و از آن بهره برداری کند. هدف از این حمله شبیه سازی شده شناسایی نقاط ضعف در دفاع سیستم است که مهاجمان می توانند از آن بهره ببرند.
این کار مانند این است که یک بانک شخصی را استخدام می کند تا لباس سارق بپوشد و سعی کند به ساختمان آن ها نفوذ کند و به صندوق دسترسی پیدا کند. اگر سارق موفق شود و وارد بانک یا صندوق شود، بانک اطلاعات ارزشمندی در مورد چگونگی نیاز به تشدید اقدامات امنیتی خود به دست خواهد آورد.
چه کسی تست نفوذ را انجام می دهد؟
بهتر است تست نفوذ توسط شخصی انجام شود که اطلاعات کمی در مورد نحوه ایمن سازی سیستم دارد، زیرا ممکن است بتواند نقاط کوری را که توسط توسعه دهندگان و سازنده سیستم از پنهان مانده است، آشکار کند. به همین دلیل معمولاً پیمانکاران خارجی برای انجام آزمایشات وارد می شوند. این پیمانکاران اغلب به عنوان هکرهای اخلاقی شناخته می شوند زیرا آن ها برای هک کردن یک سیستم با مجوز و به منظور افزایش امنیت استخدام می شوند.
بسیاری از هکر های اخلاقی توسعه دهندگان باتجربه با مدارک پیشرفته و گواهینامه تست نفوذ هستند. از سوی دیگر، برخی از بهترین هکر های اخلاقی خودآموخته و خود آموز هستند. در واقع، برخی هکر های کلاه سیاه اصلاح شده هستند که اکنون از تخصص خود برای کمک به رفع نقص های امنیتی به جای سوء استفاده از آن ها استفاده می کنند. بهترین کاندید برای انجام تست نفوذ می تواند بسته به شرکت مورد نظر و نوع آزمایش قلمی که می خواهند شروع کنند بسیار متفاوت است.
انواع تست های نفوذ چیست؟
تست Open-box PenTest : در یک تست جعبه باز، اطلاعاتی در مورد اطلاعات امنیتی شرکت مورد نظر قبل از تست نفوذ به هکر ارائه می شود.
تست نفوذ بسته Closed-box PenTest : آزمایشی است که در آن به هکر هیچ اطلاعاتی به جز نام شرکت مورد نظر داده نمی شود.
تست نفوذ مخفی Convert PenTest : وضعیتی است که تقریباً هیچ کس در شرکت از انجام آزمایش نفوذ آگاه نیست، از جمله متخصصان فناوری اطلاعات و امنیت که به حمله پاسخ خواهند داد. برای آزمایش های مخفی، برای هکر بسیار مهم است که دامنه و سایر جزئیات آزمایش را از قبل به صورت مکتوب داشته باشد تا از هر گونه مشکلی در اجرای قانون جلوگیری شود.
تست نفوذ خارجی External PenTest : در یک آزمایش خارجی، هکر اخلاقی با فناوری های خارجی شرکت مانند وب سایت و سرور های شبکه خارجی مقابله میکند. در برخی موارد، هکر حتی ممکن است اجازه ورود به ساختمان شرکت را نداشته باشد. این می تواند به معنای انجام حمله از یک مکان دور یا انجام آزمایش از کامیون یا ون پارک شده در نزدیکی باشد.
تست نفوذ داخلی Enternal PenTest : در یک تست داخلی، هکر اخلاقی آزمایش را از شبکه داخلی شرکت انجام می دهد. این نوع تست برای تعیین میزان خسارتی که یک کارمند ناراضی از پشت فایروال شرکت وارد می کند مفید است.
تستر های نفوذ (متخصصان تست نفوذ) حملات مهاجمان با انگیزه را شبیه سازی می کنند. برای انجام این کار، آن ها معمولاً طرحی را دنبال می کنند که شامل مراحل زیر است:
شناسایی (reconnaissance) تا جایی که ممکن است اطلاعات بیشتری در مورد هدف از منابع عمومی و خصوصی برای اطلاع از استراتژی حمله جمع آوری کنید. منابع عبارتند از جستجو های اینترنتی، بازیابی اطلاعات ثبت دامنه، مهندسی اجتماعی، اسکن شبکه بدون نفوذ، و گاهی اوقات حتی جستجو در زبالهدان. این اطلاعات به آزمایش کنندگان نفوذ کمک میکند تا سطح حمله هدف و آسیب پذیری های احتمالی را ترسیم کنند. شناسایی می تواند بسته به دامنه و اهداف آزمون نفوذ متفاوت باشد
اسکن کردن (Scanning) تستر های نفوذ از ابزارهایی برای بررسی وب سایت یا سیستم مورد نظر برای نقاط ضعف، از جمله سرویس های باز، مسائل امنیتی برنامه ها و آسیب پذیری های منبع باز استفاده می کنند. هکر های اخلاقی بر اساس آنچه در حین شناسایی و در حین آزمایش پیدا می کنند از ابزارهای مختلفی استفاده می کنند.
دسترسی یافتن (Access) انگیزه های مهاجم می تواند شامل دزدی، تغییر یا حذف داده ها باشد.برای انجام هر آزمایش، تستکننده های نفوذ بهترین ابزار ها و تکنیک ها را برای دسترسی به سیستم، چه از طریق ضعفی مانند تزریق SQL یا از طریق بدافزار، مهندسی اجتماعی یا موارد دیگر، تعیین میکنند.
حفظ دسترسی هنگامی که متخصصان تست نفوذ به هدف دسترسی پیدا میکنند، حمله شبیهسازی شده آن ها باید به اندازه کافی در ارتباط بماند تا به اهداف خود در استخراج دادهها، اصلاح آنها یا سوء استفاده از عملکرد دست یابند. این در مورد نشان دادن تأثیر بالقوه است.
ابزار های مختلفی برای انجام تست نفوذ وجود دارند، اهداف مختلف به مجموعه های مختلفی از ابزارها برای اسکن پورت، اسکن برنامهها، خرابی های Wi-Fi یا نفوذ مستقیم به شبکه نیاز دارند. به طور کلی، انواع ابزارهای تست نفوذ در پنج دسته قرار می گیرند.
ابزار های شناسایی برای کشف میزبان (HOST) شبکه و پورت های باز
اسکنر های آسیب پذیری برای کشف مشکلات در سرویس های شبکه، برنامههای کاربردی وب و API ها
ابزارهای پراکسی مانند پروکسی های وب تخصصی یا پروکسی های عمومی man-in-the-middle
ابزارهای بهره برداری برای دستیابی به جای پای سیستم یا دسترسی به دارایی ها
ابزارهای Post Exploitation برای تعامل با سیستم ها، حفظ و گسترش دسترسی و دستیابی به اهداف حمله
تست نفوذ دستی چه تفاوتی با تست خودکار دارد؟
اگرچه تست نفوذ (Pentesting) عمدتاً یک تلاش دستی است، متخصصین تست نفوذ و هکر های اخلاقی از ابزار های اسکن و تست خودکار استفاده می کنند. اما آن ها همچنین از ابزارها فراتر می روند و از دانش خود در مورد آخرین تکنیک های حمله برای ارائه آزمایش های عمیق تر از ارزیابی آسیب پذیری (یعنی آزمایش خودکار) استفاده می کنند.
تست خودکار دستی
آزمایش خودکار دستی آسیب پذیری ها و نقاط ضعفی را که در فهرست های محبوب گنجانده نشدهاند (مانند ۱۰ OWASP) آشکار میکند و منطق تجاری را که آزمایش خودکار میتواند نادیده بگیرد (مانند اعتبارسنجی دادهها، بررسی یکپارچگی) آزمایش میکند. یک آزمایش خودکار دستی همچنین می تواند به شناسایی موارد مثبت کاذب گزارش شده توسط آزمایش خودکار کمک کند. از آنجایی که تستر های نفوذ متخصصانی هستند که مانند مهاجمان فکر میکنند، میتوانند داده ها را برای هدف قرار دادن حملات خود تجزیه و تحلیل کنند و سیستم ها و وبسایت ها را به روشهایی آزمایش کنند که راه حل های آزمایش خودکار طبق یک روال اسکریپت شده نباشد.
تست خودکار
تست خودکار نتایج سریعتری را تولید میکند و به متخصصان کمتری نسبت به فرآیند تست نفوذ دستی نیاز دارد. ابزار های تست خودکار نتایج را به طور خودکار ردیابی می کنند و گاهی اوقات می توانند آنها را به یک پلتفرم گزارش متمرکز صادر کنند. همچنین، نتایج آزمایش های خودکار دستی میتواند از آزمونی به آزمون دیگر متفاوت باشد، در حالی که اجرای مکرر آزمایش خودکار روی یک سیستم نتایج یکسانی را ایجاد میکند.
امیدوارم این مقاله آموزشی برای شما مفید واقع شده باشه :)