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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-29145-Tester — يحتوي هذا المستودع على بيئة إثبات مفهوم (PoC) مصممة لاختبار CVE-2026-29145. | Kitploit
أدوات/GitHubGitHub/chenjp/cve-2026-29145-tester
تحليل الثغرات الأمنيةالاستغلالأمن الويباختبار الاختراقالمصادقةالتعلم والتعليم
GitHubchenjp/cve-2026-29145-tester

CVE-2026-29145-Tester

يحتوي هذا المستودع على بيئة إثبات مفهوم (PoC) مصممة لاختبار CVE-2026-29145.

عرض المستودع
منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

بيئة اختبار CVE-2026-29145

📌 نظرة عامة

يحتوي هذا المستودع على بيئة إثبات مفهوم (PoC) مصممة لاختبار CVE-2026-29145.

الثغرة هي تجاوز للمصادقة في تنفيذ Tomcat من Apache لـ TLS المتبادل (CLIENT_CERT). عندما يتم تكوين OCSP (بروتوكول حالة الشهادة عبر الإنترنت) مع تعطيل الفشل الناعم، قد يفشل Tomcat في التعامل مع فشل فحص OCSP كرفض صارم. وهذا يسمح للعميل الذي يحمل شهادة ربما تم إبطالها أو غير موثقة بتجاوز المصادقة إذا كان مستجيب OCSP غير قابل للوصول أو يعيد خطأ.

🛡️ تفاصيل الثغرة

الخاصيةالقيمة
معرف CVECVE-2026-29145
درجة CVSS9.1 (حرجة) - CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
متجه الهجومالشبكة
الصلاحيات المطلوبةلا شيء
التأثيرتجاوز المصادقة

المتطلبات الأساسية للثغرة

  • ✓ تمكين مصادقة CLIENT_CERT في Tomcat
  • ✓ تمكين فحص إبطال OCSP
  • ✓ تعطيل خيار الفشل الناعم (وضع الفشل الصارم)
  • ✓ مستجيب OCSP غير قابل للوصول أو فاشل

🚀 البدء

المتطلبات الأساسية

  • Docker و Docker Compose: لتشغيل حاوية Tomcat الضعيفة
  • OpenSSL: لتوليد البنية التحتية للمفاتيح العامة (PKI) - عادةً ما يكون مثبتًا مسبقًا على Linux/macOS
  • Python 3.7+: لتشغيل سكربت الاختبار والمستجيب الوهمي
  • curl (اختياري): للاختبار اليدوي
  • PowerShell (لنظام Windows فقط): إذا كنت تستخدم سكربتات .ps1

1. دورة الاختبار الكاملة الآلية (موصى بها)

يقوم سكربت run_test.sh بأتمتة العملية بأكملها: التنظيف، وتوليد الشهادات، وتشغيل جميع سيناريوهات الاختبار (الضعيفة، والناجحة، والمصححة).

root@kitploit:~
# الانتقال إلى دليل المشروع
cd CVE-2026-29145-Tester

# جعل السكربتات قابلة للتنفيذ
chmod +x cleanup.sh setup_certs.sh run_test.sh

# تثبيت تبعيات Python (إذا كان poc_exploit.py يتطلبها)
pip install -r requirements.txt

# تشغيل مجموعة الاختبار الكاملة
./run_test.sh

2. توليد الشهادات

على Linux/macOS:

root@kitploit:~
./setup_certs.sh

على Windows (PowerShell):

root@kitploit:~
.\setup_certs.ps1

ما الذي يفعله هذا:

  • إنشاء مرجع مصادقة جذر (CA)
  • توليد شهادة خادم لـ Tomcat
  • توليد شهادة عميل مع امتداد OCSP يشير إلى http://localhost:8888
  • التحقق من إنشاء جميع الشهادات بنجاح

المخرجات المتوقعة:

root@kitploit:~
[INFO] بدء توليد الشهادات لبيئة اختبار CVE-2026-29145
[INFO] تم العثور على OpenSSL: OpenSSL 3.0.x (...)
[INFO] تم إنشاء دليل الشهادات
[INFO] جارٍ توليد مرجع المصادقة الجذر...
[INFO] جارٍ توليد شهادة الخادم...
[INFO] جارٍ توليد شهادة العميل مع امتداد OCSP...
[INFO] اكتمل إعداد الشهادات بنجاح!

3. بدء البيئة الضعيفة

root@kitploit:~
docker-compose up -d

ما الذي يفعله هذا:

  • تشغيل مستجيب OCSP الوهمي على المنفذ 8888 (يحاكي الفشل مع HTTP 500)
  • تشغيل Tomcat 10.1.52 الضعيف على المنفذ 8443 مع مصادقة CLIENT_CERT
  • إنشاء شبكة Docker داخلية لاتصال الخدمات
  • إعداد فحوصات الصحة لكلتا الخدمتين

تحقق من تشغيل الحاويات:

root@kitploit:~
docker-compose ps

4. تشغيل اختبار الاستغلال

root@kitploit:~
python poc_exploit.py

المخرجات المتوقعة:

النظام الضعيف:

root@kitploit:~
[INFO] محاولة الاتصال بـ https://localhost:8443/protected-resource...
[WARNING] ضعيف: تم منح الوصول على الرغم من فشل فحص OCSP.
[WARNING] معاينة الاستجابة: <html>...

النظام المصحح:

root@kitploit:~
[INFO] محاولة الاتصال بـ https://localhost:8443/protected-resource...
[INFO] غير ضعيف: تم رفض الوصول (المصادقة تعمل).

🧪 سيناريوهات الاختبار

السيناريوحالة OCSPالمتوقع (مصحح)النتيجة (ضعيف)ملاحظات
التشغيل العاديمتصل وصالح200 OK ✓200 OK ✓نجاح فحص OCSP، يتم منح الوصول
الفشل الناعمغير متصل/مهلة403 ممنوع ✓200 OK ✗تجاوز - مستجيب OCSP غير قابل للوصول
الإبطال الصارممتصل ومُبطَل403 ممنوع ✓403 ممنوع ✓الشهادة مُبطَلة صراحةً
شهادة غير صالحةسلسلة غير صالحة403 ممنوع ✓403 ممنوع ✓فشل التحقق من السلسلة

تشغيل سيناريوهات اختبار مختلفة

الاختبار 1: الافتراضي (فشل مستجيب OCSP)

root@kitploit:~
# إبقاء الحاويات قيد التشغيل
python poc_exploit.py

الاختبار 2: إيقاف مستجيب OCSP (محاكاة المهلة)

root@kitploit:~
docker-compose pause ocsp-responder
python poc_exploit.py
docker-compose unpause ocsp-responder

الاختبار 3: الاختبار اليدوي باستخدام curl

root@kitploit:~
curl -v \
  --cert certs/client-cert.pem \
  --key certs/client-key.pem \
  --cacert certs/ca-chain.pem \
  https://localhost:8443/protected-resource

🛠️ هيكل المشروع

root@kitploit:~
CVE-2026-29145-Tester/
├── README.md                    # هذا الملف
├── setup_certs.sh              # سكربت توليد الشهادات - Bash (Linux/macOS)
├── setup_certs.ps1             # سكربت توليد الشهادات - PowerShell (Windows)
├── cleanup.sh                  # سكربت التنظيف وإعادة التعيين - Bash (Linux/macOS)
├── cleanup.ps1                 # سكربت التنظيف وإعادة التعيين - PowerShell (Windows)
├── run_test.sh                 # سكربت دورة الاختبار الكاملة الآلية
├── docker-compose.yml          # تنسيق خدمات Docker
├── requirements.txt            # تبعيات Python
├── poc_exploit.py              # سكربت الاختبار الرئيسي (مع تسجيل ومعالجة الأخطاء)
├── simple_proxy_fail.py        # مستجيب OCSP الوهمي (مع تسجيل مفصل)
├── .gitignore                  # قواعد تجاهل Git للشهادات والسجلات
├── certs/                      # الشهادات المولدة (التي تم إنشاؤها بواسطة سكربتات setup_certs)
│   ├── ca-chain.pem           # شهادة مرجع المصادقة الجذر
│   ├── ca-key.pem             # المفتاح الخاص لمرجع المصادقة الجذر
│   ├── server-cert.pem        # شهادة خادم Tomcat
│   ├── server-key.pem         # المفتاح الخاص لخادم Tomcat
│   ├── client-cert.pem        # شهادة عميل الاختبار
│   └── client-key.pem         # المفتاح الخاص لعميل الاختبار
├── tomcat/
│   └── server.xml             # تكوين Tomcat الضعيف
└── logs/                       # سجلات Tomcat (التي تم إنشاؤها في وقت التشغيل)

📋 تفاصيل التكوين

تكوين Server.xml (الضعيف)

يقوم ملف tomcat/server.xml بتكوين:

root@kitploit:~
<SSLHostConfig 
    hostName="localhost"
    certificateVerification="required"
    caCertificateFile="conf/certs/ca-chain.pem">
    
    <OpenSSLConf>
        <ConfCommand name="OCSP" value="on"/>
    </OpenSSLConf>
</SSLHostConfig>

الإعدادات الرئيسية:

  • certificateVerification="required" - يفرض مصادقة CLIENT_CERT
  • OCSP on - تمكين فحص إبطال OCSP
  • لا يوجد تجاوز للفشل الناعم - يستخدم وضع الفشل الصارم (الضعيف)

تكوين مستجيب OCSP

المستجيب الوهمي لـ OCSP (simple_proxy_fail.py):

  • يستمع على localhost:8888
  • يعيد دائمًا HTTP 500 (خطأ الخادم)
  • يسجل جميع طلبات OCSP الواردة
  • يحاكي خدمة OCSP غير قابلة للوصول/فاشلة

🔧 استكشاف الأخطاء وإصلاحها

المشكلات الشائعة والحلول

❌ خطأ: "OpenSSL غير مثبت"

root@kitploit:~
# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

❌ خطأ: "ملفات الشهادة مفقودة"

السبب: فشل توليد الشهادة أو لم يتم تشغيله.

root@kitploit:~
# التنظيف وإعادة التوليد
rm -rf certs
./setup_certs.sh

❌ خطأ: "تم رفض الاتصال" على المنفذ 8443

السبب: حاوية Tomcat غير قيد التشغيل أو غير جاهزة.

root@kitploit:~
# التحقق من حالة الحاوية
docker-compose ps

# التحقق من السجلات
docker-compose logs vulnerable-tomcat

# التأكد من تشغيل كلتا الخدمتين وسلامتهما
docker-compose up -d
sleep 10  # انتظار بدء الخدمات

❌ خطأ: "انتهت مهلة الاتصال"

السبب: يستغرق Tomcat وقتًا طويلاً للبدء أو مشاكل في الشبكة.

root@kitploit:~
# التحقق من سجلات بدء تشغيل Tomcat
docker-compose logs vulnerable-tomcat

# زيادة المهلة وإعادة المحاولة
timeout 30 docker-compose logs -f vulnerable-tomcat  # مراقبة بدء التشغيل

❌ خطأ: "docker-compose: الأمر غير موجود"

السبب: Docker Compose غير مثبت أو غير موجود في PATH.

root@kitploit:~
# تثبيت Docker Compose (إذا كنت تستخدم الإصدار المستقل)
sudo curl -L "https://github.com/docker/compose/releases/download/v2.x.x/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

# أو استخدم docker compose (V2 المدمج مع Docker Desktop)
docker compose up -d

❌ خطأ: "SSL: CERTIFICATE_VERIFY_FAILED"

السبب: فشل التحقق من الشهادة.

root@kitploit:~
# التحقق من وجود ملفات الشهادة
ls -la certs/

# التحقق من صلاحية الشهادة
openssl x509 -in certs/client-cert.pem -noout -text

❌ خطأ: "requests.exceptions.SSLError"

السبب: فشل مصافحة SSL - قد يشير إلى أن الفشل الصارم يعمل بشكل صحيح.

الحل: هذه في الواقع علامة إيجابية! الفشل الصارم يمنع الوصول عندما يفشل OCSP.

root@kitploit:~
# التحقق من تشغيل مستجيب OCSP
docker-compose ps ocsp-responder

# عرض الخطأ المفصل
python poc_exploit.py  # يوفر بالفعل تسجيلًا مفصلاً

❌ خطأ: "العنوان قيد الاستخدام بالفعل"

السبب: المنفذ 8443 أو 8888 قيد الاستخدام بالفعل.

root@kitploit:~
# العثور على العملية التي تستخدم المنفذ
lsof -i :8443
lsof -i :8888

# إنهاء العملية أو استخدام منافذ مختلفة في docker-compose.yml

التصحيح والسجلات

عرض السجلات المفصلة

root@kitploit:~
# سجلات Tomcat
docker-compose logs -f vulnerable-tomcat

# سجلات مستجيب OCSP
docker-compose logs -f ocsp-responder

# تصحيح أخطاء سكربت Python
python poc_exploit.py  # يتضمن بالفعل تسجيلًا مفصلاً

مراقبة الأحداث في الوقت الفعلي

root@kitploit:~
# فتح طرفية وتشغيل
docker-compose logs -f

# في طرفية أخرى، تشغيل الاختبار
python poc_exploit.py

تصحيح أخطاء الشبكة

root@kitploit:~
# اختبار الاتصال بمستجيب OCSP
curl http://localhost:8888/

# اختبار مستجيب OCSP من داخل حاوية Tomcat
docker exec vulnerable-tomcat curl http://ocsp-responder:8888/

# اختبار مصافحة SSL
openssl s_client -connect localhost:8443 \
  -cert certs/client-cert.pem \
  -key certs/client-key.pem \
  -CAfile certs/ca-chain.pem

🧹 التنظيف

لإزالة جميع الحاويات ووحدات التخزين والشهادات والسجلات:

على Linux/macOS:

root@kitploit:~
./cleanup.sh

على Windows (PowerShell):

root@kitploit:~
.\cleanup.ps1

ما الذي يفعله هذا:

  • إيقاف وإزالة جميع حاويات Docker
  • إزالة دليل certs/ المولد
  • إزالة دليل logs/
  • تنظيف ملفات ذاكرة التخزين المؤقت لـ Python

تحقق من التنظيف:

root@kitploit:~
docker-compose ps  # يجب ألا يُظهر شيئًا
ls -la certs/      # يجب ألا يكون موجودًا

⚖️ إخلاء المسؤولية

هذا المشروع لأغراض التعليم واختبار الأمان المصرح به فقط.

  • ⚠️ استخدم فقط ضد الأنظمة التي تملكها أو لديك إذن كتابي صريح لاختبارها
  • ⚠️ استخدام هذه الأدوات ضد الأنظمة دون إذن غير قانوني وغير أخلاقي
  • ⚠️ المؤلفون غير مسؤولين عن أي إساءة استخدام لهذا البرنامج
  • ⚠️ تأكد دائمًا من وجود نسخ احتياطية مناسبة قبل الاختبار على أنظمة الإنتاج

📝 المعالجة

للتخفيف من هذه الثغرة، قم بترقية Apache Tomcat إلى الإصدارات التالية:

سلسلة الإصداراتالحد الأدنى للإصدار المصحح
11.0.x11.0.20 أو أحدث
10.1.x10.1.53 أو أحدث
9.0.x9.0.116 أو أحدث

خطوات الترقية:

root@kitploit:~
# مثال: تحديث docker-compose.yml لاستخدام الإصدار المصحح
# التغيير: image: tomcat:10.1.52-jdk17
# إلى: image: tomcat:10.1.53-jdk17

docker-compose down
docker-compose up -d

🔗 المراجع

  • تفاصيل CVE-2026-29145
  • توثيق Apache Tomcat
  • OCSP (RFC 6960)
  • نظرة عامة على TLS المتبادل (mTLS)

📬 الدعم

للمشكلات أو الأسئلة أو المساهمات، يرجى فتح مشكلة أو تقديم طلب سحب.


آخر تحديث: أبريل 2026
الحالة: اكتمل الاختبار والتوثيق

تنزيل الأداة