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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
mail-security-tester — إطار اختبار لحلول أمن البريد الإلكتروني والتصفية. | Kitploit
أدوات/GitHubGitHub/tkcert/mail-security-tester
أدوات التصيدماسحات الثغرات الأمنيةالتهرب من IDS/IPSاختبار الاختراقأمان البريد الإلكتروني
GitHubtkcert/mail-security-tester

mail-security-tester

إطار اختبار لحلول أمن البريد الإلكتروني والتصفية.

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

الأكثر شعبية

عرض الكل →

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

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

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

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

Build Status

إطار اختبار أمان البريد

إطار اختبار لحلول أمان البريد وتصفيته.

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

التثبيت

يعمل إطار اختبار أمان البريد مع بايثون >=3.5. فقط اسحب هذا المستودع وابدأ. لا توجد تبعيات إضافية مطلوبة.

الاستخدام

يقوم النص البرمجي mail-tester.py بتشغيل الاختبارات. اقرأ رسالة المساعدة باستخدام ./mail-tester.py --help وتحقق من قائمة وحدات الاختبار والتهرب باستخدام ./mail-tester.py -l للحصول على نظرة عامة حول الإمكانيات واستخدام النص البرمجي. بعض التلميحات:

  • على الأقل يجب تقديم المعاملين --smtp-server و --to لتشغيل اختبار أساسي.
  • يمكن أيضًا تخزين جميع المعاملات في ملفات التكوين دون البادئة --. يمكن استخدام ملفات التكوين هذه عن طريق استدعاء ./mail-tester.py @tester.conf (التكوين موجود في tester.conf).
  • يمكن تكوين عدة مستلمين باستخدام --to لاختبار تكوينات تصفية مختلفة.
  • قد ترفض بعض حلول تصفية البريد الرسائل بعد فترة. استخدم --auto-delay لتخفيف السرعة التلقائي للرسائل. يمكن ضبط ذلك بدقة باستخدام --delay-step و --delay-max و --delay.
  • تتطلب بعض الاختبارات (البريد العشوائي والبرامج الضارة) عينات. ضع هذه في مجلدات وقم بتكوين هذه المجلدات باستخدام معلمات --spam-folder و --malware-folder. العينات غير مضمنة في هذا المستودع (ولن تكون). الأماكن الجيدة للحصول على البرامج الضارة هي theZoo أو Das Malwerk أو مجموعات أخرى. يمكن تصدير البريد العشوائي مباشرة من مجلد البريد العشوائي الخاص بك، ولكن يجب أن يكون بتنسيق EML.
  • يمكن توفير القوائم السوداء باستخدام المعامل --blacklist وتستخدم كعناوين للمرسل.
  • يجب أن تحتوي حالات اختبار Shellshock و XSS في الموضوع على نطاق اتصال عكسي صالح، حيث يمكنك رؤية أي اتصالات عكسية (خاصة طلبات DNS). يمكن استخدام خدمة Canary Tokens المجانية لهذا الغرض. شكرًا لـ Thinkst على توفير هذه الخدمة الرائعة!
  • يمكن تمكين بعض الحيل الذكية للتهرب من التعرف على المرفقات باستخدام --evasion content-disposition. تم استخدام هذه الحيل في الماضي لإرباك حلول مكافحة الفيروسات/الحماية الرملية وتركها تمرر رسائل ضارة.
  • لا تنس تسجيل نتائج الاختبار باستخدام --log. غالبًا ما يرفض مزودو تصفية البريد الرسائل في حوار SMTP، وهو ما ينعكس في السجل المُنشأ.
  • يمكن تفريغ حالات الاختبار باستخدام --output كملفات عادية في دليل، أو بتنسيق MBox (--mbox) أو MailDir (--maildir). هذا مفيد لاختبار وكلاء البريد دون إرسال أي رسائل، أو لتوثيق أو مراجعة حالات الاختبار المُنشأة.

التطوير والتوسيع

الاختبارات

يمكن تنفيذ اختبارات خاصة بك باستخدام فئة في أحد ملفات بايثون الموجودة أو المنشأة حديثًا في دليل tests/. يجب أن تكون الفئة فئة فرعية من MailTestBase الموجودة في الوحدة tests.base من هذا المشروع. يتم اكتشاف الاختبارات المنفذة حديثًا تلقائيًا عندما يتم تعيين متغير الفئة active إلى True. بالإضافة إلى ذلك (إذا كنت تخطط للمساهمة بالاختبارات مرة أخرى إلى المستودع الرئيسي)، يجب تعيين متغيرات الفئة identifier و name و description بشكل مناسب.

توجد الفئات الأساسية التالية مع طرق أو متغيرات فئة مخصصة للتجاوز:

  • MailTestBase: فئة اختبار للاختبارات العامة.
    • generateTestCases(): ينتج رسائل اختبار. يجب إنشاؤها باستخدام فئات MIME* من حزم Python email.mime.* أو باستخدام فئة Message من email.message لضمان رسائل بريد صالحة.
    • active: قيمة منطقية تشير إلى ما إذا كان الاختبار نشطًا.
    • identifier: معرف قصير للاختبار. يُستخدم لتمكين أو تعطيل الاختبارات في المعاملات.
    • name: عنوان قصير للاختبار.
    • description: وصف أطول للاختبار، يجب أن يتناسب مع حوالي 100 حرف.
    • delivery_sender و delivery_recipient: قيم منطقية، False افتراضيًا. عادةً، يتم تعيين المرسل والمستلمين في الرسالة وتأخذها وحدة SMTP في بايثون من هناك. في بعض الأحيان يكون من المرغوب تعيينهما بشكل صريح في مكتبة SMTP، ويمكن تكوين ذلك عن طريق تعيين هذه القيم إلى .

يوصى بشدة بتعيين موضوعات الرسائل المُنشأة لتتمكن من التعرف على الاختبارات في صندوق الوارد المستقبل.

التهرب

تنفذ فئات التهرب تقنيات لتجنب التعرف على خصائص بريد معينة بواسطة حلول أمان البريد. حاليًا، تم تنفيذ تقنية تهرب تحاول إخفاء المرفقات من هذه الحلول عن طريق رؤوس Content-Disposition المكسورة عمدًا.

تنفيذ تهرب جديد

يتم تنفيذ التهرب باستخدام نمط فئة المصنع. تقوم فئة DeliveryBase بإنشاء فئة مصنع مشتقة من فئة BaseEvasionFactory. يستقبل منشئ المصنع علمًا يشير إلى ما إذا كان التهرب نشطًا. ثم يتم تمرير مثيل مصنع التهرب إلى فئة الاختبار وتخزينه في السمة evasions التي تحتوي على قاموس بمفاتيح معرفات التهرب. داخل الاختبار، يتم إنشاء فئة تهرب (مبنية على EvasionBase) باستخدام getEvasionGenerator(). يتم تعريف معاملات المنشئ بشكل فردي لكل تقنية تهرب.

تُستخدم الفئات الأساسية التالية لتنفيذ التهرب:

  • BaseEvasionFactory: يجب أن تستند مصانع التهرب إلى هذه الفئة. عادةً، يجب تعيين متغيرات الفئة التالية فقط:
    • active: تعيين إلى True إذا كان التهرب يجب أن يكون نشطًا.
    • identifier: معرف قصير لوحدة التهرب يستخدم لتمكينها في تكوين الاختبار.
    • name: عنوان قصير لتقنية التهرب.
    • description: وصف أطول لتقنية التهرب. يجب أن يتناسب مع حوالي 100 حرف.
    • generator_evasion: فئة التهرب التي يتم إنشاؤها إذا كان التهرب ممكّنًا.
    • generator_default: فئة التهرب التي يتم إنشاؤها إذا كان التهرب معطلاً.
  • BaseEvasion: يجب أن يكون تنفيذ التهرب فئة فرعية من هذه الفئة الأساسية. يجب تجاوز الطريقة التالية:
    • __init__(): يجب أن ينشئ الفئة مع الرسالة الأساسية أو المرفق الذي يجب التلاعب به باستخدام تقنيات التهرب.
    • generate(): قم بتطبيق تقنية التهرب على الكائن الممرر إلى المنشئ وقدمه للمتصل كزوج (وصف، كائن مع تطبيق التهرب).

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

استخدام تقنيات التهرب في حالات الاختبار

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

  1. إنشاء الكائن الأساسي (بريد أو مرفق) دون اعتبار التهرب.
  2. إنشاء فئة التهرب المناسبة باستخدام مثيل مصنع التهرب من self.evasions، على سبيل المثال: evasion_items = self.evasions["evasion_identifier"].getEvasionGenerator(message)
  3. التكرار عبر المولد وإرجاع حالات الاختبار:
root@kitploit:~
for evasion_item in evasion_items:
    yield evasion_item

استخدام تقنية التهرب Content Disposition

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

تنزيل الأداة
True
  • finalizeMessage(msg): افتراضيًا، تقوم فئة الاختبار الأساسية بتعيين رؤوس From و To وفقًا لذلك. يمكن تجاوز هذا السلوك إذا لزم الأمر لحالة الاختبار.
  • MailAttachmentTestBase: فئة اختبار لحالات اختبار المرفقات. يُنشئ هذا رسالة بريد كاملة صالحة مع موضوع وجزء نصي ويرفق حالة الاختبار بها. مشتقة من MailTestBase، لذلك يمكن تجاوز الطرق/المتغيرات منها هنا أيضًا.
    • generateAttachments(): ينتج حالات اختبار كأزواج (وصف، مرفق).
    • subject: يحدد الموضوع. يتم استبدال العنصر النائب {} بالوصف الذي تم إنتاجه بواسطة generateAttachments().
    • generateTestCases(): تم تجاوزه بالفعل مع تنفيذ لتوليد الرسالة الموصوف أعلاه، ولكن يمكن تعديله أكثر إذا لزم الأمر.