فصل ۱۲: گزارشنویسی و اخلاق
اهمیت گزارشنویسی بهعنوان تحویلدادنی نهایی، ساختار گزارش تست نفوذ، ماتریس ریسک، الگوی finding، اخلاق حرفهای، افشای مسئولانه، ملاحظات قانونی و مسیر شغلی با گواهینامههای OSCP، CEH، CRTO.
چرا گزارش مهم است؟
گزارش نقطه اوج هر پروژه تست نفوذ است. مشتری نه با اکسپلویتهای شما، بلکه با گزارش شما کار میکند. یک حمله نفوذ بینظیر اگر در گزارش منعکس نشود، عملاً اتفاقی نیفتاده است. گزارش باید بهگونهای نوشته شود که هم برای مدیر ارشد که وقت محدود دارد، قابل فهم باشد و هم برای مهندس IT که میخواهد آسیبپذیری را رفع کند، کافی باشد.
گزارش ضعیف حتی از بهترین تستها، ارزش پروژه را نابود میکند. به همین دلیل، حدود ۳۰ درصد زمان هر پروژه باید به گزارشنویسی اختصاص یابد.
ساختار گزارش تست نفوذ
یک گزارش حرفهای معمولاً شامل این بخشهاست:
۱. خلاصه اجرایی (Executive Summary)
برای مدیریت. بدون اصطلاحات فنی. شامل اهداف پروژه، دامنه، روششناسی و مهمترین یافتهها در یک صفحه. باید به این پرسش پاسخ دهد: «چقدر امن هستیم و کجا باید سرمایهگذاری کنیم؟»
۲. یافتههای فنی (Technical Findings)
برای تیم IT. جزئیات کامل هر آسیبپذیری شامل توصیف، مراحل بازتولید (PoC)، شواهد و توصیههای اصلاحی. این بخش بدنه اصلی گزارش است.
۳. ارزیابی ریسک (Risk Assessment)
ارزشگذاری هر یافته بر اساس ماتریس ریسک. اغلب از امتیاز CVSS و تاثیر تجاری استفاده میشود. این بخش به مدیران کمک میکند که اولویتبندی رفع آسیبپذیریها را انجام دهند.
۴. توصیههای اصلاحی (Remediation)
برای هر یافته، راهکار عملی. نه فقط «پچ کنید»، بلکه «چه پچ، چه نسخه، چگونه اعمال». اغلب با اولویتبندی بر اساس ریسک.
۵. پیوستها (Appendices)
دادههای خام، خروجی اسکنرها، اسکرینشاتها، فهرست IPهای اسکنشده و خروجیهای Metasploit. برای ارجاع فنی آینده.
ماتریس ریسک
| رده | امتیاز CVSS | توصیف | SLA پیشنهادی |
|---|---|---|---|
| بحرانی (Critical) | ۹ تا ۱۰ | RCE، افشای کامل داده | ۲۴ تا ۷۲ ساعت |
| بالا (High) | ۷ تا ۸.۹ | privesc، SQLi با dump | ۷ تا ۱۴ روز |
| متوسط (Medium) | ۴ تا ۶.۹ | XSS ذخیرهشده، اطلاعات نشتکرده | ۳۰ روز |
| پایین (Low) | ۰.۱ تا ۳.۹ | بنر نسخه، SSL ضعیف | ۹۰ روز |
| بدون (None) | ۰ | بدون ریسک مستقیم | در صورت فرصت |
نوشتن finding خوب
هر finding باید شامل این بخشها باشد:
- عنوان: مختصر و فنی، شامل نوع آسیبپذیری و دارایی.
- توضیحات: ماهیت آسیبپذیری و چرایی وقوع.
- شواهد: اسکرینشات، خروجی ابزار، PCAP.
- تاثیر: چه کسی، چه چیزی، چگونه آسیب میبیند.
- مراحل بازتولید (PoC): مرحله به مرحله.
- توصیه: راهکار عملی و قابل اجرا.
الگوی نمونه
عنوان: SQL Injection در صفحه ورود /login
توضیحات:
پارامتر username در صفحه ورود مستعد SQL Injection از نوع Union-based است.
ورودی کاربر بدون پارامتریسازی به کوئری SQL تزریق میشود.
شواهد:
- درخواست POST به /login با پارامتر username=admin' OR '1'='1
- پاسخ سرور با ورود موفق به حساب admin
تاثیر:
مهاجم میتواند بدون رمز عبور وارد حساب مدیر شود و تمام دادههای
کاربران را ببیند، تغییر دهد یا حذف کند. در صورت دسترسی مدیر به
فایلها، RCE محتمل است.
مراحل بازتولید:
1. به https://app.example.com/login بروید
2. در فیلد username وارد کنید: admin' OR '1'='1' --
3. در فیلد password هر چیزی وارد کنید
4. دکمه ورود را بزنید
توصیه:
- استفاده از Prepared Statements در همه کوئریهای SQL
- اعتبارسنجی ورودی با لیست سفید
- فعالسازی WAF با قواعد SQLi
- ممیزی لاگ برای تشخیص تلاشهای مشابه
امتیاز CVSS: 9.8 (Critical)
CVE مرتبط: ندارداخلاق حرفهای
تست نفوذ یک حرفهای است که بر اعتماد استوار است. چند اصل بنیادین:
۱. محرمانگی یافتهها
یافتههای تست نفوذ باید بهسختی یک سند طبقهبندیشده نگهداری شوند. بهاشتراکگذاری با اشخاص غیرمجاز، حتی بهصورت غیرمستقیم (مثلاً در گفتگو با دوست)، نقض NDA است. دادهها باید رمزنگاریشده ذخیره و پس از پایان پروژه طبق توافق نابود شوند.
۲. افشای مسئولانه (Responsible Disclosure)
اگر در طول Bug Bounty آسیبپذیری یافتید، باید به مدیر سازمان مهلت کافی برای رفع دهید قبل از هرگونه انتشار عمومی. اصل ۹۰ روزه (۹۰-day rule) استاندارد Google Project Zero است: ۹۰ روز پس از گزارش خصوصی، اگر پچ نشد، اطلاعات منتشر میشود.
۳. رعایت دامنه (Scope Compliance)
هرگز فراتر از دامنه توافقشده نروید. حتی اگر آسیبپذیری بیرون از دامنه آشکار باشد، فقط در گزارش ذکر کنید و از استثمار آن پرهیز کنید. فراتر رفتن از دامنه میتواند به اتهام کیفری منجر شود.
۴. مدیریت داده
هرگونه داده حساسی که در طول تست پیدا میکنید (رمز عبور، اطلاعات شخصی، فایلهای محرمانه) باید با کمترین دسترسی ممکن نگهداری و در پایان نابود شود. در گزارش، هرگز رمز عبور واقعی کاربران را ذکر نکنید؛ بهجای آن بنویسید «رمز عبور بهصورت متن روشن در پایگاهداده ذخیره شده بود».
ملاحظات قانونی
هر قرارداد تست نفوذ باید شامل این موارد باشد:
- NDA (Non-Disclosure Agreement): پیمان محرمانگی متقابل.
- SOW (Statement of Work): شرح دقیق کار، دامنه، زمانبندی و هزینه.
- RoE (Rules of Engagement): قواعد درگیری، شامل روشهای مجاز و غیرمجاز.
- Master Services Agreement: چارچوب بلندمدت برای پروژههای متعدد.
- Hold Harmless: بند معافیت از مسئولیت در صورت اختلال غیرعمدی.
مسئولیت قانونی
بدون قرارداد مکتوب، حتی توافق شفاهی کافی نیست. اگر در طول تست اختلالی رخ دهد (مثلاً سرور از کار بیفتد)، بدون قرارداد، تستر مسئول قانونی خواهد بود. حتماً با وکیل آشنا به حقوق فناوری اطلاعات قرارداد را بازبینی کنید.
مسیر شغلی و گواهینامهها
پس از گذراندن این دوره، میتوانید مسیر حرفهای خود را با این گواهینامهها تقویت کنید:
| گواهینامه | سازمان | تمرکز | سطح |
|---|---|---|---|
| OSCP | Offensive Security | تست نفوذ عملی ۲۴ ساعته | متوسط تا پیشرفته |
| CEH | EC-Council | مفاهیم بنیادی | مقدماتی |
| OSEP | Offensive Security | evasion و AD | پیشرفته |
| CRTO | Zero-Point Security | Active Directory و red team | پیشرفته |
| PNPT | TCM Security | تست نفوذ کامل با ارائه | متوسط |
| OSEE | Offensive Security | اکسپلویتنویسی پیشرفته | بسیار پیشرفته |
علاوه بر گواهینامه، تمرین مداوم در پلتفرمهایی مانند HackTheBox، TryHackMe، PortSwigger Web Security Academy و Proving Grounds ضروری است. در سال ۲۰۲۶، داشتن یک GitHub با ابزارهای سفارشی یا گزارشهای Bug Bounty قبلی، ارزش زیادی در بازار کار دارد.
جمعبندی دوره
در ۱۲ فصل این دوره، از مفاهیم بنیادین متدولوژی تست نفوذ آغاز کردیم و از شناسایی و OSINT، اسکن، ارزیابی آسیبپذیری، استثمار با Metasploit و هک وب عبور کردیم. سپس به حملات رمز عبور، شبکه بیسیم، پس از استثمار، سرریز بافر و تحلیل ترافیک پرداختیم و اکنون با گزارشنویسی و اخلاق به پایان میرسیم.
تبریک — دوره کامل شد!
شما ۱۲ فصل از جامعترین دوره تست نفوذ فارسی را به پایان رساندید. این پایان شروع است، نه پایان واقعی. امنیت سایبری یک حوزه در حال تغییر است و آنچه امروز کار میکند، ممکن است فردا منسوخ شود. هر روز چیزی جدید یاد بگیرید، در پلتفرمهای تمرینی فعال باشید و در جامعههای امنیتی ایرانی مانند IranSec و گروههای تلگرامی تخصصی مشارکت کنید. مسیر شما از اینجا آغاز میشود.
گامهای بعدی
- یک آزمون از بانک سوالات تست نفوذ بدهید تا دانش خود را بسنجید.
- در پروژه نهایی امنیت سایبری شرکت کنید و یک سرور اوبونتو را از صفر سخت کنید.
- یک هدف در HackTheBox یا TryHackMe انتخاب کنید و تمام فازهای PTES را روی آن اجرا کنید.
- یک گزارش کامل ۲۰ صفحهای بنویسید و با جامعه به اشتراک بگذارید.
یادتان باشد: بهترین تستر نفوذ، آنهایی نیستند که همه ابزارها را میشناسند، بلکه آنهایی هستند که میدانند چه زمانی از چه ابزاری استفاده کنند و چگونه یافتهها را به زبان کسبوکار ترجمه کنند. موفق باشید.
این صفحه در تاریخ ۸ تیر ۱۴۰۵ بهروزرسانی شده است.