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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
espoofer — أداة اختبار انتحال البريد الإلكتروني تهدف إلى تجاوز SPF/DKIM/DMARC وتزوير توقيعات DKIM.🍻 | Kitploit
أدوات/GitHubGitHub/chenjj/espoofer
أدوات التصيدتحليل الثغرات الأمنيةاختبار الاختراقالأوراق والأبحاثالتعلم والتعليمأمان البريد الإلكتروني
GitHubchenjj/espoofer

espoofer

أداة اختبار انتحال البريد الإلكتروني تهدف إلى تجاوز SPF/DKIM/DMARC وتزوير توقيعات DKIM.🍻

عرض المستودع
1.7k28112منذ 4 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

espoofer

espoofer هي أداة اختبار مفتوحة المصدر لتجاوز مصادقة SPF و DKIM و DMARC في أنظمة البريد الإلكتروني. تساعد مسؤولي خوادم البريد والمختبرين الاختراقيين في التحقق مما إذا كان خادم البريد الإلكتروني المستهدف والعميل عرضة لهجمات انتحال البريد الإلكتروني أو يمكن إساءة استخدامها لإرسال رسائل انتحال.


الشكل 1. حالة من هجمات الانتحال الخاصة بنا على Gmail (تم الإصلاح، فيديو توضيحي)

لماذا بناء هذه الأداة؟

انتحال البريد الإلكتروني هو تهديد كبير لكل من الأفراد والمؤسسات (اختراق Yahoo, John podesta). لمعالجة هذه المشكلة، تستخدم خدمات البريد الإلكتروني الحديثة ومواقع الويب بروتوكولات المصادقة -- SPF و DKIM و DMARC -- لمنع تزوير البريد الإلكتروني.

يظهر بحثنا الأخير أن تنفيذ تلك البروتوكولات يعاني من عدد من المشكلات الأمنية التي يمكن استغلالها لتجاوز حمايات SPF/DKIM/DMARC. يوضح الشكل 1 إحدى هجمات الانتحال لدينا لتجاوز DKIM و DMARC في Gmail. لمزيد من التفاصيل التقنية، يرجى الاطلاع على محادثة Black Hat USA 2020 (مع فيديو العرض) أو ورقة USENIX Security 2020.

  • شرائح Black Hat USA 2020 (PDF): ليس لديك فكرة من أرسل هذا البريد الإلكتروني: 18 هجوماً على مصادقة مرسل البريد الإلكتروني
  • ورقة USENIX Security 2020 (PDF): التأليف يقتل: دراسة حالة لمصادقة مرسل البريد الإلكتروني
    • فائز بجائزة الورقة المتميزة

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

يرجى استخدام الاقتباس التالي إذا كنت تقوم ببحث علمي (انقر علي).

Latex version:

root@kitploit:~
@inproceedings{chen-email,
author = {Jianjun Chen and Vern Paxson and Jian Jiang},
title = {Composition Kills: A Case Study of Email Sender Authentication},
booktitle = {29th {USENIX} Security Symposium ({USENIX} Security 20)},
year = {2020},
isbn = {978-1-939133-17-5},
pages = {2183--2199},
url = {https://www.usenix.org/conference/usenixsecurity20/presentation/chen-jianjun},
publisher = {{USENIX} Association},
month = aug,
}

نسخة وورد:

Jianjun Chen, Vern Paxson, and Jian Jiang. "التأليف يقتل: دراسة حالة لمصادقة مرسل البريد الإلكتروني." In 29th USENIX Security Symposium (USENIX Security 20), pp. 2183-2199. 2020.

التثبيت

  • تحميل هذه الأداة
root@kitploit:~
git clone https://github.com/chenjj/espoofer
  • تثبيت التبعيات
root@kitploit:~
sudo pip3 install -r requirements.txt

إصدار Python: Python 3 (>=3.7).

الاستخدام

espoofer لها ثلاثة أوضاع عمل: الخادم ('s'، الوضع الافتراضي)، العميل ('c') و يدوي ('m'). في وضع الخادم، تعمل espoofer كخادم بريد لاختبار التحقق في خدمات الاستقبال. في وضع العميل، تعمل espoofer كعميل بريد إلكتروني لاختبار التحقق في خدمات الإرسال. وضع يدوي يستخدم لأغراض التصحيح.


الشكل 2. ثلاثة أنواع من المهاجمين وأوضاع عملهم

وضع الخادم

لتشغيل espoofer في وضع الخادم، يجب أن يكون لديك: 1) عنوان IP (1.2.3.4) لا يتم حظر المنفذ الصادر 25 من قبل مزود خدمة الإنترنت، و 2) نطاق (attack.com).

  1. إعداد النطاق
  • تعيين مفتاح DKIM العام لـ attack.com
root@kitploit:~
selector._domainkey.attacker.com TXT  "v=DKIM1; k=rsa; t=y; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDNjwdrmp/gcbKLaGQfRZk+LJ6XOWuQXkAOa/lI1En4t4sLuWiKiL6hACqMrsKQ8XfgqN76mmx4CHWn2VqVewFh7QTvshGLywWwrAJZdQ4KTlfR/2EwAlrItndijOfr2tpZRgP0nTY6saktkhQdwrk3U0SZmG7U8L9IPj7ZwPKGvQIDAQAB"
  • تعيين سجل SPF لـ attack.com
root@kitploit:~
attack.com TXT "v=spf1 ip4:1.2.3.4 +all"
  1. تكوين الأداة في config.py
root@kitploit:~
config ={
	"attacker_site": b"attack.com", # attack.com
	"legitimate_site_address": b"[email protected]", # legitimate.com
	"victim_address": b"[email protected]", # [email protected]
	"case_id": b"server_a1", # server_a1
}

يمكنك سرد والعثور على case_id لجميع حالات الاختبار باستخدام الخيار -l:

root@kitploit:~
python3 espoofer.py -l
  1. تشغيل الأداة لإرسال بريد إلكتروني انتحالي
root@kitploit:~
python3 espoofer.py

يمكنك تغيير case_id في config.py أو استخدام الخيار -id في سطر الأوامر لاختبار حالات مختلفة:

root@kitploit:~
python3 espoofer.py -id server_a1

وضع العميل

لتشغيل espoofer في وضع العميل، يجب أن يكون لديك حساب على خدمات البريد الإلكتروني المستهدفة. يستغل هذا الهجوم فشل بعض خدمات البريد الإلكتروني في إجراء تحقق كافٍ من رسائل البريد الإلكتروني المستلمة من وكلاء المستخدم المحليين (MUAs). على سبيل المثال، يحاول [email protected] انتحال شخصية [email protected]. 

  1. تكوين الأداة في config.py
root@kitploit:~
config ={
	"legitimate_site_address": b"[email protected]",  
	"victim_address": b"[email protected]", 
	"case_id": b"client_a1",

	"client_mode": {
		"sending_server": ("smtp.gmail.com", 587),  # SMTP sending serve ip and port
		"username": b"[email protected]", # Your account username and password
		"password": b"your_passward_here",
	},
}

يمكنك سرد والعثور على case_id لجميع حالات الاختبار باستخدام الخيار -l:

root@kitploit:~
python3 espoofer.py -l

ملاحظة: يجب أن يكون sending_server عنوان خادم إرسال SMTP، وليس عنوان خادم الاستقبال.

  1. تشغيل الأداة لإرسال بريد إلكتروني انتحالي
root@kitploit:~
python3 espoofer.py -m c

يمكنك تغيير case_id في config.py وتشغيله مرة أخرى، أو يمكنك استخدام الخيار -id في سطر الأوامر:

root@kitploit:~
python3 espoofer.py -m c -id client_a1

الوضع اليدوي

إليك مثال على الوضع اليدوي:

root@kitploit:~
python3 espoofer.py -m m -helo attack.com -mfrom <[email protected]> -rcptto <[email protected]> -data raw_msg_here -ip 127.0.0.1 -port 25

لقطات الشاشة

  1. نظرة عامة موجزة على حالات الاختبار.

الأخطاء التي تم العثور عليها باستخدام هذه الأداة

  • فيديو توضيحي لتجاوز DMARC في Gmail.com, https://youtu.be/xuKZpT0rsd0
  • فيديو توضيحي لتجاوز DMARC في Outlook.com, https://youtu.be/IsWgAEbPaK0
  • فيديو توضيحي لتجاوز DMARC في Yahoo.com, https://youtu.be/DRepfStOruE
  • فيديو توضيحي لتجاوز DMARC في Protonmail.com, https://youtu.be/bh4_SoPniMA
  • CVE-2020-12272, تقرير خطأ تجاوز OpenDMARC, https://sourceforge.net/p/opendmarc/tickets/237/
  • CVE-2019-20790, تقرير خطأ تجاوز OpenDMARC و pypolicyd-spf, https://sourceforge.net/p/opendmarc/tickets/235/
  • تقرير خطأ تجاوز DMARC في Mail.ru على HackerOne, https://hackerone.com/reports/731878

نرحب بإرسال طلب سحب (pull request) لتقديم تقرير الخطأ الخاص بك هنا.

أسئلة وأجوبة

  1. كيف يمكنني معرفة ما إذا كان البريد الإلكتروني قد تجاوز مصادقة DMARC بنجاح؟

يمكنك التحقق من ذلك في رأس Authentication-results في رؤوس الرسائل الخام. إذا أظهر الرأس dmarc=pass، فهذا يعني أن البريد الإلكتروني قد اجتاز مصادقة DMARC. يمكنك مشاهدة بعض مقاطع الفيديو التوضيحية هنا.

  1. لماذا تفشل رسائل البريد الإلكتروني في الإرسال؟

هناك عدة أسباب محتملة إذا فشلت في إرسال بريد إلكتروني: 1) يقوم مزود خدمة الإنترنت الخاص بك بحظر رسائل البريد الإلكتروني الصادرة إلى المنفذ 25 لمنع البريد العشوائي. في هذه الحالة، تحتاج إلى طلب الإذن من مزود خدمة الإنترنت؛ 2) عنوان IP موجود في قائمة البريد العشوائي لخدمات البريد الإلكتروني المستهدفة. في كثير من الحالات، يمكنك حل المشكلة هنا، https://www.spamhaus.org/lookup/ ; 3) تتحقق بعض خدمات البريد الإلكتروني من وجود سجل PTR لعنوان IP المرسل، قد تحتاج أيضًا إلى تعيين سجل PTR لتجاوز هذا الفحص؛ 4) لا يمكن للبريد الإلكتروني اجتياز التحقق من التنسيق لخدمة البريد الإلكتروني المستهدفة، قد ترغب في تجربة حالة اختبار مختلفة.

  1. لماذا يذهب البريد الإلكتروني إلى مجلد البريد العشوائي؟ هل هناك طريقة لتجنب ذلك؟

حاليًا، تركز espoofer على تجاوز مصادقة SPF/DKIM/DMARC ولا تهدف إلى تجاوز فلتر البريد العشوائي. ولكن يمكنك محاولة استخدام عنوان IP مرسل موثوق به ونطاق ومحتوى رسالة غير ضار لتجاوز فلتر البريد العشوائي.

  1. لماذا أرسلت بريدًا إلكترونيًا بنجاح ولكن البريد الإلكتروني لم يظهر في صندوق الوارد أو مجلد البريد العشوائي؟

في تجاربنا السابقة، تقوم بعض خدمات البريد الإلكتروني بتصفية رسائل البريد الإلكتروني المشبوهة بصمت.

  1. عند اختبار server_a5/a6، لماذا لا يمكنني تعيين أحرف خاصة مثل '(' في النطاق؟

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

الإسناد

نرحب بإضافة المزيد من حالات الاختبار.

تنزيل الأداة