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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pcfg_cracker — مولد تخمين كلمات المرور باستخدام القواعد النحوية الاحتمالية الخالية من السياق (PCFG) | Kitploit
أدوات/GitHubGitHub/lakiw/pcfg_cracker
كسر كلمات المرورهجمات كلمات المرورالتشفيرتعلم الآلة
GitHublakiw/pcfg_cracker

pcfg_cracker

مولد تخمين كلمات المرور باستخدام القواعد النحوية الاحتمالية الخالية من السياق (PCFG)

عرض المستودع
3708714منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PCFG = قواعد نحوية سياقية احتمالية

PCFG = مخمن ضبابي رائع

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

إصدارات الأدوات

المدرّب (Trainer): 4.4

المخمن (Guesser): 4.6

PRINCE_LING: 4.3

مسجل النقاط (Password_Scorer): 4.4

التوثيق

يُستخدم Sphinx لإنشاء دليل المطور ديناميكيًا بناءً على تعليقات التوثيق في الكود. لبناء دليل المطور، راجع التعليمات في /doc/INSTRUCTIONS.rst

يمكن أيضًا العثور على نسخة PDF مبنية مسبقًا من دليل المطور في /doc/build/latex/pcfgdevelopersguide.pdf. ملاحظة: لن أعيد بناء هذا الدليل بين الإصدارات الرئيسية للحفاظ على نظافة تاريخ git. بمعنى آخر، ارتكاب ملفات PDF يصبح فوضويًا سريعًا. لذلك قد يكون الدليل المبني مسبقًا قديمًا قليلاً، لذا إذا كنت تستخدمه للمساعدة في كتابة/تعديل الكود، فمن المستحسن بناء الدليل بنفسك بدلاً من استخدام المبني مسبقًا.

نظرة عامة

يستخدم هذا المشروع التعلم الآلي لتحديد عادات إنشاء كلمات المرور لدى المستخدمين. يتم إنشاء نموذج PCFG عن طريق التدريب على قائمة من كلمات المرور المكشوفة/المخترقة. في سياق هذا المشروع، يُشار إلى النموذج باسم مجموعة القواعد (ruleset) ويحتوي على أجزاء مختلفة من كلمات المرور التي تم تحديدها أثناء التدريب، بالإضافة إلى احتمالاتها المرتبطة. يمكن أن يكون هذا التجزئة مفيدًا لأدوات الاختراق الأخرى مثل PRINCE، و/أو يمكن دمج أجزاء من مجموعة القواعد مباشرة في هجمات القواميس التقليدية. يتضمن هذا المشروع أيضًا مولد تخمينات PCFG الذي يستخدم مجموعة القواعد هذه لتوليد تخمينات كلمات المرور بترتيب الاحتمالات. هذا أقوى بكثير من هجمات القواميس القياسية، وقد أثبت في الاختبارات قدرته على اختراق كلمات المرور في المتوسط مع تخمينات أقل بكثير مقارنة بالطرق الأخرى المتاحة للجمهور. الجانب السلبي هو أن توليد التخمينات بترتيب الاحتمالات بطيء، مما يعني أنه يُنتج في المتوسط 50-100 ألف تخمين في الثانية، بينما يمكن لخوارزميات GPU إنشاء ملايين إلى مليارات (وأكثر) من التخمينات في الثانية ضد خوارزميات التجزئة السريعة. لذلك، فإن مخمن PCFG هو الأفضل للاستخدام ضد أعداد كبيرة من التجزئات المملحة، أو خوارزميات التجزئة البطيئة الأخرى، حيث يتم تعويض تكلفة الأداء للخوارزمية بدقة التخمينات.

المتطلبات + التثبيت

  • Python3 هو المتطلب الصعب الوحيد لهذه الأدوات
  • يُوصى بشدة بتثبيت مكتبة chardet الخاصة بـ Python3 للتدريب. على الرغم من أنها ليست إلزامية، إلا أنها تقوم بالكشف التلقائي عن ترميز الأحرف لكلمات مرور التدريب. لتثبيتها:
  • قم بتنزيل المصدر من https://pypi.python.org/pypi/chardet
  • أو قم بتثبيتها باستخدام pip3 install chardet

دليل البدء السريع

التدريب

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

  1. حدد مجموعة من كلمات المرور النصية العادية للتدريب عليها.
  • يجب أن تتضمن مجموعة كلمات المرور هذه كلمات مرور مكررة. بهذه الطريقة يمكن للمدرّب تحديد كلمات المرور الشائعة مثل 123456 على أنها شائعة.
  • يجب أن تكون كلمات المرور في شكل نص عادي مع إزالة التجزئات والمعلومات المرتبطة مثل أسماء المستخدمين منها. لا تحاول استخدام ملفات .pot الخام كمجموعة تدريب لأن التجزئات ستعتبر جزءًا من كلمة المرور بواسطة برنامج التدريب.
  • يجب أن تكون كلمات المرور مشفرة بنفس الطريقة التي تريد بها توليد تخمينات كلمات المرور. لذا، إذا كنت تريد إنشاء تخمينات كلمات مرور مشفرة بـ UTF-8، فيجب أن تكون مجموعة التدريب مشفرة أيضًا بـ UTF-8. على المدى الطويل، القدرة على تعديل ذلك عند توليد التخمينات موجودة في خطة التطوير، ولكن هذه الميزة غير مدعومة حاليًا.
  • يجب أن تكون قائمة كلمات مرور التدريب بين 100 ألف و 50 مليون. لا يزال الاختبار جاريًا حول كيفية تأثير حجم قائمة كلمات مرور التدريب على توليد التخمينات، وقد كان هناك نجاح جيد حتى مع قوائم كلمات مرور صغيرة تصل إلى 10 آلاف، ولكن الحجم المثالي ربما يكون حوالي مليون، مع عوائد متناقصة بعد ذلك.
  • لأغراض هذا البرنامج التعليمي، سيشار إلى قائمة كلمات المرور المدخلة باسم INPUT_PASSWORD_LIST
  1. اختر اسمًا لمجموعة القواعد التي قمت بإنشائها. لأغراض هذا البرنامج التعليمي، سيكون NEW_RULESET
  2. قم بتشغيل المدرّب على قائمة كلمات المرور المدخلة
  • python3 trainer.py -t INPUT_PASSWORD_LIST -r NEW_RULESET
  • الخيارات الاختيارية الشائعة: أ. coverage: مدى ثقتك في أن مجموعة التدريب تطابق كلمات المرور المستهدفة. تغطية أعلى تعني استخدام توليد قوة غاشمة أقل ذكاءً باستخدام نمذجة ماركوف (حاليًا باستخدام خوارزمية OMEN). إذا قمت بتعيين التغطية إلى 1، فلن يتم إجراء أي قوة غاشمة. إذا قمت بتعيين التغطية إلى 0، فسيتم توليد التخمينات فقط باستخدام هجمات ماركوف. هذه القيمة هي رقم عشري، مع الإعداد الافتراضي 0.6 مما يعني أنه يتوقع 60% فرصة أن الكلمات الأساسية لكلمة المرور المستهدفة يمكن العثور عليها في مجموعة التدريب. مثال: python3 trainer.py -t INPUT_PASSWORD_LIST -r NEW_RULESET -c 0.6 ب. --save_sensitive: إذا تم تحديد ذلك، سيتم حفظ البيانات الحساسة مثل عناوين البريد الإلكتروني ومواقع الويب الكاملة التي تم اكتشافها أثناء التدريب في مجموعة القواعد. على الرغم من أن مولد تخمينات PCFG لا يستخدم هذه البيانات حاليًا، إلا أنها ذات قيمة كبيرة أثناء هجوم اختراق كلمة مرور حقيقي. هذا الخيار معطى افتراضيًا لجعل هذه الأداة أسهل في الاستخدام في البيئة الأكاديمية. ملاحظة: حتى عندما يكون هذا الخيار معطلاً، ستظل هناك بالتأكيد بيانات PII محفوظة داخل مجموعة القواعد، لذا قم بحماية مجموعات القواعد المولدة بشكل مناسب. مثال: python3 trainer.py -t INPUT_PASSWORD_LIST -r NEW_RULESET --save_sensitive ج. --comments: يضيف تعليقًا إلى ملف تكوين مجموعة القواعد الخاصة بك. هذا مفيد حتى تعرف لماذا وكيف قمت بإنشاء مجموعة القواعد الخاصة بك عند النظر إليها لاحقًا. قم بتضمين التعليق الذي تريد إضافته بين علامتي اقتباس.

توليد التخمينات

يؤدي هذا إلى توليد التخمينات إلى stdout باستخدام مجموعة قواعد PCFG مدربة مسبقًا. يمكن بعد ذلك توجيه هذه التخمينات إلى أي برنامج تريد استخدامها. إذا لم يتم تحديد مجموعة قواعد، فسيتم استخدام مجموعة القواعد الافتراضية DEFAULT. لأغراض هذا الدليل، سنفترض أن مجموعة القواعد المستخدمة هي NEW_RULESET.

  1. ملاحظة: برنامج توليد التخمينات حساس لحالة الأحرف عند تحديد اسم مجموعة القواعد.
  • اسم الجلسة غير مطلوب (سيتم إنشاء جلسة افتراضية تسمى default_run)، لكنه مفيد لتسهيل إعادة تشغيل جلسة متوقفة/موقوفة. ستستخدم هذه الأمثلة اسم الجلسة SESSION_NAME. ملاحظة: لا يوجد فحص صحة مدمج إذا قمت بتشغيل جلسات متعددة بنفس الاسم في نفس الوقت، ولكن يُوصى بتجنب ذلك.
  1. لبدء جلسة تخمين جديدة، قم بتشغيل:
  • python3 pcfg_guesser.py -r NEW_RULESET -s SESSION_NAME
  1. لإعادة تشغيل جلسة تخمين سابقة، قم بتشغيل (ملاحظة: لا تزال بحاجة إلى تحديد نفس مجموعة القواعد عند استعادة جلسة):
  • python3 pcfg_guesser.py -r NEW_RULESET -s SESSION_NAME --load
تنزيل الأداة