مراحل اجرایی تست نفوذ وب اپلیکیشن ها – Web Application Penetration Testing آزمایش نفوذ یا تست نفوذ Penetration Testing چیست؟ نفوذ در وب اپلیکیشن تست نفوذ یا Penetration Testing یک فرایند ارزیابی امنیتی استکه جهت بررسی آسیب پذیری های برنامه های وب توسط کارشناسان امنیتی آموزش دیده (مانند آزمون های نفوذ یا هکرهای اخلاقی) مورد استفاده قرار می گیرد .
هدف از این آزمایش تقویت آسیب پذیری های امنیتی است که اپلیکیشن مورد نظر ممکن است داشته باشد ، به طوری که جامعه هکینگ به راحتی از آن سوء استفاده نکنند .
بدیهی است برنامه های کاربردی وب هدف های آسانی برای هکرها هستند ، بنابراین توصیه می شود توسعه دهندگان برنامه های کاربردی وب اغلب فرآیند تست نفوذ را انجام دهند تا این اطمینان حاصل شود که برنامه های کاربردی وب آنها از نظر آسیب پذیری های امنیتی و حملات مخرب در امان هستند .
در این سند ، تیم امنیتی ما سعی میکند روندی از اجرای تست نفوذ برنامه های وب را به تحریر در آورد تا بازدیدکنندگان گرامی دیدگاه کاملی از این فرآیند داشته باشند .
برنامه های کاربردی وب را می توان در دو روش مورد آزمایش قرار داد . تست ها می توانند یک حمله داخلی یا یک فضای شبیه سازی شده باشند .
همانطور که از نام آن پیداست تست نفوذ داخلی از طریق شبکه در داخل سازمان انجام می شود ، بدین معنی که برنامه های وب میزبانی شده در اینترانت مورد آزمایش قرار می گیرند . این روند برای کمک به کشف آسیب پذیری در فایروال شرکتی یا سازمانی می باشد . با این حال بر اساس تجارب چندین ساله خودمان همیشه اعتقاد داریم که حملات تنها می توانند با متد خارجی صورت بگیرند و آزمون های نفوذ داخلی در حوزه وب اپلیکیشن ها چندان مورد توجه قرار نمیگیرد ( این مورد صرفا در حوزه وب اپلیکیشن ها می باشد و تست نفوذ شبکه ها را شامل نمیشود )
سرورهای پروکسی نقش مهمی را در بررسی ترافیک برنامه وب شما و برجسته کردن هر گونه فعالیت های مخرب دارند . بنابراین باید مطمئن شویم که سرورهای پروکسی در شبکه شما دقیق و کارآمد باشند . ابزارهایی مانند Burp Proxy و OWSAP ZAP می در دستیابی به این کار کمک زیادی کنند.
باید اطمینان حاصل شود که فیلترهای هرزنامه ها یا ایمیل های اسپم به درستی کار کنند . بنابراین بررسی میکنیم که آیا ترافیک ورودی و خروجی با موفقیت فیلتر شده و ایمیل های ناخواسته مسدود شده اند ؟ به عبارت دیگر، مطمئن می شویم که سیاست ایمنی ایمیل به درستی اجرا شده باشد . باید توجه داشت که ارسال هرزنامه یکی از روش های محبوب حملات اولیه هکرها است.
باید اطمینان حاصل شود که فایروال شما از ورود ترافیک های مخرب و ناخواسته به برنامه وب جلوگیری می کند . علاوه بر این باید بررسی شود که آیا سیاست های امنیتی که با فایروال تنظیم شده اند به درستی اجرا می شوند . عدم کارکرد صحیح فایروال مانند این است که به هکرها یک دعوتنامه برای آمدن و هک کردن برنامه وب خود داده اید .
بررسی کامل امنیت در جنبه های مختلف برنامه وب مانند سرورها و دیگر دستگاه های شبکه با دقت تمام انجام می شود و آسیب پذیری های امنیتی که کشف می شود با دقت لیست می کنیم . پس از تحلیل نهایی ، راه هایی برای برطرف کردن آسیب پذیری ها پیدا میکنیم .
نام های کاربری و رمزهای عبور رمزگذاری شده باید طریق یک اتصال امن HTTPS منتقل شوند تا هکرها این اعتبارها را از طریق حملاتی مانند “MITM” یا حملات مختلف دیگر نشانه گیری نکنند . از آنجا وظیفه برقراری امنیت صرفا بر عهده مدیریت برنامه های وب می باشد ، باید توجه کنید که مشتریان شما با اطمینان از امن بودن وب و زیرساخت های مربوطه اقدام به ارائه اطلاعات حساس می کنند و توجهی به نقص های امنیتی ندارند .
کوکی ها داده های کاربر را ذخیره می کنند بنابراین این اطلاعات حساس در معرض هکرها گرفته و می تواند امنیت بسیاری از کاربران را که از وب سایت یا برنامه شما بازدید می کنند به خطر بندازد . باید اطمینان حاصل شود که داده های کوکی به راحتی نمایش داده نمی شوند . به عبارت دیگر، کوکی ها نباید در قالب متن ساده یا فرمت قابل خواندن در دسترس قرار بگیرند .
نقطه ورودی برنامه های وب برای اسپم ها هدف بسیار خوبی است بنابراین ، باید اطمینان خاصل شود که فرم های تماس شما قادر به شناسایی و جلوگیری از حملات اسپم ها و هرزنامه باشند . یکی از ساده ترین راه های جلوگیری از هرزنامه تماس، شامل CAPTCHA است.
پورت های باز در وب سروری که برنامه وب شما را میزبانی می کند میتواند اهداف خوبی برای هکرها باشد تا بتوانند امنیت برنامه وب شما را از بین ببرند . این مورد امنیتی باید بررسی شود تا اطمینان حاصل شود که هیچ پورت باز بدون استفاده در وب سرور شما وجود نداشته باشد .
باید اطمینان حاصل شود که پس از چندین تلاش ناموفق در ورودی ها از سمت هکرها ، ورودی برنامه وب شما قفل می شود . این مورد یکی از عناصر اساسی است که می تواند مسیر طولانی در تأمین امنیت برنامه وب شما برقرار کند .
باید اطمینان حاصل شود که تمام پیام های خطای برنامه وب شما عمومی هستند و مشکلات داخلی وب را بیش از حد معمول برای بازدیدکنندگان نشان نمی دهند . اگر همه خطاهای سمت سرور در سمت بازدیدکننده نمایش داده شود، مانند این است که به هکرها بگویید : “ما در اینجا یک مشکل داریم و شما می توانید از آن استفاده کنید!”
روش های HTTP که برنامه وب شما برای ارتباط با مشتریان استفاده می کند کاملا باید بررسی شود . باید اطمینان حاصل حاصل شود که روش PUT و Delete فعال نیست ، زیرا اگر فعال باشند هکرها به راحتی می توانند از برنامه وب سوء استفاده کنند .
۱۲ . تست نام کاربری و رمز عبور
تست نام کاربری و رمز عبور تمام کاربران در برنامه های وب شما مراحل اولیه فرآیند شماست . کلمات عبور باید کاملا پیچیده باشند و نام کاربری باید طوری باشد که به آسانی قابل حدس زدن نباشد . یوزر پسوردهای ضعیف را باید جدا کرده و به کاربران آنها هشدار داده شود .
باید اطمینان حاصل شود همه فایل هایی که شما در برنامه وب یا سرور خود آپلود می کنید قبل از آپلود اسکن شده باشند .
تزریق SQL یکی از محبوب ترین روش های استفاده از برنامه های کاربردی وب و وب سایت ها توسط هکرها است. بنابراین باید اطمینان حاصل شود که برنامه وب شما به انواع مختلف حملات SQL مقاوم است .
باید اطمینان حاصل شود که برنامه وب شما از scripting Cross-Site یا حملات XSS جلوگیری می کند.
۱۶ . تست مجوز های دسترسی
اگر برنامه وب شما دسترسی مبتنی بر نقش را فراهم می کند ، مجوزهای دسترسی کاربران باید بررسی شود و اطمینان حاصل شود که کاربران فقط به آن قسمت از برنامه وب که به آنها دسترسی داده شده ، دسترسی دارند . نه چیزی بیشتر و نه چیزی کمتر
این تست بسیار مهم است .
باید اطمینان حاصل شود که جلسات کاربر پس از خروج پایان می یابد . از آنجا که اگر این فرآیند صورت نگیرد هکرها به راحتی می توانند از جلسات دیگر کاربران سو استفاده کرده و وارد کاربری آنها بشوند . این فرایند hijacking session برای انجام فعالیت های مخرب نامیده می شود .
۱۸ . تست حملات Brute Force
باید اطمینان حاصل شود در صورت شکل گیری حملات Brute Force ، برنامه وب و میزبان آن چه تدابیری را اندیشیده اند . نمونه ایی از این تدابیر مسدود کردن آی پی هایی است که درخواست های غیر مشروع ارسال می کنند .
باید اطمینان حاصل شود که برنامه وب شما (DoS (Denial of Service با استفاده از ابزارهای مناسب این حملات را دفع می کند .
۲۰ . تست دایرکتوری مرورگر
باید اطمینان حاصل شود که دایرکتوری مرورگر در وب سرور که برنامه وب شما را میزبانی می کند غیرفعال است ، زیرا اگر این کار صورت نگرفته باشد هکرها به راحتی دسترسی فایل های مورد نظر خود را بر روی سرور شما به دست می آورند.
چگونه تست نفوذ انجام می شود؟
تست نفوذ را می توان به پنج مرحله تقسیم کرد :
مرحله اول شامل موارد زیر است :
تعریف محدوده و اهداف آزمون ، از جمله سیستم های مورد نظر و روش های آزمون که استفاده می شود و غیره،
جمع آوری اطلاعات شامل شبکه و نام دامنه ، پورت های باز ، انواع سرویس های فعال شده ، سرور پست الکترونیکی و …
گام بعدی این است که درک کنیم چگونه برنامه وب مورد نظر به تلاشهای مختلف برای نفوذ پاسخ می دهد . این کار معمولا با استفاده از دو روش زیر صورت می گیرد :
این مرحله با استفاده از حملات برنامه های کاربردی وب برای شناسایی آسیب پذیری های یک هدف، مانند اسکریپت های متقابل سایت ، تزریق SQL و backdoors است . سپس متخصصان تست نفوذ سعی می کنند از این آسیب پذیری ها استفاده کنند تا بتوانند آسیب هایی را که می توان با افزایش امتیازات ، سرقت اطلاعات ، ترافیک و غیره ایجاد کرد را شناسایی کنند.
هدف این مرحله این است که ببینیم آیا آسیب پذیری کشف شده می تواند برای رسیدن به حضور مداوم در سیستم ایفای نقش کند و برای یک هکر بهره برداری به اندازه کافی برای دسترسی به عمق استفاده وجود دارد ؟
نتایج آزمون نفوذ به تکمیل یک گزارش ختم می شود :
این اطلاعات توسط پرسنل امنیتی تکمیل می شود و برای کمک به پیکربندی تنظیمات WAF یک شرکت و سایر راه حل های امنیتی نرم افزار آسیب پذیر مورد تحلیل قرار خواهد گرفت .
نتیجه:
در این سند ، ما یک مرور کلی از برنامه های وب داشتیم و انواع آزمون نفوذ و چک لیست آن را با روند کامل تست نفوذ به تحریر در آوردیم . باید بپذیرید که فرآیند تست نفوذ نقاط ضعف زیرساخت فناوری اطلاعات شرکت ها و سازمان ها را بهبود می بخشد و ارزش سرمایه گذاری را دارد .
جامعه هکینگ
تست نفوذ وب اپلیکیشن ها Web Application Penetration Testing
چرا باید از خدمات تست نفوذ سایت برای وب سایت خود استفاده کنید ؟
امروزه بسیاری از افراد و شرکت ها به سمت کسب و کار های اینترنتی رفته اند. برنامه نویس های بسیاری وجود دارند که وب سایت هایی را طراحی می کنند ولی اصول امنیتی برنامه نویسی وب را رعایت نمی کنند. بسیاری از سایت های معروف با رتبه خوب، امنیت کافی ندارند زیر طراحان آن ها از اصول برنامه نویسی امن در فضای مجازی اطلاعاتی ندارند.
تست نفوذ وب سایت چیست ؟
تست نفوذ یا Penetration Testing یک فرایند ارزیابی امنیتی است که جهت بررسی آسیب پذیری های برنامه های وب توسط کارشناسان امنیتی آموزش دیده (مانند آزمون های نفوذ یا هکرهای اخلاقی) مورد استفاده قرار می گیرد تا راه های نفوذ هکران کشف و از آنها جلوگیری شود . انواع حملاتی که یک هکر می تواند برروی وب سایت شما پیاده کند. هدف از این آزمایش تقویت آسیب پذیری های امنیتی است که اپلیکیشن مورد نظر ممکن است داشته باشد ، بدون اینکه هیچ صدمه ای به شما وارد شود، صورت می گیرد. در نهایت گزارشی از حفره های امنیتی وب سایتتان در اختیار شما قرار می گیرد.
توجه داشته باشید که وب سرور بسیاری از شما در شبکه سازمان تان قرار دارد که در صورت هک شدن، هکر می تواند به دیگر قسمت های شبکه سازمان شما نیز دسترسی پیدا کند!
مراحل اجرایی تست نفوذ پذیری وب سایت
۱: اسکن و کشف آسیب پذیری ها
۲: گزارش از آسیب پذیری های کشف شده:
۳: ارائه راهکار برای رفع آسیب پذیری
لیست آزمون تست نفوذ در وب اپلیکیشن :
جعبه سفید White Box:
جعبه خاکستری Gray Box:
جعبه سیاهBlack Box:
تست نفوذپذیری وب سایت ، شامل مراحل کلی جمعآوری اطلاعات و شناخت کامل زیرساخت وب ، کشف و شناسایی آسیبپذیریها و باگهای امنیتی، تست آسیبپذیریها و ارائه راهکار امنسازی و در آخر تدوین گزارش آزمون نفوذ بوده است که براساس استانداردها و متدولوژیهای امنیتی همچون OWASP انجام شده است. مولفههای مورد نظر در این آزمون شامل زیرساخت وب و سرور مربوطه، بخشهای مختلف وبسایت، سیستم مدیریت محتوا، مولفهها و ماژولهای نصب شده و … بوده که با استفاده از منابع آشکار، نیمه آشکار و پنهان و همچنین بکارگیری سرویسهای عمومی و اختصاصی و ابزارهای تست نفوذ معتبر صورت می گیرد .
با ارائه راهکار های امنیتی و ارائه پتچ های امنیتی وب سایت ایمن شده و جلوی آسیب پذیری ها گرفته می شود . حال می توان اطمینان داشت وب سایت شما ایمن بوده و امکان نفوذ به سیستم وجود ندارد.
اسکن وب سایت ، شامل مراحل کلی جمعآوری اطلاعات و شناخت کامل زیرساخت وب ، کشف و شناسایی آسیبپذیریها و باگهای امنیتی می باشد . در این اسکن تمام آسیب پذیری های وب سایت بر اساس استاندارد OWASP TOP 10 طبقه بندی می شود.
در این بخش پس از کشف آسیب پذیزی های وب سایت ،مستندات فنی هر آسیبپذیری به همراه میزان خطر آن برای وب سایت با توجه به استاندارد CVSS اندازه گیری و در اختیار شما قرار می گیرد.
تست نفوذ با معرفی یک IP مشخص و تایید شده از شرکت انجام میگردد و با قرار گیری در جایگاه یک هکر به شناسایی و پویش آسیب پذیریها پرداخته میشود. . در این نوع تست بر روی سرورها، زیرساخت و نرم افزارهای مرتبط در هدف تمرکز میشود. این نوع تست هم میتواند بدون داشتن هیچگونه اطلاعاتی در رابطه با شبکه مقصد انجام شود و یا بلعکس، میتواند با داشتن اطلاعات کامل در رابطه با توپولوژی و محیط مقصد صورت پذیرد.
تفاوت اساسی این دو مدل تست امنیتی درگیر بودن انسان در فرآیند تست میباشد. یک انسان با تجربه و خلاق که توانایی تفکر و تولید راهکارهای ابداعی را دارا است از یک نرم افزار خودکار که دارای قوانین تعریف شده است، بسیار کارآمدتر میباشد. یک انسان می تواند یک حمله پیچیده و چند لایهایی را پیاده سازی و انجام دهد که این امکان در تست خودکار وجود ندارد.
تکنولوژی و ابزارهای تست نفوذ
فرآیند کامل ارزیابی امنیتی و آزمون نفوذ با هدف شناسایی آسیبپذیریها و باگهای امنیتی بر روی وبسایت به صورت نمونه انجام شده است. آزمون مذکور با روش جعبه خاکستری (Gray Box) اجراء شده و دامنه اجرایی آن محدود به سرور و وبسایت مورد نظر و تمامی ماژولها و مولفههای استفاده شده در آنها میباشد. نتیجه اجرای این فرآیند گزارشی جامع و کامل، متشکل از آسیبپذیریهای امنیتی شناسایی شده بر روی زیرساخت وب سایت و سرور، راهکارهای متناسب جهت رفع، تصحیح و یا کاهش اثرات سوء امنیتی باگها و اطلاعات جانبی و مکمل میباشد. این آزمون شامل مراحل کلی جمعآوری اطلاعات و شناخت کامل زیرساخت، کشف و شناسایی آسیبپذیریها و باگهای امنیتی، تست آسیبپذیریها و ارائه راهکار امنسازی و در آخر تدوین گزارش آزمون نفوذ بوده است که براساس استانداردها و متدولوژیهای امنیتی همچون OWASP انجام شده است. مولفههای مورد نظر در این آزمون شامل زیرساخت وب و سرور مربوطه، بخشهای مختلف وبسایت، سیستم مدیریت محتوا، مولفهها و ماژولهای نصب شده و … بوده که با استفاده از منابع آشکار، نیمه آشکار و پنهان و همچنین بکارگیری سرویسهای عمومی و اختصاصی و ابزارهای تست نفوذ معتبر صورت گرفته است.
استفاده از آخرین تکنولوژی و ابزارهای تست نفوذ یکی از ملاکهای کیفیت یک تست نفوذپذیری وب سایت میباشد، این ابزارها خود نیز نیازمند مهارت و تجربه است که در صورت بیدقتی در فرایند تست نفوذ ممکن است آسیبی به سیستم وارد شود که نتایج نامطلوبی در بر داشته باشد. تیم امنیتی SPY24 با تهیه ابزارهای تجاری، غیر تجاری، رایگان و با تکیه به نیروی انسانی خبره ، تست جامع و کاربردی را بر روی وب سایت شما اجرا می کند.
در این نوع حمله متقاضی، اطلاعات کاملی از سیستم را در اختیار تیم امنیتی SPY24 قرار میدهد تا تمامی سورس کد مورد بررسی امنیتی قرار گیرد.
شما برخی اطاعات از زیر ساخت وب سایت خود را در اختیار تیم امنیتی SPY24 قرار می دهید تا اسکن شما به صورت متمرکز تر انجام شود نفوذ در وب اپلیکیشن
در این نوع حمله هیچگونه اطلاعاتی در اختیار تیم SPY24 قرار داده نمیشود و تنها با داشتن آدرس وب سایت شما سعی در شناسایی آسیب پذیری ها می کنیم.
که اولین مورد از قوانین سایت و مهمترین آن مقابله با هک میباشد و هر گونه سو استفاده و استفاده نادرست از آموزش ها و برنامه های وبسایت SPY24 بر عهده کاربر می باشد.
سامانه مراقبت از خانواده (SPY24) نام یک نرم افزار موبایل با نصب و فعالسازی بسیار ساده می باشد که به والدین امکان کنترل و مدیریت فعالیت فرزندان در شبکه های مجازی موبایلی را می دهد.
آیا مایل هستید یک تست نفوذ پذیری اولیه روی وب سایت شما انجام شود ، و یک گزارش اولیه از وضعیت امنیت وب سایت خود دریافت کنید نفوذ در وب اپلیکیشن