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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-60004-Gitea-Validator — 🫖 أداة اكتشاف مرتبطة بالعقود والتحقق المصرح به لثغرة Gitea CVE-2026-60004 | Kitploit
أدوات/GitHubGitHub/infosec-db/cve-2026-60004-gitea-validator
الاستطلاعماسحات الثغرات الأمنيةالاستغلالأمن الويباختبار الاختراق
GitHubinfosec-db/cve-2026-60004-gitea-validator

CVE-2026-60004-Gitea-Validator

🫖 أداة اكتشاف مرتبطة بالعقود والتحقق المصرح به لثغرة Gitea CVE-2026-60004

عرض المستودع

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
منذ 11س 25دلم تتم المراجعة بعد

🫖 CVE-2026-60004 Gitea Validator

أداة مستقلة للاكتشاف والتقييم والتحقق المترابط بالعقود لثغرة تنفيذ الأوامر عن بُعد في خطاف Git الخاص بـ Gitea diffpatch.

Python 3.10+ License: MIT CVE

يوفر scanner.py لمختبري الاختراق والمدافعين وباحثي الأمن أداة واحدة خالية من التبعيات من أجل:

  • 🔎 اكتشاف Gitea السلبي عبر فهرس LeakIX الحالي
  • 🧭 استطلاع المسارات العامة ووثيقة Swagger لهدف واحد
  • 🩺 تقييم الإصدار غير المدمر
  • 🧪 تحقق محدود ومصادق عليه من إثبات المفهوم
  • 🧾 أدلة JSON مترابطة بالعقود والتقاط مخرجات الأوامر
  • 🛡️ ضوابط هدف واحد، بوابات إصدار، ملفات مخرجات خاصة، ومعالجة بيانات اعتماد من نفس الأصل

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

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

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

🧠 ملخص الثغرة

تؤثر CVE-2026-60004 على سير عمل diffpatch في مستودع Gitea. يمكن للكاتب في المستودع إرسال محتوى تصحيح مُتحكم به يثبّت خطاف Git في استنساخ مؤقت عاري مشترك. يؤدي تطبيق التصحيح المُصمم مرتين إلى تصادم إضافة/إضافة ويتسبب في تنفيذ الخطاف كحساب خدمة Gitea.

لا يتم تصنيف Forgejo والفروع الأخرى تلقائيًا كمتأثرة. يجب مراجعة تنفيذها بشكل مستقل.

✨ ماذا يفعل كل وضع

لا تقبل الأوضاع النشطة قوائم أهداف أو أحرف بدل.

📦 المتطلبات

  • Python 3.10 أو أحدث
  • Git متاح في PATH
  • وصول شبكة إلى هدف Gitea المحدد صراحةً
  • بيانات اعتماد Gitea صالحة، أو تسجيل ذاتي معتمد صراحةً
  • مرجع تفويض/عقد مكتوب للاختبار النشط
  • اختياري: مفتاح API من LeakIX لـ discover

يستخدم الماسح الضوئي مكتبة Python القياسية فقط. لا حاجة إلى pip install.

🚀 التثبيت

root@kitploit:~
git clone https://github.com/InfoSec-DB/CVE-2026-60004-Gitea-Validator.git
cd CVE-2026-60004-Gitea-Validator
python3 scanner.py --help

🩺 ابدأ بالفحوصات غير المدمرة

تحقق من الإصدار المُبلغ عنه

root@kitploit:~
python3 scanner.py verify \
  https://gitea.example \
  --contract-number ENG-2026-001 \
  --output evidence/version.json

جرد المسارات العامة وبيانات Swagger الوصفية

root@kitploit:~
python3 scanner.py recon \
  https://gitea.example \
  --contract-number ENG-2026-001 \
  --output evidence/recon.json

اكتشاف الإصدار هو إشارة تقييم، وليس دليلًا على قابلية الاستغلال. قد تتطلب التصحيحات المُعاد نقلها والبنيات المخصصة والوكلاء العكسيون والفروع مراجعة يدوية.

🧪 تأكيد نشط مصرح به

حساب اختبار معتمد موجود

أبقِ كلمة المرور خارج سجل الأوامر بوضعها في البيئة للأمر:

root@kitploit:~
GITEA_PASSWORD='replace-with-approved-test-password' \
python3 scanner.py confirm \
  https://gitea.example \
  --contract-number ENG-2026-001 \
  --username audit-user \
  --execute-poc \
  --write-client-marker \
  --output evidence/confirmation.json

ما لم يتم توفير --yes-i-am-authorized للأتمتة، يطلب confirm منك كتابة عبارة التأكيد المرتبطة بالعقد. الأمر الافتراضي عن بُعد هو id.

تسجيل ذاتي مؤقت

استخدم هذا فقط عندما يُسمح بإنشاء الحساب بموجب قواعد الاشتباك:

root@kitploit:~
python3 scanner.py confirm \
  https://gitea.example \
  --contract-number ENG-2026-001 \
  --register-test-account \
  --credential-log evidence/credentials.txt \
  --execute-poc \
  --write-client-marker \
  --output evidence/confirmation.json

تُخزَّن كلمة المرور فقط في سجل بيانات الاعتماد الخاص، ولا تُكرر في أدلة JSON أو لوحة النتائج الطرفية.

ملف اختبار بأمر واحد

root@kitploit:~
python3 scanner.py test \
  https://gitea.example \
  --contract-number ENG-2026-001

🚨 test هو أمر نشط ملائم. على هدف متأثر مع تمكين التسجيل، ينشئ تلقائيًا حسابًا ومستودعًا خاصًا، ويكتب علامة العقد، ويشغّل id، ويحفظ النتائج تحت afterdark-results/. لا يحتوي عمدًا على أي موجه تفاعلي إضافي، لذا فإن استدعاءه هو إقرار التفويض.

أمر مخصص

للتحقق المصرح به صراحةً وضيق النطاق، يقبل confirm وtest الخيار --cmd. فضّل ملف id الافتراضي كلما كان كافيًا.

root@kitploit:~
GITEA_PASSWORD='replace-with-approved-test-password' \
python3 scanner.py confirm \
  https://gitea.example \
  --contract-number ENG-2026-001 \
  --username audit-user \
  --execute-poc \
  --cmd 'uname -a' \
  --output evidence/confirmation.json

🌐 اكتشاف LeakIX السلبي

root@kitploit:~
export LEAKIX_API_KEY='replace-with-your-key'
python3 scanner.py discover \
  --method app \
  --pages 3 \
  --output evidence/leakix.json

لفحص سجلات LeakIX لمضيف معروف واحد دون الاتصال بهذا المضيف:

root@kitploit:~
python3 scanner.py discover \
  --method host \
  --target gitea.example \
  --pages 1 \
  --output evidence/leakix-host.json

نتائج الاكتشاف هي مؤشرات، وليست تفويضًا لفحص أو استغلال الأنظمة المدرجة.

🔬 كيف يعمل إثبات المفهوم المدمج

  1. يؤكد أن المنتج/الإصدار المُبلغ عنه يجتاز بوابة الاختبار النشط.
  2. يصادق بحساب معتمد أو ينشئ حسابًا مؤقتًا واحدًا عند الطلب الصريح.
  3. ينشئ مستودعًا خاصًا باسم فريد مهيأ بفرع افتراضي.
  4. يبني تصحيحًا يضيف ملف hooks/post-index-change قابلًا للتنفيذ.
  5. يرسل التصحيح مرتين إلى نقطة نهاية API الخاصة بـ diffpatch في المستودع.
  6. يشغّل الخطاف الأمر المحدد ويكتب مخرجاته المجمعة في كائنات Git.
  7. يجلب عميل Git مؤقت مرجع المخرجات الفريد.
  8. يكتب الماسح الضوئي أدلة مترابطة بالعقود باستخدام ملفات خاصة 0600 ويرفض الكتابة فوق الأدلة الموجودة.

تقتصر عمليات إعادة التوجيه HTTP المصادق عليها على أصل الهدف المحدد. كما يعطل استرجاع مخرجات Git عمليات إعادة التوجيه أثناء نشاط رأس التفويض.

🧾 الأدلة ومعالجة البيانات الحساسة

قد تنتج عمليات التشغيل النشطة:

  • confirmation.json — طوابع زمنية، هدف، اسم حساب، تقييم إصدار، رمز إرجاع، ومخرجات ملتقطة
  • confirmation.command-output.txt — مخرجات الأوامر الكاملة عن بُعد
  • credentials.txt — كلمة مرور الحساب المؤقت المُنشأ، عند الطلب
  • محتوى embedded-result.txt محفوظ داخل أدلة JSON

قد تحتوي هذه الملفات على بيانات اشتباك حساسة. يتم تجاهلها بواسطة .gitignore المرفق، وتُنشأ بوضع 0600، ويجب تشفيرها أثناء التخزين وفقًا لسياسة معالجة الأدلة الخاصة بك.

🧹 قائمة التحقق من التنظيف

تتجنب الأداة عمدًا الحذف التلقائي حتى تظل الأدلة متاحة للمراجعة. بعد الاختبار، يجب على مسؤول الهدف:

  • حذف حساب audit-* المُنشأ، إذا تم إنشاؤه
  • حذف المستودع الخاص afterdark-* المُنشأ
  • إزالة علامة /tmp/gitea-validation-*/client.txt الاختيارية
  • أرشفة أو حذف بيانات الاعتماد والأدلة المحلية بشكل آمن
  • ترقية Gitea إلى 1.27.1 أو أحدث
  • إعادة تشغيل الحد الأدنى الآمن من التحقق اللازم لتأكيد المعالجة

يُظهر تنفيذ إثبات المفهوم الناجح تنفيذ أوامر كحساب خدمة Gitea. لا يثبت بحد ذاته وصول الجذر أو الاستمرارية أو الحركة الجانبية أو اختراق المضيف الأساسي.

🛡️ ضوابط السلامة

  • عنوان URL واحد محدد فقط؛ لا دعم للأحرف البدل أو ملفات الأهداف
  • رقم العقد مضمّن في User-Agent والعلامة الاختيارية
  • بوابة الإصدار النشط تمنع الإصدارات المُصححة المعروفة
  • الأمر الافتراضي مقصور على id أو whoami
  • مفتاح --execute-poc صريح لـ confirm
  • التسجيل الذاتي اختياري ويُتخطى عند تعطيله
  • فرض إعادة توجيه من نفس الأصل لطلبات HTTP المصادق عليها
  • تعطيل عمليات إعادة توجيه Git أثناء استرجاع المخرجات ببيانات اعتماد
  • تمرير بيانات الاعتماد إلى العملية الفرعية في الذاكرة/البيئة، ثم تنقيحها من المخرجات الملتقطة
  • ملفات أدلة خاصة بإنشاء حصري؛ لا تُكتب فوق الملفات الموجودة أبدًا
  • مهلة 180 ثانية للعملية الفرعية والتقاط مخرجات محدود

✅ تشغيل الاختبارات

الاختبارات المرفقة محلية ولا تُصدر أي طلبات شبكة:

root@kitploit:~
python3 -m unittest discover -s tests -v

🤝 المساهمة

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

للمشكلات الأمنية في هذه الأداة نفسها، اتبع SECURITY.md.

📚 المراجع والإشادات

  • استشارة Gitea الرسمية: GHSA-rcr6-4jqh-j84m
  • إصدارات Gitea
  • مُبلّغ CVE المنسوب في الاستشارة الأصلية: NightRang3r
  • الأداة مُصانة بواسطة AfterDark Security Research Group

صُنعت للباحثين الدقيقين الذين يؤمنون أن إثبات المفهوم الجيد يجب أن يكون قابلاً لإعادة الإنتاج، ومنسوبًا، ومملًا في التنظيف. 🛡️

تنزيل الأداة
العنصرالتفاصيل
المنتجGitea
الإصدارات المتأثرة>= 1.17.0, < 1.27.1
الإصدار المُصحح1.27.1
التأثيرتنفيذ أوامر عن بُعد كمستخدم نظام تشغيل Gitea
الوصول المطلوبوصول كتابة إلى المستودع؛ قد يسمح التسجيل المفتوح للمهاجم بإنشائه
الاستشارةGHSA-rcr6-4jqh-j84m
الوضعسلوك الشبكةيغيّر حالة الهدف؟الغرض
discoverيستعلم LeakIX فقطلايبحث في فهرس طرف ثالث موجود؛ لا يتصل بالمضيفات المكتشفة
reconهدف واحد محددلايجرد المسارات العامة الثابتة ووثيقة Swagger المنشورة من الهدف
verifyهدف واحد محددلايقرأ /api/v1/version ويصنف إصدار Gitea المُبلغ عنه
testهدف واحد محددنعمتدفق ملائم: بوابة إصدار، فحص تسجيل، حساب مؤقت، علامة، id، وأدلة
confirmهدف واحد محددنعمتأكيد مُتحكم به بحساب معتمد أو تسجيل مؤقت صريح