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