Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
osxcollector — أداة لجمع وتحليل الأدلة الجنائية لنظام OS X | Kitploit
أدوات/GitHubGitHub/yelparchive/osxcollector
تحليل الأقراص الجنائيةالاستخبارات مفتوحة المصدر (OSINT)تحليل الذاكرة الجنائيالتحقيق الجنائي الرقميالتحاليل الرقمية الجنائيةالاستجابة للحوادثArchived
GitHubyelparchive/osxcollector

osxcollector

أداة لجمع وتحليل الأدلة الجنائية لنظام OS X

عرض المستودع
1.9k239منذ 7 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

osxcollector

Build Status PyPI

دليل OSXCollector

OSXCollector هي مجموعة أدوات لجمع وتحليل الأدلة الجنائية لنظام OSX.

جمع الأدلة الجنائية

يعمل سكريبت الجمع على جهاز قد يكون مصابًا ويخرج ملف JSON يصف الجهاز المستهدف. يقوم OSXCollector بجمع المعلومات من ملفات plist وقواعد بيانات SQLite ونظام الملفات المحلي.

تحليل الأدلة الجنائية

باستخدام المجموعة الجنائية، يمكن للمحلل الإجابة على أسئلة مثل:

  • هل هذا الجهاز مصاب؟
  • كيف وصل البرنامج الضار إلى هناك؟
  • كيف يمكنني منع واكتشاف المزيد من الإصابات؟

تقوم Yelp بأتمتة تحليل معظم عمليات تشغيل OSXCollector، محولة مخرجاته إلى ملخص سهل القراءة وقابل للتنفيذ عن الأشياء المشبوهة فقط. اطّلع على مشروع مرشحات مخرجات OSXCollector لتعلم كيفية تحقيق أقصى استفادة من التحليل الآلي لمخرجات OSXCollector.

إجراء الجمع

osxcollector.py هو ملف Python واحد يعمل دون أي تبعيات على جهاز OSX قياسي. هذا يجعله سهلًا جدًا لتشغيل الجمع على أي جهاز - لا داعي للتعامل مع brew أو pip أو ملفات التهيئة أو متغيرات البيئة. فقط انسخ الملف الواحد على الجهاز وشغّله:

sudo osxcollector.py هو كل ما يلزم.

root@kitploit:~
$ sudo osxcollector.py
Wrote 35394 lines.
Output in osxcollect-2014_12_21-08_49_39.tar.gz

إذا كنت قد استنسخت مستودع GitHub للتو، فإن osxcollector.py موجود داخل مجلد osxcollector/، لذا تحتاج لتشغيله كالتالي:

root@kitploit:~
$ sudo osxcollector/osxcollector.py

هام: يُرجى التأكد من أن الأمر python على جهاز Mac OS X الخاص بك يستخدم المفسّر الافتراضي للـ Python المرفق مع النظام وأنه لم يتم استبداله، على سبيل المثال، بإصدار Python المثبّت عبر brew. يعتمد OSXCollector على بعض روابط Python الأصلية لمكتبات OS X، والتي قد لا تكون متاحة في إصدارات Python أخرى غير تلك المثبّتة أصلاً على نظامك. بدلاً من ذلك، يمكنك تشغيل osxcollector.py مع تحديد إصدار Python الذي ترغب في استخدامه صراحةً:

root@kitploit:~
$ sudo /usr/bin/python2.7 osxcollector/osxcollector.py

تم تجميع مخرجات الجمع بصيغة JSON، بالإضافة إلى بعض الملفات المفيدة مثل سجلات النظام، في ملف .tar.gz لتسليمها إلى المحلل.

يحتوي osxcollector.py أيضًا على العديد من الخيارات المفيدة لتغيير طريقة العمل:

  • -i INCIDENT_PREFIX/--id=INCIDENT_PREFIX: يحدد معرّفًا يُستخدم كبادئة لملف الإخراج. القيمة الافتراضية هي osxcollect.

    root@kitploit:~
    $ sudo osxcollector.py -i IncontinentSealord
    Wrote 35394 lines.
    Output in IncontinentSealord-2014_12_21-08_49_39.tar.gz
    

    ابتكر أسماء حوادث إبداعية، فهذا يجعل من السهل الضحك في خضم الألم.

  • -p ROOTPATH/--path=ROOTPATH: يحدد المسار إلى جذر نظام الملفات لتشغيل الجمع عليه. القيمة الافتراضية هي /. هذا رائع لتشغيل الجمع على صورة قرص.

    root@kitploit:~
    $ sudo osxcollector.py -p '/mnt/powned'
    
  • -s SECTION/--section=SECTION: يشغّل جزءًا فقط من الجمع الكامل. يمكن تحديده أكثر من مرة. القائمة الكاملة للأقسام والأقسام الفرعية هي:

    • version

تفاصيل الجمع

يقوم الجمع بإخراج ملف .tar.gz يحتوي على جميع القطع الأثرية المجمّعة. يحتوي الأرشيف على ملف JSON مع معظم المعلومات. بالإضافة إلى ذلك، يتم تضمين مجموعة من السجلات المفيدة من سجلات النظام المستهدف.

المفاتيح الشائعة

كل سجل

يسجل كل سطر من ملف JSON قطعة واحدة من المعلومات. هناك بعض المفاتيح الشائعة التي تظهر في كل سجل JSON:

  • osxcollector_incident_id: معرف فريد مشترك بين كل سجل.
  • osxcollector_section: القسم أو نوع البيانات الذي يحمله هذا السجل.
  • osxcollector_subsection: القسم الفرعي أو واصف أكثر تفصيلاً لنوع البيانات الذي يحمله هذا السجل.
سجلات الملفات

بالنسبة للسجلات التي تمثل ملفات، هناك مجموعة من المفاتيح المفيدة:

  • atime: وقت الوصول إلى الملف.
  • ctime: وقت إنشاء الملف.
  • mtime: وقت تعديل الملف.
  • file_path: المسار المطلق للملف.
  • md5: تجزئة MD5 لمحتويات الملف.
  • sha1: تجزئة SHA1 لمحتويات الملف.
  • sha2: تجزئة SHA2 لمحتويات الملف.

بالنسبة للسجلات التي تمثل ملفات تم تنزيلها:

  • xattr-wherefrom: قائمة تحتوي على روابط المصدر والمرجع للملف الذي تم تنزيله.
  • xattr-quarantines: سلسلة تصف أي تطبيق قام بتنزيل الملف.
سجلات SQLite

بالنسبة للسجلات التي تمثل صفًا من قاعدة بيانات SQLite:

  • osxcollector_table_name: اسم الجدول الذي يأتي منه الصف.
  • osxcollector_db_path: المسار المطلق لملف SQLite.

بالنسبة للسجلات التي تمثل بيانات مرتبطة بمستخدم معين:

  • osxcollector_username: اسم المستخدم

الطوابع الزمنية

يحاول OSXCollector تحويل الطوابع الزمنية إلى سلاسل تاريخ/وقت قابلة للقراءة البشرية بتنسيق YYYY-mm-dd hh:MM:ss. يستخدم استدلالات للتعرف تلقائيًا على مختلف الطوابع الزمنية:

  • الثواني منذ العصر (epoch)
  • الميلي ثانية منذ العصر
  • الثواني منذ 2001-01-01
  • الثواني منذ 1601-01-01

الأقسام

قسم version

الإصدار الحالي من OSXCollector.

قسم system_info

يجمع المعلومات الأساسية عن النظام:

  • اسم النظام
  • اسم العقدة
  • الإصدار
  • الإصدار التفصيلي
  • نوع الآلة
قسم kext

يجمع إضافات النواة من:

  • /System/Library/Extensions
  • /Library/Extensions
قسم startup

يجمع معلومات حول LaunchAgents و LaunchDaemons و ScriptingAdditions و StartupItems وعناصر تسجيل الدخول الأخرى من:

  • /System/Library/LaunchAgents
  • /System/Library/LaunchDaemons
  • /Library/LaunchAgents
  • ~/Library/LaunchAgents
  • /Library/LaunchDaemons
  • /System/Library/ScriptingAdditions
  • /Library/ScriptingAdditions
  • /System/Library/StartupItems
  • /Library/StartupItems
  • ~/Library/Preferences/com.apple.loginitems.plist

يمكن العثور على مزيد من المعلومات حول بدء تشغيل Max OS X هنا: http://www.malicious-streams.com/article/Mac_OSX_Startup.pdf

قسم applications

يجمع تجزئات التطبيقات المثبتة وسجل التثبيت من:

  • /Applications
  • ~/Applications
  • /Library/Receipts/InstallHistory.plist
قسم quarantines

الحجر الصحي (Quarantines) هو أساسًا المعلومات اللازمة لإظهار رسالة 'هل أنت متأكد أنك تريد تشغيل هذا؟' عندما يحاول المستخدم فتح ملف تم تنزيله من الإنترنت. لمزيد من التفاصيل، اطّلع على شرح دعم Apple للحجر الصحي: http://support.apple.com/kb/HT3662

يجمع هذا القسم أيضًا معلومات من فحص البرامج الضارة القائم على التجزئة XProtect للملفات المحجورة. ملف plist موجود في: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.plist

يضيف XProtect أيضًا إصدارات دنيا للإضافات الإضافية للإنترنت. ملف plist ذلك موجود في: /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/XProtect.meta.plist

قسم downloads

يجمع تجزئات جميع ملفات التنزيل للمستخدمين من:

  • ~/Downloads
  • ~/Library/Mail Downloads
  • ~/Library/Containers/com.apple.mail/Data/Library/Mail Downloads
قسم chrome

يجمع المعلومات التالية من متصفح الويب Google Chrome:

  • السجل (History)
  • السجل المؤرشف (Archived History)
  • ملفات تعريف الارتباط (Cookies)
  • الإضافات (Extensions)
  • بيانات تسجيل الدخول (Login Data)
  • المواقع الأكثر زيارة (Top Sites)
  • بيانات الويب (Web Data)

يتم استخراج هذه البيانات من ~/Library/Application Support/Google/Chrome/Default

قسم firefox

يجمع المعلومات من قواعد بيانات SQLite المختلفة في ملف تعريف Firefox:

  • ملفات تعريف الارتباط (Cookies)
  • التنزيلات (Downloads)
  • سجل النماذج (Form History)
  • السجل (History)
  • كلمات المرور المحفوظة (Signons)
  • الأذونات (Permissions)
  • الإضافات (Addons)
  • الإضافات (Extensions)
  • تفضيلات المحتوى (Content Preferences)
  • تقرير الصحة (Health Report)
  • متجر تطبيقات الويب (Webapps Store)

يتم استخراج هذه المعلومات من ~/Library/Application Support/Firefox/Profiles

لمزيد من التفاصيل حول مجلد ملف تعريف Firefox، انظر http://kb.mozillazine.org/Profile_folder_-_Firefox

قسم safari

يجمع المعلومات من مختلف ملفات plist وقواعد بيانات SQLite في ملف تعريف Safari:

  • التنزيلات (Downloads)
  • السجل (History)
  • الإضافات (Extensions)
  • قواعد البيانات (Databases)
  • التخزين المحلي (Local Storage)
قسم accounts

يجمع معلومات حول حسابات المستخدمين:

  • مدراء النظام: /private/var/db/dslocal/nodes/Default/groups/admin.plist
  • مستخدمو النظام: /private/var/db/dslocal/nodes/Default/users
  • الحسابات الاجتماعية: ~/Library/Accounts/Accounts3.sqlite
  • العناصر الأخيرة للمستخدمين: ~/Library/Preferences/com.apple.recentitems.plist
قسم mail

يجمع تجزئات الملفات في أدلة تطبيق البريد:

  • ~/Library/Mail
  • ~/Library/Mail Downloads
قسم full_hash

يجمع تجزئات جميع الملفات على القرص. كلها. لا يتم تشغيل هذا افتراضيًا. يجب تفعيله باستخدام:

root@kitploit:~
$ sudo osxcollector.py -s full_hash

التحليل اليدوي الأساسي

التحليل الجنائي هو مزيج من الفن والعلم. سيرى كل محلل قصة مختلفة قليلاً عند قراءة مخرجات OSXCollector. وهذا جزء مما يجعل التحليل ممتعًا.

بشكل عام، يتم إجراء الجمع على جهاز مستهدف لأن شيئًا ما مريب: اكتشف مكافح الفيروسات ملفًا لا يعجبه، أو رصد فحص الحزم العميق استدعاءً، أو لاحظ مراقبة نقطة النهاية عنصر تشغيل جديد. تفاصيل هذا التنبيه الأولي - مسار ملف، طابع زمني، تجزئة، نطاق، عنوان IP، إلخ - هذا يكفي للبدء.

الطوابع الزمنية

ببساطة، البحث عن بضع دقائق قبل وبعد طابع زمني يعمل بشكل رائع:

root@kitploit:~
$ cat INCIDENT32.json | grep '2014-01-01 11:3[2-8]'

سجل المتصفح

إنه موجود. أداة مثل jq يمكن أن تكون مفيدة جدًا لإخراج متقدم:

root@kitploit:~
$ cat INCIDENT32.json | grep '2014-01-01 11:3[2-8]' | jq 'select(has("url"))|.url'

مستخدم واحد

root@kitploit:~
$ cat INCIDENT32.json | jq 'select(.osxcollector_username=="ivanlei")|.'

التحليل الآلي

يحتوي مشروع مرشحات مخرجات OSXCollector على مرشحات تقوم بمعالجة وتحويل مخرجات OSXCollector. الهدف من المرشحات هو جعل تحليل مخرجات OSXCollector سهلاً.

نصائح التطوير

وظائف OSXCollector مخزنة في ملف واحد: osxcollector.py. يجب أن يعمل الجمع على تثبيت عارٍ لـ OS X دون أي حزم أو تبعيات إضافية.

تأكد من اجتياز جميع اختبارات OSXCollector قبل تحرير كود المصدر. يمكنك تشغيل الاختبارات باستخدام: make test

بعد إجراء تغييرات على كود المصدر، قم بتشغيل make test مرة أخرى للتحقق من أن تغييراتك لم تكسر أيًا من الاختبارات.

الترخيص

هذا العمل مرخص بموجب رخصة جنو العمومية العامة وهو مشتق من https://github.com/jipegit/OSXAuditor

منشور مدونة

  • OSXCollector: Forensic Collection and Automated Analysis for OS X بواسطة Ivan Leichtling

عروض تقديمية

  • OSXCollector: Automated forensic evidence collection & analysis for OS X بواسطة Kuba Sendor @ BruCON 0x07
  • Squashing Rotten Apples: Automated forensics & analysis for Mac OS X with OSXCollector بواسطة Kuba Sendor @ BSides Manchester 2015
  • OSXCollector بواسطة Ivan Leichtling @ Macbrained's August Meet-Up
  • OSXCollector - Automated Forensic Evidence Collection & Analysis for OS X بواسطة Ivan Leichtling @ OpenNSM
  • OSXCollector - Automated Forensic Evidence Collection & Analysis for OS X بواسطة Ivan Leichtling @ Duo Tech Talk (منشور مدونة)

عروض تقديمية خارجية

  • OSX Archaeology: Becoming Indiana Jones with OSXCollector and Strata بواسطة Chris Henderson & Justin Larson @ SAINTCon 2015

موارد

هل تريد معرفة المزيد عن أدلة OS X الجنائية؟

  • موقع Sarah Edward's mac4n6.com - أفضل العروض التقديمية حول أدلة Mac الجنائية.

بعض الأدوات الأخرى المثيرة للاهتمام:

  • KnockKnock - KnockKnock هو سكريبت بايثون سطر أوامر يعرض الثنائيات المستمرة لنظام OS X التي تم ضبطها لتعمل تلقائيًا عند كل إقلاع.
  • Grr - Google Rapid Response: استجابة حية عن بعد للأدلة الجنائية للاستجابة للحوادث
  • osquery - أدوات نظام تشغيل تعمل بـ SQL للمراقبة والتحليل
تنزيل الأداة
  • system_info
  • kext
  • startup
    • launch_agents
    • scripting_additions
    • startup_items
    • login_items
  • applications
    • applications
    • install_history
  • quarantines
  • downloads
    • downloads
    • email_downloads
    • old_email_downloads
  • chrome
    • history
    • archived_history
    • cookies
    • login_data
    • top_sites
    • web_data
    • databases
    • local_storage
    • preferences
  • firefox
    • cookies
    • downloads
    • formhistory
    • history
    • signons
    • permissions
    • addons
    • extension
    • content_prefs
    • health_report
    • webapps_store
    • json_files
  • safari
    • downloads
    • history
    • extensions
    • databases
    • localstorage
    • extension_files
  • accounts
    • system_admins
    • system_users
    • social_accounts
    • recent_items
  • mail
  • full_hash
  • root@kitploit:~
    $ sudo osxcollector.py -s 'startup' -s 'downloads'
    
  • -c/--collect-cookies: يجمع قيمة ملفات تعريف الارتباط (الكوكيز). افتراضيًا لا يقوم OSXCollector بتفريغ قيمة الكوكي، حيث قد تحتوي على معلومات حساسة (مثل معرف الجلسة).

  • -l/--collect-local-storage: يجمع القيم المخزنة في التخزين المحلي لمتصفحات الويب. افتراضيًا لا يقوم OSXCollector بتفريغ القيم لأنها قد تحتوي على معلومات حساسة.

  • -d/--debug: يفعل إخراجًا مفصلاً ونقاط توقف بايثون. إذا كان هناك خطأ ما في OSXCollector، جرّب هذا.

    root@kitploit:~
    $ sudo osxcollector.py -d