Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mquire — تحليل ذاكرة لينكس دون تبعيات، باستخدام BTF و kallsyms المدمجين في النواة لتحليل الذاكرة بإدراك الأنواع دون معلومات تصحيح خارجية. | Kitploit
أدوات/GitHubGitHub/trailofbits/mquire
الاستخبارات مفتوحة المصدر (OSINT)تحليل الذاكرة الجنائيتحليل الثغرات الأمنيةالهندسة العكسيةالتحقيق الجنائي الرقميتحليل البرمجيات الخبيثةالتحاليل الرقمية الجنائيةتحليل الملفات الثنائيةاستخبارات التهديداتالتعلم والتعليمالاستجابة للحوادث
184846منذ 23 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHub
trailofbits/mquire

mquire

تحليل ذاكرة لينكس دون تبعيات، باستخدام BTF و kallsyms المدمجين في النواة لتحليل الذاكرة بإدراك الأنواع دون معلومات تصحيح خارجية.

عرض المستودعالموقع الإلكتروني

mquire

mquire، وهو لعب على كلمتي memory (ذاكرة) و inquire (استعلام)، هي أداة استعلام عن الذاكرة مستوحاة من osquery.

الميزة الأساسية: لا حاجة لرموز التصحيح الخارجية

يمكن لـ mquire تحليل لقطات ذاكرة نواة لينكس دون الحاجة إلى رموز تصحيح خارجية.

كل ما هو مطلوب للتحليل مضمّن بالفعل في تفريغ الذاكرة نفسه. هذا يعني أنه يمكنك تحليل:

  • أنوية غير معروفة أو مخصصة لم ترها من قبل
  • أي توزيعة لينكس دون تحضير مسبق
  • لقطات ذاكرة حيث رموز التصحيح الخارجية غير متاحة أو مفقودة

المتطلبات

متطلبات إصدار النواة:

  • دعم BTF: نواة 4.18 أو أحدث مع تمكين BTF (معظم التوزيعات الحديثة تمكنه افتراضيًا)
  • دعم Kallsyms: نواة 6.4 أو أحدث (بسبب التغييرات في تنسيق scripts/kallsyms.c)

كيف يعمل

يحلل mquire ذاكرة النواة عن طريق قراءة نوعين من المعلومات المضمنة في أنوية لينكس الحديثة:

  1. معلومات الأنواع من BTF (تنسيق أنواع BPF) - يصف هيكل وتخطيط أنواع بيانات النواة. يتم تحليل بيانات BTF باستخدام مكتبة btfparse.
  2. معلومات الرموز من Kallsyms - يوفر مواقع الذاكرة لرموز النواة (نفس البيانات المستخدمة في /proc/kallsyms)

من خلال دمج معلومات الأنواع مع مواقع الرموز، يمكن لـ mquire العثور على هياكل بيانات النواة المعقدة وقراءتها مثل:

  • تعيينات ذاكرة العمليات (باستخدام هياكل شجرة القيقب)
  • بيانات الملفات المخزنة مؤقتًا (باستخدام هياكل XArray)
  • رسائل سجل النواة

هذا يجعل من الممكن استخراج الملفات مباشرة من ذاكرة التخزين المؤقت للملفات في النواة، حتى لو تم حذفها من القرص.

ملاحظات التوافق

يعتمد ماسح Kallsyms على تنسيق البيانات من scripts/kallsyms.c في كود مصدر النواة. إذا غيرت إصدارات النواة المستقبلية هذا التنسيق، فقد تحتاج إرشادات الماسح إلى تحديثات.

الإمكانيات

الجداول

يوفر mquire جداول SQL للاستعلام عن جوانب مختلفة من النظام أو حالة الأداة نفسها.

mquire ليس قاعدة بيانات. كل استعلام يعيد بناء هياكل بيانات النواة عن طريق مسح الذاكرة واتباع المؤشرات. لا توجد فهارس محسوبة مسبقًا أو نتائج مخزنة مؤقتًا: كل وصول إلى جدول هو اجتياز لبيانات النواة. استخدم AS MATERIALIZED لتجنب عمليات المسح المكررة (انظر تحسين الاستعلام)، وقدم قيودًا مثل task عند الاستعلام عن جداول خاصة بالعمليات مثل task_open_files و memory_mappings لتحديد المسح إلى عملية واحدة.

مبدأ التصميم: العناوين الافتراضية كمفاتيح ربط. تستخدم الجداول virtual_address (عنوان النواة لهيكل البيانات الأساسي) كمفتاح الربط الأساسي: وليس pid أو معرفات أخرى مرئية للمستخدم. هذا مقصود، لأن نفس PID يمكن أن يظهر عدة مرات عبر مصادر اكتشاف مختلفة ومهام جذرية، بينما يحدد عنوان افتراضي كائن نواة معين بشكل فريد. تم بناء كل من جداول SQL وواجهة برمجة التطبيقات الأساسية LinuxOperatingSystem حول هذه الاتفاقية.

معلومات النظام

  • os_version - إصدار النواة والهندسة المعمارية
  • system_info - اسم المضيف واسم المجال
  • boot_time - وقت إقلاع النظام
  • kallsyms - عناوين رموز النواة (نفس البيانات الموجودة في /proc/kallsyms)
  • dmesg - رسائل حلقة النواة (نفس البيانات الموجودة في أمر dmesg)

معلومات العمليات

  • tasks - العمليات الجارية مع سطور الأوامر ومسارات الملفات الثنائية. يتم اكتشاف كل مهمة عبر مصادر مستقلة متعددة، وهو مفيد لاكتشاف الجذور الخفية (rootkits). انظر مقارنة طرق تعداد المهام لاكتشاف الجذور الخفية و قائمة العمليات المكررة المكررة.
  • task_open_files - الملفات المفتوحة بواسطة كل عملية (قدم قيد task للتحليل المستهدف، أو استعلم عن جميع المهام مرة واحدة)
  • memory_mappings - مناطق الذاكرة المعينة بواسطة كل عملية (قدم قيد task للتحليل المستهدف، أو استعلم عن جميع المهام مرة واحدة)
  • task_capabilities - مجموعات قدرات لينكس (فعالة، مسموح بها، قابلة للتوريث، حدودية، محيطة) لمهمة. يتطلب قيد task، لذا اربطه مع tasks/processes (مثل JOIN task_capabilities c ON c.task = p.virtual_address).
  • task_ptrace_flags - يفك تشفير حقل ptrace لمهمة معينة. يتطلب قيد task.

وحدات النواة

  • kernel_modules - وحدات النواة المحملة مع البيانات الوصفية (الاسم، الحالة، الإصدار، المعلمات، أعلام التلوث)
  • kernel_module_mem_entries - إدخالات mem من كائن وحدة النواة. يتطلب قيد kernel_module، لذا اربطه مع kernel_modules (مثل JOIN kernel_module_mem_entries r ON r.kernel_module = m.virtual_address).
  • ftrace_ops - قائمة بعقد struct ftrace_ops، يتم السير من رمز ftrace_ops_list افتراضيًا. قيد virtual_address لقراءة عقدة واحدة، أو start_vaddr (مقيد اختياريًا بـ end_vaddr) للسير من عقدة عشوائية.

معلومات الشبكة

  • network_connections - اتصالات الشبكة النشطة (مآخذ TCP)
  • network_interfaces - واجهات الشبكة مع عناوين IP وعناوين MAC

نظام الملفات

  • syslog_file - سجلات النظام المقروءة من ذاكرة التخزين المؤقت للملفات في النواة (تعمل حتى إذا كانت ملفات السجل محذوفة أو غير متاحة، طالما أنها مخزنة مؤقتًا في الذاكرة)

التصحيح

  • mquire_diagnostics - سجلات mquire الداخلية تظهر تقدم التحليل والتحذيرات والأخطاء

الأوامر

يوفر mquire ثلاثة أوامر رئيسية:

  • mquire shell - ابدأ جلسة SQL تفاعلية للاستعلام عن لقطات الذاكرة
  • mquire query - تنفيذ استعلام SQL واحد وإخراج النتائج (يدعم تنسيق JSON أو جدول)
  • mquire command - تنفيذ أوامر مخصصة على لقطات الذاكرة (مثل .task_tree، .system_version، .dump)

أوامر النقطة

يوفر mquire أوامر خاصة مسبوقة بنقطة (.) لتمييزها عن استعلامات SQL.

الأوامر المضمنة

تعمل هذه الأوامر في الصدفة التفاعلية ومع mquire query:

  • .tables - سرد جميع الجداول المتاحة
  • .schema - عرض مخطط لجميع الجداول
  • .schema <table> - عرض مخطط لجدول معين
  • .commands - سرد جميع الأوامر المخصصة المتاحة
  • .exit - الخروج من الصدفة التفاعلية (الصدفة فقط)

الأوامر المخصصة

تعمل هذه الأوامر في الصدفة التفاعلية ومع mquire command:

استخدم --help مع أي أمر لرؤية الخيارات المتاحة ومعلومات الاستخدام. على سبيل المثال: .task_tree --help

.system_version

عرض معلومات إصدار نظام التشغيل.

هذا أمر اختصار يعادل SELECT * FROM os_version، ولكن مع إخراج منسق.

.task_tree

عرض شجرة هرمية للعمليات والخيوط الجارية، مشابهة لأمر pstree في لينكس.

الخيارات:

  • --show-threads - تضمين الخيوط بالإضافة إلى العمليات. عند التمكين، يعرض كلاً من TGID و TID لكل إدخال.
  • --use-real-parent - استخدام حقل real_parent بدلاً من parent لبناء هيكل الشجرة. يظهر حقل real_parent العملية الأم الأصلية قبل أي إعادة توجيه (مفيد لتتبع سلاسل إنشاء العملية حتى بعد خروج العمليات الأم).

ملاحظات:

  • التنسيق هو [TGID TID] عند عرض الخيوط، أو [TGID] عند إخفاء الخيوط. TGID (معرف مجموعة الخيوط) هو ما يسمى عادة PID. بالنسبة للخيوط الرئيسية (حيث TGID == TID)، ستكون كلتا القيمتين متطابقتين.

.carve

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

الوسائط:

  • ROOT_PAGE_TABLE - العنوان الفعلي لجدول الصفحات الجذر (سلسلة سداسية عشرية مع بادئة 0x اختيارية). يحدد مساحة العنوان لاستخدامها في الترجمة.
  • VIRTUAL_ADDRESS - العنوان الافتراضي لبدء الاستخراج منه (سلسلة سداسية عشرية مع بادئة 0x اختيارية).
  • SIZE - عدد البايتات للاستخراج.
  • DESTINATION_PATH - مسار ملف الإخراج حيث ستكتب الذاكرة المستخرجة.

ملاحظات:

  • يظهر الأمر ملخصًا للمناطق المعينة مقابل غير المعينة قبل الكتابة.
  • تمتلئ المناطق غير المعينة بالأصفار في ملف الإخراج.

.dump

استخراج الملفات من ذاكرة التخزين المؤقت للملفات في النواة لاستعادة الملفات مباشرة من الذاكرة. يكرر هذا الأمر جميع المهام وواصفات الملفات المفتوحة الخاصة بها، مستخرجًا محتويات الملف من ذاكرة التخزين المؤقت للصفحات.

الوسائط:

  • OUTPUT - دليل الإخراج للملفات المستخرجة. يتم تنظيم الملفات حسب TGID (مثل tgid_1234/path/to/file).

ملاحظات:

  • يعمل حاليًا مع الملفات المفتوحة من خلال واصفات الملفات (من جدول واصفات ملفات العملية).
  • لا يدعم بعد استخراج البيانات من الملفات المعينة في الذاكرة.
  • يتم تخطي الملفات الفارغة (لا توجد بيانات في ذاكرة التخزين المؤقت للصفحات).
  • يتم ملء المناطق التي بها أخطاء قراءة بالأصفار في الإخراج.

حالات الاستخدام

تم تصميم mquire من أجل:

تنزيل الأداة