سلامة الأدلة: Hash و Chain of Custody
إزاي تثبت إن الدليل ما اتعدّلش بالـ SHA256، ويعني إيه Chain of Custody، وإزاي تتعامل مع البيانات الحساسة اللي جمعتها.
نص شرح المعلم والكود الذي كتبه ونتيجة تشغيله، بنفس ترتيب الدرس.
أهلاً بيك. في الكورس اللي فات اتعلمنا الـ Hashing، وقلنا إن تغيير حرف واحد بيغيّر الـ Hash كله. النهاردة هنستخدم الفكرة دي علشان نحمي الأدلة.
الفكرة بسيطة: أول ما تاخد الدليل، تعمل له SHA256. تكتب الـ Hash ده في الـ Notes وفي التقرير. ولو حد شك بعدين، يعمل Hash تاني ويقارن. لو زي بعض، يبقى الدليل ما اتلمسش. نعمل Hash لنتيجة command بتقول إننا بقينا root. نشغّل… ده الـ Hash بتاع الدليل.
import hashlib
evidence = b"uid=0(root) gid=0(root) groups=0(root)"
digest = hashlib.sha256(evidence).hexdigest()
print("sha256:", digest)المخرجات
sha256: 9d2b1186ccaab65db616b09e5711ce10f5f518c65019922d1b3c58a5d8ce1daa
دلوقتي نتخيّل إن حد زوّد مسافة واحدة بس في آخر الدليل. نشوف هنكتشفه ولا لأ. نشغّل… مسافة واحدة، والـ Hash كشفها.
import hashlib
original = hashlib.sha256(b"uid=0(root) gid=0(root)").hexdigest()
received = b"uid=0(root) gid=0(root) "
check = hashlib.sha256(received).hexdigest()
print("intact" if check == original else "MODIFIED!")المخرجات
MODIFIED!
وفيه مصطلح اسمه Chain of Custody. يعني سجل بمين خد الدليل، وإمتى، ومين اتسلّمه بعد كده. ده مهم قوي لو الموضوع وصل للمحكمة، أو لـ Incident Response.
وخد بالك: الأدلة نفسها حساسة. فيها باسوردات وبيانات عملا. خزّنها متشفّرة. وامسحها بعد المدة المتفق عليها في العقد. دورك: غيّر received وخلّيها نفس الدليل الأصلي بالزبط، من غير المسافة، وشوف النتيجة.
خلّي received = b"uid=0(root) gid=0(root)".
الحل: نشغّل… intact، يعني سليم.
import hashlib
original = hashlib.sha256(b"uid=0(root) gid=0(root)").hexdigest()
received = b"uid=0(root) gid=0(root)"
check = hashlib.sha256(received).hexdigest()
print("intact" if check == original else "MODIFIED!")المخرجات
intact
الدرس الجاي: الأدلة فيها باسوردات وبيانات حساسة… إزاي تحطها في التقرير من غير ما تسرّبها؟ يلا بينا.
03 / دروس المسار (21)
- 01ليه التقرير أهم حاجة في الـ Pentest
- 02مين بيقرا التقرير؟
- 03نظام Notes من أول دقيقة
- 04Activity Log: كل حاجة بالوقت
- 05خلّي الـ Terminal يسجّل لوحده
- 06الأدلة: إيه اللي يعتبر دليل؟
- 07سلامة الأدلة: Hash و Chain of Custodyانت هنا
- 08إخفاء البيانات الحساسة (Redaction)
- 09خطوات إعادة التنفيد (Steps to Reproduce)
- 10الـ Impact: الخطر الحقيقي على البيزنس
- 11CVSS: الخطورة برقم
- 12الـ Risk Matrix: الاحتمال في الـ Impact
- 13ترتيب الأولويات والـ Quick Wins
- 14هيكل تقرير اختبار الاختراق
- 15الـ Executive Summary: صفحة للإدارة
- 16كتابة الـ Finding التقني
- 17توصيات الإصلاح اللي تتنفّد فعلاً
- 18خلّي Python يكتب التقرير
- 19المراجعة قبل التسليم والـ Retest
- 20تقرير امتحان OSCP
- 21المراجعة النهائية: من الـ Note للتقرير