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

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

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

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

دليل الأدوات

الفئات

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

CVE-2026-29145-Tester

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

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

الأكثر شعبية

عرض الكل →

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

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

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

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

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

📌 نظرة عامة

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

الثغرة هي تجاوز للمصادقة في تنفيذ Tomcat من Apache لـ Mutual 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 بأتمتة العملية بأكملها: التنظيف، وتوليد الشهادات، وتشغيل جميع سيناريوهات الاختبار (الضعيفة، الناجحة، والمصححة).

# الانتقال إلى دليل المشروع
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:

./setup_certs.sh

على Windows (PowerShell):

.\setup_certs.ps1

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

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

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

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

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

docker-compose up -d

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

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

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

docker-compose ps

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

python poc_exploit.py

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

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

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

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

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

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

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

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

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

# إبقاء الحاويات قيد التشغيل
python poc_exploit.py

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

docker-compose pause ocsp-responder
python poc_exploit.py
docker-compose unpause ocsp-responder

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

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

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

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 بتكوين:

<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 غير مثبت"

# macOS
brew install openssl

# Ubuntu/Debian
sudo apt-get install openssl

# CentOS/RHEL
sudo yum install openssl

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

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

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

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

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

# التحقق من حالة الحاوية
docker-compose ps

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

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

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

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

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

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

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

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

# تثبيت 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"

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

تنزيل الأداة