md5 hash password found




هل من الممكن لفك تجزئة md5؟ (16)

قال لي أحدهم إنه شاهد أنظمة برمجية تقبل كلمات المرور المشفرة لـ MD5 (من خلال عمليات دمج مختلفة مع أنظمة أخرى) ، وفك تشفيرها وتخزينها في قاعدة البيانات الخاصة بالنظام باستخدام خوارزمية خاصة بها.

هل هذا ممكن؟ اعتقدت أنه من غير الممكن (عمليا) لفك تجزئات MD5.

أعرف أن هناك قواميس MD5 ، ولكن هل هناك خوارزمية فعلية لفك التشفير؟


MD5 هو خوارزمية التجزئة ، لا يمكنك التراجع عن قيمة التجزئة.

يجب أن تضيف "ميزة تغيير كلمة المرور" ، حيث يعطي المستخدم كلمة مرور أخرى ، ويحسب التجزئة وتخزينها ككلمة مرور جديدة.


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

هذا هو السبيل الوحيد ، دون الخوض في تحليل الكريبت.


شاهد كل الإجابات الأخرى هنا عن كيف ولماذا لا يمكن عكسها ولماذا لا تريد على أي حال.

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

أيضا ، وهذا لن يعمل على تجزئة المملحة. يوصى Salting قبل العديد من خبراء الأمن.


غير ممكن ، على الأقل ليس في فترة زمنية معقولة.

الطريقة التي يتم التعامل معها غالباً هي كلمة مرور "إعادة تعيين". بمعنى ، يمكنك منحهم كلمة مرور جديدة (عشوائي) وإرسالها في البريد الإلكتروني.


في النظريات التي لا يمكنك فك تشفيرها ولكن لديك بعض التقنيات القذرة للحصول على النص العادي الأصلي مرة أخرى.

  1. Bruteforcing : جميع خوارزميات أمن الكمبيوتر تعاني من bruteforcing . وبناءً على هذه الفكرة ، تستخدم GPU اليوم فكرة البرمجة المتوازية التي يمكن من خلالها استعادة النص العادي عن طريق تثبيته بشكل كبير باستخدام أي معالج رسومات. هذه الأداة hashcat تقوم بهذا العمل. آخر مرة راجعت نسخة cuda منه ، وكنت قادرا على بطء شخصية 7 أحرف طويلة في غضون ست دقائق.
  2. ما عليك سوى نسخ ولصق التجزئة على google ومعرفة ما إذا كان بإمكانك العثور على النص العادي المقابل هناك. هذا ليس حلا عندما كنت تتدرب على شيء ولكن بالتأكيد يستحق المحاولة. تحتفظ بعض مواقع الويب بتجزئة جميع الكلمات تقريبًا في القاموس.

لا ، لا بد أنه كان مرتبكًا حول قواميس MD5.

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


لا ، لا يمكنك فك تشفير / عكس md5 لأنه تشفير أحادي الاتجاه. ولكن بعض مواقع الويب تحتوي على كمية كبيرة من مجموعة قواعد بيانات كلمات المرور ، لذا يمكنك تجربة الاتصال عبر الإنترنت لفك تشفير سلسلة تجزئة MD5 أو SHA1. لقد حاولت استخدام website مثل website وغرورته العاملة بالنسبة لي ، ولكن هذا يعتمد تمامًا على التجزئة إذا تم تخزين تلك التجزئة في قاعدة البيانات هذه ، ثم يمكنك الحصول على السلسلة الفعلية .


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

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

كما أن تخزين قيم التجزئة ليس مشكلة في الأداء نظرًا لأن حساب قيمة التجزئة سريع نسبيًا. إذن ما تفعله معظم الأنظمة هو حساب قيمة تجزئة كلمة المرور التي أدخلها المستخدم (وهي سريعة) ثم مقارنتها بقيمة التجزئة المخزنة في قاعدة بيانات المستخدم الخاصة بها.


لا يمكنك التراجع عن كلمة مرور md5 (بأي لغة)

ولكن يمكنك:

تعطي للمستخدم واحدة جديدة.

تحقق في بعض جدول قوس قزح ربما لاسترداد القديمة.


لا يمكنك. بيت القصيد من تجزئة هو أنها طريقة واحدة فقط. هذا يعني أنه إذا تمكن شخص ما من الحصول على قائمة بتشوهات MD5 ، فلا يزال يتعذر عليه الحصول على كلمة المرور الخاصة بك. (ليس أن MD5 آمن بقدر ما قد يكون ، ولكن لا يهم.) بالإضافة إلى ذلك ، يعني أنه حتى لو استخدم شخص ما كلمة المرور نفسها على مواقع متعددة (نعم ، كلنا نعرف أنه لا ينبغي لنا ، ولكن ...) مدراء الموقع لن يتمكن A من استخدام كلمة مرور المستخدم على الموقع B.

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

بدلاً من ذلك ، قم بإنشاء أداة لإعادة تعيين كلمة المرور استنادًا إلى قيمة تجزئة زمنية يمكن استخدامها مرة واحدة فقط. أرسل عنوان url إليهم يتضمن قيمة تجزئة الطابع الزمني ويتيح لهم هذا الرابط تغيير كلمة المرور الخاصة بهم. بالإضافة إلى ذلك ، إذا أمكنك ذلك ، فاجعل تجزئة الطوابع الزمنية تنتهي بعد فترة قصيرة (على سبيل المثال 24 ساعة) بحيث حتى إذا لم يغيروا كلمة المرور (لأنهم لا يقومون بتسجيل الدخول) ، فهناك نافذة ضعف منخفضة.

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


ليس هناك طريقة سهلة للقيام بذلك. هذا هو نوع من تجزئة كلمة المرور في المقام الأول. :)

شيء واحد يجب أن تكون قادرا على القيام به هو تعيين كلمة مرور مؤقتة لهم يدويا وإرسالها.

أتردد في ذكر ذلك لأنها فكرة سيئة (وليس من المضمون العمل على أي حال) ، ولكن يمكنك محاولة البحث عن التجزئة في جدول قوس قزح مثل milw0rm لمعرفة ما إذا كان يمكنك استعادة كلمة المرور القديمة بهذه الطريقة.


نعم ، ما تطلبه بالضبط ممكن. لا يمكن "فك تشفير" كلمة مرور MD5 بدون مساعدة ، ولكن من الممكن إعادة تشفير كلمة مرور MD5 إلى خوارزمية أخرى ، وليس كل ذلك دفعة واحدة.

ما تقوم به هو ترتيب للمستخدمين الخاص بك لتكون قادراً على تسجيل الدخول إلى النظام الجديد الخاص بك باستخدام كلمة مرور MD5 القديمة. عند تسجيل الدخول قاموا بإعطاء برنامج تسجيل الدخول الخاص بك نسخة غير مظللة من كلمة المرور التي تثبت أنها مطابقة لعنصر MD5 لديك. يمكنك بعد ذلك تحويل كلمة مرور unhashed إلى خوارزمية التجزئة الجديدة.

من الواضح أن هذه عملية موسعة نظرًا لأن عليك الانتظار حتى يخبرك المستخدمون بكلمات المرور ، لكنها تعمل.

(ملاحظة: بعد سبع سنوات ، أتمنى أن يجدها أحدهم مفيدًا)


يعتبر MD5 معطلًا ، ليس لأنك تستطيع استعادة المحتوى الأصلي من التجزئة ، ولكن نظرًا لأنه مع العمل ، يمكنك إنشاء رسالتين تحتويان على تجزئة واحدة.

لا يمكنك إلغاء تجزئة MD5.


يمكنك العثور على أدوات عبر الإنترنت تستخدم قاموسًا لاسترداد الرسالة الأصلية.
في بعض الحالات ، قد تكون طريقة القاموس عديمة الفائدة فقط:
- إذا كانت الرسالة مجزأة باستخدام رسالة SALT
- إذا كانت الرسالة تجزئة أكثر من مرة
على سبيل المثال ، هنا هو أداة واحدة على الانترنت md5 ديكريبتر !
ديفيد


من الناحية الفنية ، إنه "ممكن" ، ولكن في ظل ظروف صارمة للغاية ( طاولات قوس قزح ، التأثير الوحشي على أساس الاحتمال الضئيل جداً أن كلمة المرور الخاصة بالمستخدم موجودة في قاعدة بيانات هاش).

لكن هذا لا يعني ذلك

  • قابل للحياة
    أو
  • آمنة

أنت لا تريد "عكس" تجزئة MD5 . باستخدام الطرق الموضحة أدناه ، لن تحتاج أبدًا إلى ذلك. يعتبر برنامج "Reversing" MD5 خبيثًا - حيث توفر بعض المواقع الإلكترونية القدرة على "تشقّق" و تجزئ تجزئة MD5 - ولكن جميع هذه القواعد عبارة عن قواعد بيانات ضخمة تحتوي على كلمات معجم ، والتي سبق إرسال كلمات المرور وكلمات أخرى. هناك فرصة صغيرة جدا أن يكون لها تجزئة MD5 تحتاج إلى عكسه. وإذا قمت بتمليح تجزئة MD5 - فلن ينجح هذا أيضًا! :)

يجب أن تعمل طريقة تسجيل الدخول باستخدام تجزئة MD5:

خلال التسجيل:
يقوم المستخدم بإنشاء كلمة المرور -> تجزئة كلمة المرور باستخدام MD5 -> التجزئة المخزن في قاعدة البيانات

أثناء تسجيل الدخول:
يقوم المستخدم بإدخال اسم المستخدم وكلمة المرور -> (تم اختيار اسم المستخدم) تم تجزئة كلمة المرور باستخدام MD5 -> مقارنة التجزئة مع التجزئة المخزنة في قاعدة البيانات

عند الحاجة إلى "كلمة المرور المفقودة":

2 خيارات:

  • أرسل المستخدم كلمة مرور عشوائية لتسجيل الدخول ، ثم تم التنصت عليه لتغييره عند تسجيل الدخول لأول مرة.

أو

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

لا. MD5 ليس تشفيرًا (على الرغم من أنه يمكن استخدامه كجزء من بعض خوارزميات التشفير) ، إلا أنه دالة هاش ذات اتجاه واحد. يتم فقدان الكثير من البيانات الأصلية في الواقع كجزء من عملية التحويل.

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

مثال بسيط لوظيفة هاش (غير آمنة للغاية) (وهذا يوضح الفكرة العامة لكونها في اتجاه واحد) هو أخذ كل أجزاء البيانات ، ومعالجتها كعدد كبير. بعد ذلك ، قم بإجراء قسمة عدد صحيح باستخدام عدد كبير (ربما رئيس) عدد n واتخاذ الباقي (انظر: Modulus ). سيتم تركك مع بعض الرقم بين 0 و n . إذا كنت ستقوم بنفس الحساب مرة أخرى (في أي وقت ، على أي جهاز كمبيوتر وفي أي مكان) ، باستخدام نفس السلسلة بالضبط ، فسيظهر بنفس القيمة. ومع ذلك ، لا توجد طريقة لمعرفة القيمة الأصلية ، نظرًا لوجود عدد لانهائي من الأرقام التي تحتوي على هذه البقية بالضبط ، عند تقسيمها على n .

ومع ذلك ، فقد وجد أن MD5 لديها بعض نقاط الضعف ، بحيث أنه مع بعض الرياضيات المعقدة ، قد يكون من الممكن العثور على تصادم دون تجربة 2 128 سلسلة مدخلات ممكنة. وحقيقة أن معظم كلمات المرور قصيرة ، والناس عادة ما يستخدمون القيم المشتركة (مثل "كلمة المرور" أو "السر") يعني أنه في بعض الحالات ، يمكنك تخمين جيد بشكل معقول في كلمة مرور شخص ما بواسطة Googling for the hash or using a Rainbow الجدول . وهذا هو أحد الأسباب التي تجعلك دائمًا " salt " يجتذب كلمات المرور ، بحيث لا تجزأ قيمتان متطابقتان ، عند تجزئتهما ، إلى القيمة نفسها.

بمجرد أن يتم تشغيل جزء من البيانات من خلال دالة هاش ، لن يكون هناك عودة.







encryption