خلّي الـ Terminal يسجّل لوحده

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

01 / ملخص الدرس

خلّي الـ Terminal يسجّل لوحده

أدوات script و tee و tmux logging، وحفظ مخرجات nmap بالـ -oA، علشان كل command ونتيجته يتسجلوا من غير مجهود.

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

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

أهلاً بيك. في نص الشغل، وإنت متحمس إنك لقيت حاجة، آخر حاجة هتفتكرها إنك تكتب. علشان كده خلّي الـ terminal نفسه يسجّل كل حاجة.

أول أداة في Linux اسمها script. تكتب script وبعدها اسم ملف، وكل حاجة تكتبها وكل نتيجة تطلع، بتتسجل في الملف ده. ولما تخلص، تكتب exit. في OSCP ناس كتير بتشغّلها أول ما تفتح الـ terminal.

تاني أداة اسمها tee. بتعرض النتيجة على الشاشة، وفي نفس الوقت تكتبها في ملف. وفي tmux فيه plugin بيسجّل كل حاجة في الـ pane.

والأدوات نفسها ليها طريقة حِفظ. زي nmap: بـ dash o A، بيحفَظ النتيجة بتلات صيغ مرة واحدة، منهم XML تقدر تقراه بالـ code بعدين. نعمل نفس الفكرة بـ Python: function بتسجّل الـ command، وتحته النتيجة، زي ما script بتعمل. نشغّل… ده شكل الـ session log بالظبط، وتقدر تنسخ منه للتقرير على طول.

main.py
session = []

def run(cmd, output):
    session.append("$ " + cmd)
    session.append(output)

run("whoami", "www-data")
run("id", "uid=33(www-data) gid=33(www-data)")
run("uname -a", "Linux web01 5.4.0-42-generic x86_64")

print("\n".join(session))

المخرجات

$ whoami
www-data
$ id
uid=33(www-data) gid=33(www-data)
$ uname -a
Linux web01 5.4.0-42-generic x86_64

دورك: ضيف command رابع: cat على ملف local dot txt، والنتيجة رقم الـ flag.

تمرين

ضيف run("cat local.txt", "a1b2c3d4e5") قبل الطباعة.

الحل: نشغّل…

main.py
session = []

def run(cmd, output):
    session.append("$ " + cmd)
    session.append(output)

run("whoami", "www-data")
run("id", "uid=33(www-data) gid=33(www-data)")
run("uname -a", "Linux web01 5.4.0-42-generic x86_64")
run("cat local.txt", "a1b2c3d4e5")

print("\n".join(session))

المخرجات

$ whoami
www-data
$ id
uid=33(www-data) gid=33(www-data)
$ uname -a
Linux web01 5.4.0-42-generic x86_64
$ cat local.txt
a1b2c3d4e5

الدرس الجاي: ندخل في الأدلة. إيه اللي يعتبر دليل، وإزاي تاخد Screenshot صح. يلا بينا.

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 للتقرير