گزارش نویسی تست نفوذ وب
در این قسمت از آموزش قصد داریم شما را با نحوه گزارش نویسی تست نفوذ وب سایت آشنا کنیم.
اخرین مرحله در تست نفوذ وب یا وب هکینگ مرحله گزارش نویسی است که مهم ترین مرحله ان است
زیرا طرف قرار داد شما در نهایت از شما انتظار دارد یک گزارش بسیار خوب به سازمان ارائه دهید .
نکته : ما در این قسمت از آموزش نحوه گزارش نویسی استاندارد را برای شما شرح خواهیم داد
و در نهایت گزارشی برای استاندارد برای نمونه خواهیم نوشت .
گزارش نویسی تست نفوذ چیست ؟
شما زمانی که تست نفوذ یک شرکت و یا یک سازمان یا هر جای دیگری را بر عهده می گیرد پس از ان که قرارداد مورد نظر را امضا کرده اید و به توافق کامل رسیده اید اقدام به تست نفوذ می کنید و سپس در مرحله اخر که کار شما پایان یافت باید تمام نکات منفی , مثبت را در یک گزارش کامل بنویسید و در نهایت آن گزارش را به صاحب قرار داد خود تحویل دهید تا با خواندن گزارشی که شما نوشته اید بتواند امنیت شرکت و سازمان خود را نیز بررسی و تحلیل کند و در صورت نیاز اقدام به امن سازی کند .
چرا باید گزارش نویسی کنیم ؟
همانگونه که گفته شد پس از شناسایی آسیب پذیری ها باید از تمام آن ها گذارش تهیه شود و به صاحب شرکت تحویل داده شود تا بتوانند امنیت خود را کنترل کنند و از درصد امنیت خود آگاه شوند و همچنین از هزینه ای که برای تست نفوذ پرداخته اند باخبر باشند .
دقت داشته باشید که شما پس از انجام تست نفوذ باید دو گزارش تهیه کنید :
- گزارش اول : گزارشی فنی با توضیحات کامل برای تیم IT
- گزارش دوم : گزارشی عامیانه با توضیحات بسیار جامع برای مدیران
در ابتدا باید دسته بندی و سطح خطرناک بودن آسیب پذیری های مختلف را بدانید که در ادامه ،
ما آسیب پذیری های شناخته شده و پر استفاده را برای شما از لحاظ خطرناک بودن دسته بندی می کنیم .
دسته بندی باگ ها بر حسب خطر آن ها در گذارش تست نفوذ
دسته آسیب پذیری های خطرناک [Extreme]
(این دسته باید با رنگ قرمز نمایش داده شود ) :
- – حملات Injection مانند باگ sql injection و دیگر حملات injection
- – Broken Authentication
- – Using Components With Known Vulnerabilities
- – XML External Entity
- – Cross Site Scripting
- – Broken Access Control
- – Security Misconfiguration
- – Insecure deserialization
- – Insufficient Logging and Monitoring
دسته آسیب پذیری های بحرانی [High]
(این دسته از آسیب پذیری ها باید با رنگ نارنجی نمایش داده شود ) :
- – حمله BOF
- – حمله lfi – rfi
- – SCRF
- – SSRF
- – باگ IDOR
دسته آسیب پذیری هایی که کمی تهدید کننده هستند [Elevated]
(این دسته با رنگ زرد نمایش داده می شود ) :
- – عدم استفاده از Httponly
دسته آسیب پذیری سطح متوسط [Moderate]
(این دسته با رنگ آبی نمایش داده می شود ) :
- – عدم استفاده از samesite در کوکی ها
دسته آسیب پذیری سطح پایین [Low] قبل از اشنایی با گزارش نویسی تست نفوذ
(این دسته با رنگ سبز نمایش داده می شود ) :
- – ارور های سمت سرور
- – اطلاعات جامع که مخفی بودن ان ها کمکی در جهت بالا بردن امنیت وب سایت می کند
مانند مخفی کردن ورژن سرویس های فعال مختلف
اقدام به گزارش نویسی تست نفوذ
در ابتدا یک فایل word باز کنید تا بتوانید گزارش خود را بسیار زیبا تر و استاندارد تر تحویل دهید.
نکته : برای این مرحله یک وب سایت فرضی را مد نظر قرار داده ایم
و تمام مواردی که در گزارش ادامه ایم اموزش می نویسیم به صورت فرضی است
و چنین وب سایتی وجود خارجی ندارد .
در قدم اول باید تاریخ شروع تست نفوذ و نوع تست نفوذ را ذکر کنید :
مثال : آزمون نفوذ پذیری وب سایت ….. در تاریخ 1399/1/2 با روش بلک باکس (Black Box) اغاز شد
و تست نفوذ پذیری در تاریخ 1399/1/22 به پایان رسید .
مرحله دوم : در ادامه باید نوع معماری وب سایت مورد نظر را مشخص کنید
و اطلاعاتی جامع از وب سایت را در گزارش بنویسید.
مثال :
بررسی وب سایت www.site.com با این نتیجه مواجه شد که معماری این وب سایت با زبان برنامه نویسی PHP است و با سیستم مدیریت محتوای وردپرس نیز پیاده سازی شده است , این وب سایت در حال حاظر از پایگاه داده mysql و در عین حال از وب سرور Apache استفاده می کند .
مرحله سوم : در این قدم باید مشکلات امنیتی کشف شده را بیان کنید
و سطح دسترسی که به شما داده شده است را مشخص کنید
و در نهایت یک راه حل امنیتی برای رفع باگ در گزارش خود ارایه دهید.
نکته : توضیحات و شرح هر آسیب پذیری نسبت به نوع خودش متغیر است
و باید برای تمام باگ های کشف شده توضیح مناسبی را نیز داشته باشید.
بیشنهاد می کنیم برای اشنایی با روش های تست نفوذ اموزش سرور هکینگ را در پن تست کور مشاهده کنید.
مثال برای گذارش نویسی تست نفوذ باگ ها :
نوع آسیب پذیری :
آسیب پذیری SQL Injection از نوع Union Base در دسته بندی باگ های خطرناک و دسته بالا
مسیر آسیب پذیری : www.site.com /azmon.php?test=12
ورودی آسیب پذیز : test
کارایی باگ : خواندن اطلاعات فوق العاده حساس از دیتابیس
راه حل امنیتی : فیلتر کردن ورودی های کاربر و محدود کردن یوزر دیتابیس
مثال دوم :
نوع آسیب پذیری : عدم وجود پروتکل امنیتی https در دسته بندی آسیب پذیری های خطرناک و سطح بالا
کارایی باگ : امکان شنود اطلاعات حساس در حین ارسال اطلاعات میان کلاینت و سرور و بالعکس
راه حل امنیتی : فعالسازی پروتکل https بر روی وب سایت
مثال سوم :
نوع آسیب پذیری : session fixation در دسته بندی آسیب پذیری های سطح متوسط
کارایی باگ : امکان سرقت کوکی کاربر توسط نفوذگر وجود دارد.
راه حل امنیتی : کوکی کاربر پس از logout کردن تغیر کند.
مثال چهارم از گذارش نویسی برای تست نفوذ :
نوع آسیب پذیری : به وجود آمدن ارور سمت سرور با کد وضعیت 5 در دسته بندی آسیب پذیری های سطح پایین
آدرس ارور : www.site.com/test.php
راه کار : بررسی سرویس های مربوط به سمت سرور
اقدام به نوشتن گزارش عامیانه
برای نوشتن گزارش عامیانه نیاز به نوشتن مباحث تخصصی نیست فقط تنها کافیست شما مشکلات امنیتی را به صورت خیلی جامع در این گزارش بنویسید به صورتی که مدیران شرکت با خواندن گزارش , متوجه کارکرد آسیب پذیری های مختلف شوند. قدم اول و قدم دوم یعنی مرحله تاریخ و نوع معماری دقیقا مانند گزارش قبلی است و باید همان مراحل را دقیقا در همین گزارش بیان کنید.
اما در مرحله بعدی که بیان آسیب پذیری ها است باید به شکل زیر عمل کنید؛
مثال هایی برای گذارش نویسی انواع اسیب پذیری ها :
آسیب پذیری اول : آسیب پذیری خطرناک با نام SQL Injection در وب سایت کشف شده است
که موجب می شود نفوذگر بتواند اطلاعات فوق العاده حساس وب سایت را به دست اورد
و از ان ها سو استفاده کند .
آسیب پذیری دوم : آسیب پذیری خطرناک عدم موجودیت پروتکل امنیتی برای ارسال اطلاعات از کلاینت به سرور و بالعکس که موجب می شود نفوذگر بتواند به راحتی اطلاعاتی که از سمت کلاینت به سرور و اطلاعاتی که از سمت سرور به کلاینت ارسال می شود را شنود کند، در صورتی که می توان با استفاده از پروتکل امنیتی https اطلاعات را رمزنگاری کرد تا اگر مورد شنود قرار گیرد , نفوذگر به نتیجه خود نرسد .
آسیب پذیری سوم : آسیب پذیری سطح متوسط با نام session fixation که باعث می شود
نفوذگر بتواند خود را به عنوان یک کاربر دیگر به وب سایت معرفی کند
و از امکاناتی که در اختارش قرار می گیرد نیز استفاده کند .
آسیب پذیری چهارم : آسیب پذیری سطح پایین که باعث به وجود آمدن ارور می شود
که برای ظاهر سایت و موارد دیگر چندان خوش آیند نیست .
می توانید با خلاقیت خود فایل متنی خود را زیباتر کنید مانند استفاده از حاشیه های دور کادر و …
در نهایت فایل متنی را برای طرف قرار داد خود نیز ارسال می کنید .
نتیجه گیری
در این قسمت از آموزش نحوه گزارش نویسی تست نفوذ را برایتان شرح داده ایم و در ابتدا بررسی کرده ایم که گزارش نویسی چیست و چرا باید یک گزارش از وضعیت سایت پن تست یا تست نفوذ شده به طرف قرار داد خود تحویل دهیم و در مرحله بعدی شما را با گزارش نویسی فنی و گزارش نویسی عامیانه آشنا کرده ایم .
موفق باشید.