معرّف التشفير

لقد قمت باستخراج نسخة من قاعدة البيانات ولاحظت وجود سلاسل نصية مثل $2y$10$... أو 5f4dcc3b5aa765d61d8327deb882cf99، ويجب أن تعرف طبيعة هذه السلاسل قبل البدء في تحليلها أو عكس ترميزها. يطبّق هذا المعرّف قواعد تقريبية تتعلق بالطول ومجموعة الأحرف والبنية والبادئات، بهدف تخمين الخوارزمية أو نظام الترميز الأكثر احتمالاً الكامن وراء عينة النص المشفر.

كيفية تحديد النص المشفر

  1. 1

    لصق العينة

    مُجمّع بيانات تشفير واحد، أو كتلة نصية مشفرة، أو رمز، أو سلسلة نصية مشفرة.

  2. 2

    عرض التنسيقات المطابقة

    يتم سرد جميع التنسيقات التي يطابق نمطها عينتك في النتيجة.

  3. 3

    التحقق المتبادل

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

  4. 4

    لاحظ عدم اليقين

    نادرًا ما يكون التعرف على عينة واحدة فقط حاسمًا؛ إذا لم يطابق أي شيء، توضح الأداة ذلك.

أنماط التوقيع التي يستخدمها المعرّف

قائم على الطول (للتجزئات المُرمّزة بالنظام السداسي عشري):

الطول (بأحرف سداسية عشرية) يُعرَّف على أنه
32 MD5
40 SHA-1
64 SHA-256
128 SHA-512

الأطوال الأخرى، مثل SHA-224 بطول 56 حرفًا سداسيًا أو SHA-384 بطول 96، لا يتم التعرف عليها كتجزئات (سيتم تصنيف سلسلة سداسية من 56 أو 96 حرفًا على أنها Base64 بدلاً من ذلك).

قائم على البادئة (يتم التعرف على بادئات bcrypt فقط):

  • $2a$ $2b$ $2y$ bcrypt

بادئات النمط crypt الأخرى ($1$ و$5$ و$6$ و$argon2i$ و$argon2id$ و$pbkdf2$) لا يتم التعرف عليها.

قائم على الترميز:

  • جميع الأحرف ضمن [A-Za-z0-9+/=] وطولها من مضاعفات 4: على الأرجح Base64.
  • ثلاثة أجزاء مفصولة بـ .، يتكون كل منها من أحرف [A-Za-z0-9_-]: JWT.

لا يتم اكتشاف أغلفة PEM، أو كتل OpenSSH ssh-rsa/ssh-ed25519، أو سلاسل Base64url التي تحتوي على - أو _.

ما لا يستطيع التعرّف إخبارك به

  • الخوارزمية الدقيقة بيقين 100%: سلسلة من 64 حرفًا سداسيًا يتم الإبلاغ عنها على أنها SHA-256، لكنها قد تكون أيضًا SHA3-256 أو BLAKE2s؛ ولا يمكن التمييز بينها من النص المشفر. تجزئات NTLM (وهي أيضًا 32 حرفًا سداسيًا) تبدو مطابقة لـ MD5.
  • قوة المفتاح: يُظهر هاش bcrypt عامل التكلفة في بادئته (مثلاً: $2y$10$ = تكلفة 10)، لكنه لا يعكس قوة كلمة المرور الأساسية.
  • هل هو مُملَّح أم لا: تجزئات كلمات المرور الحديثة (مثل bcrypt وArgon2) مُملَّحة دائمًا؛ بينما قد تكون القديمة (مثل MD5 وSHA الخام) مملَّحة أو غير مملَّحة.
  • النص الأصلي: لا تعكس عملية التعرّف التجزئة؛ أما الاختراق فهو عملية منفصلة، ويُسمح بها قانونيًا فقط على بياناتك الخاصة.

متى يكون المعرّف خاطئًا

  • الرموز ذات البادئات المخصصة: تُغلّف التطبيقات أحيانًا الهاش ببادئة خاصة بها؛ أزل الغلاف أولاً.
  • الترميز المزدوج: قد يؤدي تغليف هاش ثنائي بصيغة سداسية ثم بـ Base64 إلى تعريف خاطئ؛ جرّب فك الترميز مرة واحدة ثم أعد التشغيل.
  • الأطوال غير المعتادة: تظهر التجزئات المقتطعة (مثل أول 16 حرفًا من SHA-256 مستخدمة كمعرّف) على أنها “Base64” لأن قواعد الأحرف والطول تتداخل.
  • التنسيقات المؤطَّرة أو المغلَّفة: لا يتم تحليل كتل PEM، أو مفاتيح OpenSSH، أو pbkdf2_sha256$... من Django؛ أزل الغلاف أو البادئة وحاول مرة أخرى، أو استخدم محللًا مخصصًا.

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

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

تذكير حول المبادئ الأخلاقية

تحديد تنسيق التجزئة هو نوع من البحث السلبي؛ فاختراق تجزئة شخص آخر دون إذن يُعد مخالفة لقوانين سوء استخدام الحواسيب في معظم الولايات القضائية. يجب العمل فقط على التجزئات التي تمتلكها أو التي يُسمح لك بتحليلها.

الأسئلة الشائعة

جزئيًا: يتكوّن MD5 من 32 حرفًا هكساديسيمي، بينما يتكوّن SHA-1 من 40 حرفًا هكساديسيمي. إذا كان طول كلا الخوارزميتين متساويًا، فلا يمكن التمييز بينهما باستخدام قيمة الهاش وحدها؛ وعادةً ما يتم تحديد الاختلاف بناءً على السياق (اسم عمود قاعدة البيانات، الإعدادات الافتراضية للإطار البرمجي، أو المخطط الذي تم تسريبه).

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

يُعد Argon2id (أو bcrypt عند عامل تكلفة مرتفع) التوصية الحالية؛ بينما يظل كل من PBKDF2-SHA256 وscrypt مقبولين. أما MD5 البسيط، أو SHA-1، أو SHA-256 غير المُملَّح، فهي غير آمنة لتخزين كلمات المرور.

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

أدوات ذات صلة

الأداة متاحة بلغات أخرى