ليه التقرير أهم حاجة في الـ Pentest

جارٍ التحميل…

01 / ملخص الدرس

ليه التقرير أهم حاجة في الـ Pentest

العميل مابيشوفش غير التقرير: ليه التوثيق هو المنتج الحقيقي لاختبار الاختراق، وإيه اللي هنتعلمه في الكورس.

02 / شرح الدرس مكتوبًا

نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.

أهلاً بيك في تاني كورس في الـ Track. في الكورس اللي فات اتعلمنا نفكر زي المهاجم، ونمشي على مراحل اختبار الاختراق. النهاردة هنتكلم عن آخر مرحلة… واللي ناس كتير بتستهون بيها: التقرير. تخيّل إنك دكتور، وعملت للمريض كل التحاليل، ولقيت المشكلة. بس ما كتبتلوش روشتة. المريض هيخرج زي ما دخل. وده بالزبط Pentest من غير تقرير.

الحقيقة اللي لازم تفتكرها: العميل مابيشوفش الـ terminal بتاعك، بيشوف التقرير بس. التقرير هو المنتج اللي العميل دافع فلوسه علشانه. والـ Finding اللي مش مكتوب كويس، كأنك ما لقيتهوش. شوف الـ code ده. لقينا ثَغْرة خطيرة، بس مافيش أي Documentation. نشغّل… العميل مش شايف أي حاجة.

main.py
finding = "SQL Injection in login page"

print("Pentest done!")
print("Client sees:", "nothing")

المخرجات

Pentest done!
Client sees: nothing

دلوقتي نكتب نفس الـ Finding: العنوان، والخطورة، والـ Impact، وطريقة الإصلاح. نشغّل… كده العميل فاهم المشكلة، وخطورتها، ويعمل إيه.

main.py
finding = {
    "title": "SQL Injection in login page",
    "severity": "Critical",
    "impact": "Attacker can read all customer data",
    "fix": "Use parameterized queries",
}

for key, value in finding.items():
    print(key + ":", value)

المخرجات

title: SQL Injection in login page
severity: Critical
impact: Attacker can read all customer data
fix: Use parameterized queries

في الكورس ده هنمشي خطوة خطوة: إزاي تدوّن Notes وإنت شغال. إزاي تجمع أدلة محدش يشكك فيها. إزاي تقيس الـ Impact والخطورة. وإزاي تكتب تقرير وتوصيات إصلاح، لحد تقرير امتحان OSCP. دورك: ضيف للـ Finding key جديد اسمه steps، فيه خطوات الوصول للثَغْرة، وشغّل تاني.

تمرين

ضيف "steps": "Open /login and enter ' OR 1=1 --" للـ dictionary.

الحل: نشغّل…

main.py
finding = {
    "title": "SQL Injection in login page",
    "severity": "Critical",
    "impact": "Attacker can read all customer data",
    "fix": "Use parameterized queries",
    "steps": "Open /login and enter ' OR 1=1 --",
}

for key, value in finding.items():
    print(key + ":", value)

المخرجات

title: SQL Injection in login page
severity: Critical
impact: Attacker can read all customer data
fix: Use parameterized queries
steps: Open /login and enter ' OR 1=1 --

الدرس الجاي: التقرير ده بيقراه مين؟ لأن المدير غير المبرمج… وكل واحد محتاج كلام مختلف. يلا بينا.

03 / دروس المسار (21)
  1. 01ليه التقرير أهم حاجة في الـ Pentestانت هنا
  2. 02مين بيقرا التقرير؟
  3. 03نظام Notes من أول دقيقة
  4. 04Activity Log: كل حاجة بالوقت
  5. 05خلّي الـ Terminal يسجّل لوحده
  6. 06الأدلة: إيه اللي يعتبر دليل؟
  7. 07سلامة الأدلة: Hash و Chain of Custody
  8. 08إخفاء البيانات الحساسة (Redaction)
  9. 09خطوات إعادة التنفيد (Steps to Reproduce)
  10. 10الـ Impact: الخطر الحقيقي على البيزنس
  11. 11CVSS: الخطورة برقم
  12. 12الـ Risk Matrix: الاحتمال في الـ Impact
  13. 13ترتيب الأولويات والـ Quick Wins
  14. 14هيكل تقرير اختبار الاختراق
  15. 15الـ Executive Summary: صفحة للإدارة
  16. 16كتابة الـ Finding التقني
  17. 17توصيات الإصلاح اللي تتنفّد فعلاً
  18. 18خلّي Python يكتب التقرير
  19. 19المراجعة قبل التسليم والـ Retest
  20. 20تقرير امتحان OSCP
  21. 21المراجعة النهائية: من الـ Note للتقرير