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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
hashdb — تشكيلة من خوارزميات التجزئة المستخدمة في البرمجيات الخبيثة | Kitploit
أدوات/GitHubGitHub/oalabs/hashdb
التحليل الثابتتحليل التجزئةالهندسة العكسيةتحليل البرمجيات الخبيثةتحليل الملفات الثنائية
GitHuboalabs/hashdb

hashdb

تشكيلة من خوارزميات التجزئة المستخدمة في البرمجيات الخبيثة

عرض المستودع
40574منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

AWS Deploy Chat Support

HashDB

HashDB هي مكتبة مجتمعية لخوارزميات التجزئة المستخدمة في البرمجيات الخبيثة.

كيفية استخدام HashDB

يمكن استخدام HashDB كمكتبة تجزئة مستقلة، كما أنها تغذي خدمة البحث في HashDB التي تديرها OALabs. تتيح هذه الخدمة للمحللين عكس التجزئات واسترجاع أسماء واجهات برمجة التطبيقات (API) والقيم النصية المُجزّأة.

الوحدة المستقلة

يمكن استنساخ HashDB واستخدامها في نصوصك الخاصة بهندسة عكسية مثل أي وحدة Python قياسية. فيما يلي بعض الأمثلة على الكود.

root@kitploit:~
>>> import hashdb
>>> hashdb.list_algorithms()
['crc32']
>>> hashdb.algorithms.crc32.hash(b'test')
3632233996

خدمة البحث في HashDB

تدير OALabs خدمة بحث مجانية في HashDB يمكن استخدامها للاستعلام عن جدول تجزئة لأي تجزئة مدرجة في مكتبة HashDB. تتضمن جداول التجزئة المجموعة الكاملة من واجهات برمجة تطبيقات Windows بالإضافة إلى العديد من السلاسل الشائعة المستخدمة في البرمجيات الخبيثة. يمكنك حتى إضافة السلاسل الخاصة بك!

ملحق HashDB لـ IDA

تتوفر لخدمة البحث في HashDB ملحق لـ IDA Pro يمكن استخدامه لأتمتة عمليات البحث عن التجزئة مباشرة من IDA! يمكن تنزيل العميل من GitHub هنا.

كيفية إضافة تجزئات جديدة

تعتمد HashDB على دعم المجتمع للحفاظ على تحديث مكتبة التجزئة! هدفنا هو ألا يستغرق المساهمون أكثر من خمس دقائق لإضافة تجزئة جديدة، من أول commit إلى PR. لتحقيق هذا الهدف، نقدم العملية المبسطة التالية.

  1. تأكد من أن خوارزمية التجزئة غير موجودة بالفعل... نعلم أن ذلك يبدو سخيفًا ولكن فقط تحقق مرة أخرى.

  2. أنشئ فرعًا (branch) باسم وصفي.

  3. أضف ملف Python جديدًا إلى دليل /algorithms باسم خوارزمية التجزئة الخاصة بك. حاول استخدام الاسم الرسمي للخوارزمية، أو إذا كانت فريدة، استخدم اسم البرمجية الخبيثة التي تنفرد بها.

  4. استخدم القالب التالي لإعداد خوارزمية التجزئة الجديدة. جميع الحقول إلزامية وحساسة لحالة الأحرف.

    root@kitploit:~
    #!/usr/bin/env python
    
    DESCRIPTION = "your hash description here"
    # Type can be either 'unsigned_int' (32bit) or 'unsigned_long' (64bit)
    TYPE = 'unsigned_int'
    # Test must match the exact hash of the string 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
    TEST_1 = hash_of_string_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
    
    
    def hash(data):
        # your hash code here
    
  5. تحقق جيدًا من أسلوب Python الخاص بك، فنحن نستخدم Flake8 على Python 3.9. يمكنك تجربة أوامر lint التالية محليًا من جذر مستودع git.

    root@kitploit:~
    pip install flake8
    flake8 ./algorithms --count --select=E9,F63,F7,F82 --show-source --statistics
    
  6. اختبر الكود محليًا باستخدام مجموعة الاختبارات الخاصة بنا. نفّذ الأوامر التالية محليًا من جذر مستودع git. لاحظ أنه يجب تشغيل pytest كوحدة بدلاً من تشغيله مباشرة أو لن يلتقط دليل الاختبارات الخاص بنا.

    root@kitploit:~
    pip install pytest
    python -m pytest
    
  7. قدّم طلب سحب (pull request) — سيتم وضع خوارزميتك الجديدة تلقائيًا في قائمة الانتظار للاختبار، وإذا نجحت، سيتم دمجها.

هذا كل شيء! لن تتوفر تجزئتك الجديدة في مكتبة HashDB فحسب، بل سيتم أيضًا إنشاء جدول تجزئة جديد لـ خدمة البحث في HashDB ويمكنك البدء في عكس التجزئات فورًا!

❗قواعد التجزئات الجديدة

طلبات السحب (PRs) التي تتضمن تغييرات خارج دليل /algorithms ليست جزءًا من CI التلقائي لدينا وستخضع لتدقيق إضافي.

يجب أن تحتوي جميع التجزئات على وصف صالح في حقل DESCRIPTION.

يجب أن يكون لجميع التجزئات نوع إما unsigned_int أو unsigned_long في حقل TYPE. تقبل HashDB حاليًا فقط التجزئات غير الموقعة 32bit أو 64bit.

يجب أن تحتوي جميع التجزئات على تجزئة السلسلة ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 في حقل TEST_1.

يجب أن تتضمن جميع التجزئات دالة hash(data) تقبل سلسلة بايتات وتُرجع تجزئة السلسلة.

إضافة تجزئات API مخصصة

تقوم بعض خوارزميات التجزئة بتجزئة اسم الوحدة واسم API بشكل منفصل ثم تجمع التجزئات لإنشاء تجزئة واحدة للوحدة+API. مثال على ذلك تجزئة Metasploit ROR13 القياسية. لن تعمل هذه الخوارزميات مع قائمة الكلمات القياسية وتتطلب قائمة كلمات مخصصة تتضمن كلاً من اسم الوحدة واسم API. للتعامل مع هذه الحالات، نسمح بخوارزميات مخصصة لا تُرجع تجزئة صالحة إلا لبعض الكلمات.

تتطلب إضافة تجزئة API مخصصة المكونات الإضافية التالية.

  1. يجب ضبط حقل TEST_1 على 4294967294 (-1).

  2. يجب أن تُرجع خوارزمية التجزئة القيمة 4294967294 لجميع التجزئات غير الصالحة.

  3. يجب إضافة حقل إضافي TEST_API_DATA_1 مع كلمة مثال صالحة للخوارزمية.

  4. يجب إضافة حقل إضافي TEST_API_1 مع تجزئة حقل TEST_API_DATA_1.

الوقوف على أكتاف العمالقة

تحية كبيرة لفريق FLARE على جهودهم مع shellcode_hashes. منذ سنوات عديدة، وضع هذا المشروع المعيار لعكس تجزئات البرمجيات الخبيثة بسرعة وسهولة، ولا يزال أداة مفيدة للغاية. فلماذا نكرره؟

بصراحة، الأمر كله يتعلق بقائمة الكلمات وسهولة الوصول. لقد شهدنا تحولًا كبيرًا نحو استخدام التجزئات لجميع أنواع السلاسل في البرمجيات الخبيثة الآن، والطريقة القديمة لتجزئة جميع صادرات DLL الخاصة بنظام Windows لم تعد جيدة بما يكفي. أردنا حلاً يمكنه معالجة ملايين مفاتيح التسجيل وقيمه وأسماء الملفات وأسماء العمليات بشكل مستمر. وأردنا أن تكون تلك البيانات متاحة عبر REST API حتى نتمكن من استخدامها في سير عمل الأتمتة لدينا، وليس فقط في أدوات التحليل الثابت. ومع ذلك، لما كنا لنوجد بدون shellcode_hashes، فالعرفان يُمنح لأهله 🙌


تنزيل الأداة