Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/jkakavas/cve-2022-0778-poc
Analyse des VulnérabilitésExploitationFuzzingTests d'Intrusion
GitHubjkakavas/cve-2022-0778-poc

CVE-2022-0778-POC

Preuve de concept à distance pour CVE-2022-0778 qui injecte un certificat fabriqué dans un handshake TLS pour déclencher la vulnérabilité de déni de service OpenSSL BN_mod_sqrt().

Voir le dépôt
11324il y a 4 ansPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Un POC de déclenchement à distance simple pour CVE-2022-0778

Pourquoi

En essayant de valider si les implémentations serveur de notre côté étaient/sont vulnérables à CVE-2022-0778, cela s'est avéré extrêmement fastidieux à faire à distance. Les instructions pour créer des certificats malveillants afin de déclencher le bogue d'analyse dans BN_nod_sqrt() existent depuis un moment mais le principal problème est que la plupart des implémentations client tentent d'analyser le certificat client pour l'utiliser dans la poignée de main TLS. Cela signifiait donc que :

  • si l'implémentation était vulnérable, le bogue était déclenché et le client consommait 100% du processeur et se bloquait.
  • si l'implémentation n'était pas vulnérable, le certificat ne pouvait pas être analysé et le client se terminait, à juste titre.

Quoi

Ce qui était réellement nécessaire était de pouvoir injecter un message dans la poignée de main TLS afin de remplacer le contenu du message Certificate que le client envoie au serveur en réponse au message CertificateRequest.

Comment

Cela dépend de tlslite-ng et remplace la méthode TLSConnection._clientKeyExchange afin que lors d'une poignée de main TLS avec un serveur potentiellement vulnérable :

  1. Nous envoyons un message ClientHello comme nous le ferions normalement
  2. Nous consommons le ServerHelloMessage et vérifions s'il contient un CertificateRequest
  • Si c'est le cas, nous construisons un message Certificate arbitraire, en chargeant le certificat contrefait encodé en DER depuis le disque
  • Nous envoyons le message contrefait au serveur et nous attendons à ce qu'il l'analyse, déclenchant éventuellement CVE-2022-0778
  • Le fichier crafted.crt est créé selon les instructions dans https://github.com/drago-96/CVE-2022-0778#using-asn1-templates, n'hésitez pas à le recréer si vous le souhaitez.

    Utilisation

    root@kitploit:~
    usage: main.py [-h] [--server SERVER] [--port PORT]
    
    Parameters
    
    optional arguments:
      -h, --help       show this help message and exit
      --server SERVER  Name of the server to connect for the TLS handshake,
                       defaults to "localhost"
      --port PORT      Port where server listens for TLS connections, defaults to
                       "443"
    
    Télécharger l’outil