
hindsight v2026.06
أداة فحص جنائي لمتصفح Google Chrome، والمتصفحات الأخرى المبنية على Chromium، ومتصفح Mozilla Firefox
Hindsight
تحليل جنائي لسجل الإنترنت لمتصفحي Google Chrome/Chromium وMozilla Firefox
Hindsight هي أداة مجانية لتحليل الآثار الرقمية للويب. بدأت بتحليل سجل التصفح لمتصفح Google Chrome، ثم توسعت لدعم تطبيقات أخرى مبنية على Chromium، وهي الآن تحلل أيضًا ملفات تعريف Mozilla Firefox. تستطيع Hindsight تحليل عدد من أنواع الآثار الرقمية للويب، بما في ذلك عناوين URL، وسجل التنزيلات، وسجلات ذاكرة التخزين المؤقت، والإشارات المرجعية، وسجلات التعبئة التلقائية، وكلمات المرور المحفوظة، والتفضيلات، وإضافات المتصفح، وملفات تعريف ارتباط HTTP، وسجلات التخزين المحلي (ملفات تعريف ارتباط HTML5). بعد استخراج البيانات من كل ملف، يتم ربطها ببيانات من ملفات السجل الأخرى ووضعها في خط زمني.
بالنسبة لملفات تعريف Firefox، تحلل Hindsight ملف places.sqlite (زيارات السجل، والإشارات المرجعية، والتنزيلات)، وcookies.sqlite، وformhistory.sqlite. اختر "Firefox" في الواجهة الرسومية أو مرّر -b Firefox على سطر الأوامر، مع الإشارة إلى دليل ملف التعريف مثل \[userdir]\AppData\Roaming\Mozilla\Firefox\Profiles\<profile>.
تحتوي على واجهة مستخدم ويب بسيطة - لتشغيلها، شغّل "hindsight_gui.py" (أو على Windows، الملف المحزّم "hindsight_gui.exe") وقم بزيارة http://localhost:8080 في المتصفح:
الحقل الوحيد المطلوب تعبئته هو "Profile Path". هذا هو موقع ملف تعريف Chrome الذي تريد تحليله (مسارات ملف التعريف الافتراضية لأنظمة التشغيل المختلفة مدرجة في أسفل هذه الصفحة). انقر على "Run" وسيتم نقلك إلى صفحة النتائج حيث يمكنك حفظ النتائج في جدول بيانات (أو تنسيقات أخرى).
التثبيت اليدوي
لتثبيت Hindsight (كل من أداة سطر الأوامر وواجهة الويب)، قم بتنفيذ:
pip install pyhindsight
pip install git+https://github.com/cclgroupltd/ccl_chromium_reader.git
إذا كنت ترغب في استخدام ميزة "View SQLite DB in Browser" في واجهة ويب Hindsight، فستحتاج إلى تشغيل أمر تثبيت آخر:
curl -sSL https://raw.githubusercontent.com/RyanDFIR/hindsight/main/install-js.sh | sh
سطر الأوامر
توجد أيضًا نسخة من Hindsight لسطر الأوامر - hindsight.py أو hindsight.exe. يغطي دليل المستخدم في مجلد التوثيق العديد من الموضوعات، لكن المعلومات أدناه يجب أن تساعدك على البدء مع نسخة سطر الأوامر:
مثال على الاستخدام: > C:\hindsight.py -i "C:\Users\Ryan\AppData\Local\Google\Chrome\User Data\Default" -o test_case
خيارات سطر الأوامر:
| الخيار | الوصف |
|---|---|
| -i أو --input | مسار ملف تعريف المتصفح، أو دليل أب للبحث بشكل متكرر عن ملفات التعريف |
| -o أو --output | اسم ملف الإخراج (بدون امتداد) |
| -f أو --format | تنسيق الإخراج (الافتراضي هو XLSX، والخيارات الأخرى هي SQLite وJSONL) |
| -c أو --cache | مسار دليل ذاكرة التخزين المؤقت؛ مطلوب فقط إذا كان الدليل خارج دليل "input" المحدد. أنظمة Mac مُعدّة بهذه الطريقة افتراضيًا. |
| -b أو --browser_type | فرض متصفح واحد لكل ملف تعريف: Chrome، أو Edge، أو Brave، أو Vivaldi، أو Firefox، أو Tor (غير حساس لحالة الأحرف؛ Chromium هو اسم مستعار لـ Chrome). احذفه للكشف التلقائي عن كل ملف تعريف. |
| -l أو --log | الموقع الذي يجب أن تسجل فيه Hindsight (سيتم الإلحاق إذا كان موجودًا) |
| --log-level | مقدار التفاصيل التي يجب كتابتها في السجل: debug، أو info (الافتراضي)، أو warning، أو error. استخدم debug عند الإبلاغ عن خطأ |
| -h أو --help | يعرض هذه الخيارات ومواقع بيانات Chrome الافتراضية |
| -t أو --timezone | المنطقة الزمنية للعرض للطوابع الزمنية في إخراج XLSX |
| --only أو --artifacts | تحليل هذه الآثار الرقمية فقط (مفصولة بفواصل؛ قابلة للتكرار) |
| --skip أو --exclude | تحليل كل شيء باستثناء هذه الآثار الرقمية (مفصولة بفواصل؛ قابلة للتكرار) |
| --list-artifacts | طباعة أسماء الآثار الرقمية المقبولة بواسطة --only و--skip، ثم الخروج |
عندما يحتوي الإدخال على ملفات تعريف من عدة متصفحات، احذف --browser_type للسماح
لـ Hindsight بالكشف عن كل ملف تعريف على حدة. استخدم التجاوز فقط عندما تنوي
معاملة كل ملف تعريف مكتشف على أنه المتصفح المحدد.
اختيار الآثار الرقمية المراد تحليلها
افتراضيًا، تحلل Hindsight كل أثر رقمي تجده. يعمل --only و--skip على تضييق ذلك،
وهو مفيد للفرز السريع ولتخطي ذاكرة التخزين المؤقت عندما تكون كبيرة وغير
ذات صلة بالسؤال المطروح.
hindsight.py -i <profile> --only history,downloads
hindsight.py -i <profile> --skip cache
hindsight.py -i <profile> --only user-activity --skip sessions
أسماء الآثار الرقمية محايدة تجاه المتصفح: يحدد history سجلات URL في History الخاصة بـ Chrome
وسجلات URL في places.sqlite الخاصة بـ Firefox، لذا يعمل الأمر نفسه على أي منهما. الأسماء
غير حساسة لحالة الأحرف، والمسافات والشرطات السفلية والشرطات متبادلة
(local-storage وlocal_storage و"Local Storage" هي الاسم نفسه).
يمكن استخدام أسماء المجموعات في أي مكان يمكن استخدام اسم أثر رقمي فيه، وتحدد كل شيء تحتها:
user-activity وwebsite-storage وbrowser-extensions وconfiguration، بالإضافة إلى caches
(كل أثر رقمي لذاكرة التخزين المؤقت) وall. يمكن دمج --only و--skip، مع تضييق --skip
لمزيد من --only.
شغّل hindsight.py --list-artifacts للحصول على القائمة الكاملة مع الأوصاف والأسماء المستعارة.
يتم الإبلاغ عن أي أثر رقمي مستبعد بواسطة عامل تصفية على أنه [ skipped ] أثناء التشغيل ويُدوّن في
السجل، لذا يبقى التقرير الذي يحذف أثرًا رقميًا مميزًا عن ملف تعريف
لم يكن يحتويه أبدًا. الاسم غير المعروف يُعد خطأً بدلًا من تجاهله، لذا لا يمكن لخطأ مطبعي أن
ينتج بهدوء تقريرًا يغطي آثارًا رقمية خاطئة.
لاحظ أن اكتشاف الإصدار لا يزال يقرأ مخططات قاعدة بيانات ملف التعريف، لذا فإن التصفية لا تغيّر إصدار المتصفح المكتشف.
مسارات ملف التعريف الافتراضية
مواقع مجلد ملف التعريف الافتراضي لـ Chrome هي:
- WinXP: [userdir]\Local Settings\Application Data\Google\Chrome\User Data\Default
- Vista/7/8/10: [userdir]\AppData\Local\Google\Chrome\User Data\Default
- Linux: [userdir]/.config/google-chrome/Default
- OS X: [userdir]/Library/Application Support/Google/Chrome/Default
- iOS: \Applications\com.google.chrome.ios\Library\Application Support\Google\Chrome\Default
- Android: /userdata/data/com.android.chrome/app_chrome/Default
- CrOS: \home\user\<GUID>
طلبات الميزات
يرجى فتح مشكلة إذا كانت لديك فكرة عن ميزة جديدة (أو اكتشفت شيئًا معطلًا).
المساهمة
راجع CONTRIBUTING.md لمعرفة كيفية الإعداد، وتشغيل مجموعتي الاختبارات، والحصول على مجموعة ملفات تعريف المتصفح التي تحللها اختبارات النهاية إلى النهاية.