CVE-2020-1938_Ghostcat-PoC - CVE-2020-1938
أداة استغلال قوية مكتوبة بلغة Python لثغرة Apache Tomcat AJP Ghostcat (CVE-2020-1938) مع ميزات متقدمة لاختبار الاختراق والبحث الأمني.

🔍 نظرة عامة
تتيح ثغرة Ghostcat (CVE-2020-1938) للمهاجمين قراءة ملفات تعسفية من تطبيقات الويب المنشورة على خوادم Apache Tomcat المعرضة للخطر عبر موصل AJP (Apache JServ Protocol). تعمل هذه الأداة على أتمتة عملية الاستغلال مع دعم:
- فحص متعدد الأهداف مع خيوط المعالجة (threading)
- دعم قوائم كلمات مخصصة لتعداد الملفات
- اكتشاف نقاط الرفع لتحديد ناقلات RCE المحتملة
- توليد حمولات JSP لمرحلة ما بعد الاستغلال
- أداء محسّن مع مهلات وعدد خيوط قابلين للتهيئة
🎯 الإصدارات المتأثرة
- Apache Tomcat 9.0.0.M1 إلى 9.0.0.30
- Apache Tomcat 8.5.0 إلى 8.5.50
- Apache Tomcat 7.0.0 إلى 7.0.99
📋 الميزات
الوظائف الأساسية
- ✅ قراءة ملفات تعسفية عبر استغلال بروتوكول AJP
- ✅ فحص سريع متعدد الخيوط (50+ خيطًا افتراضيًا)
- ✅ قائمة كلمات مدمجة تضم أكثر من 25 هدفًا عالي القيمة
- ✅ دعم قوائم كلمات مخصصة لتعداد شامل
- ✅ حفظ النتائج تلقائيًا مع مخرجات منظمة
- ✅ تتبع التقدم مع عرض الوقت المتبقي (ETA) والمعدل
الميزات المتقدمة
- ✅ اكتشاف نقاط الرفع في تطبيقات Spring وStruts وJSP
- ✅ تحليل ملفات الإعداد (web.xml، Spring، إلخ.)
- ✅ توليد حمولات JSP webshell
- ✅ معالجة دفعية متعددة الأهداف
- ✅ وضع تصحيح أخطاء مفصّل (verbose)
- ✅ معالجة أنيقة للمقاطعة (Ctrl+C)
🚀 التثبيت
المتطلبات
- Python 3.6 أو أحدث
- لا توجد تبعيات خارجية (يستخدم فقط مكتبة Python القياسية)
بدء سريع
# Clone the repository
git clone https://github.com/abrewer251/CVE-2020-1938_Ghostcat-PoC.git
cd CVE-2020-1938_Ghostcat-PoC
# Make executable
chmod +x ghostcat.py
# Run
python3 ghostcat.py -h