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/tpdlshdmlrkfmcla/openssl_dtls_cve_2014_0221
Analyse des VulnérabilitésExploitationSécurité RéseauCryptographieTests d'Intrusion
GitHubtpdlshdmlrkfmcla/openssl_dtls_cve_2014_0221

OpenSSL_DTLS_CVE_2014_0221

OpenSSL DTLS CVE-2014-0221 Déni à distance

Voir le dépôt

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
il y a 1 anPas encore vérifié

OpenSSL_DTLS_CVE_2014_0221

OpenSSL DTLS CVE-2014-0221 Déni à distance

Qu'est-ce que DTLS (Datagram Transport Layer Security) ?

Sécurité de la couche de transport de datagrammes. *Couche physique

Support des datagrammes au niveau TCP : TLS
Support des datagrammes au niveau UDP : DTLS : gère l'échange de clés, l'authentification, la configuration des paramètres de sécurité, etc., grâce à des modifications appropriées du processus HandShake, et prend en charge une communication sécurisée fiable sur UDP, qui est sans connexion, grâce aux délais d'attente et aux retransmissions

DTLS est l'abréviation de Datagram Transport Layer Security, un protocole conçu pour fournir la sécurité dans les communications basées sur UDP (User Datagram Protocol). TLS (Transport Layer Security) est principalement utilisé pour fournir une sécurité dans les communications basées sur TCP (Transmission Control Protocol), mais comme UDP est un protocole sans connexion et basé sur les paquets, il est difficile d'appliquer TLS tel quel. C'est pour fournir une sécurité dans ces communications basées sur UDP que DTLS a été conçu.

DTLS est très similaire à TLS dans sa structure de base, mais présente quelques différences majeures :

Prise en charge des datagrammes : DTLS est conçu pour s'adapter à UDP, un protocole basé sur les datagrammes. TLS étant optimisé pour TCP, orienté connexion, il a été modifié pour fonctionner par datagrammes afin de l'appliquer à UDP.
Modification appropriée du processus Handshake : comme TLS, DTLS utilise le processus Handshake pour gérer l'authentification, l'échange de clés, la configuration des paramètres de sécurité, etc. Cependant, en raison des caractéristiques d'UDP, des pertes de paquets ou des changements d'ordre peuvent survenir, c'est pourquoi des mécanismes permettant de faire face à ces situations ont été ajoutés à DTLS.
Délais d'attente et retransmission : DTLS comprend des mécanismes de délai d'attente et de retransmission en cas de perte de paquets ou de besoin de retransmission. Cela compense les caractéristiques sans connexion d'UDP et permet une communication sécurisée fiable.
Considérations de sécurité : DTLS utilise les mêmes protocoles de sécurité que TLS pour garantir la confidentialité, l'intégrité et l'authentification des données. Il est donc possible de transférer des données en toute sécurité même dans les applications basées sur UDP.
DTLS est principalement utilisé pour fournir la sécurité dans les environnements utilisant UDP, comme la VoIP (voix sur IP), le streaming multimédia, les serveurs de jeux, etc.

Alors, la vulnérabilité OpenSSL DTLS

Pourquoi OpenSSL ? : DTLS : TLS basé sur UDP, DTLS 1.0 a été implémenté dans OpenSSL.

Vulnérabilité permettant, via une attaque de l'homme du milieu (MITM) avec transmission d'un handshake falsifié, de déchiffrer les données transmises et de manipuler les données échangées entre le serveur et le client (CVE-2014-0224)
Vulnérabilité permettant une attaque par déni de service en envoyant un handshake DTLS anormal à un client DTLS OpenSSL (CVE-2014-0221)
Vulnérabilité permettant l'exécution de code arbitraire en envoyant un fragment DTLS anormal à un client ou un serveur DTLS OpenSSL (CVE-2014-0195)
Vulnérabilité permettant l'exécution de code arbitraire due à un défaut dans la fonction do_ssl3_write (CVE-2014-0198)
Cette vulnérabilité se produit lorsque l'option SSL_MODE_RELEASE_BUFFERS est activée dans OpenSSL 1.0.0 et 1.0.1 (cette option est désactivée par défaut)
Vulnérabilité due à une condition de course (race condition) dans la fonction ssl3_read_bytes, permettant à un attaquant d'injecter des données dans la session ou de provoquer un déni de service (CVE-2010-5298)
Cette vulnérabilité se produit dans les applications multithread utilisant OpenSSL 1.0.0 et 1.0.1 lorsque l'option SSL_MODE_RELEASE_BUFFERS est activée (cette option est désactivée par défaut)
Vulnérabilité pouvant provoquer un déni de service sur les clients TLS OpenSSL avec les ciphersuites ECDH anonymes activées (CVE-2014-3470)

Produits et versions concernés

OpenSSL versions 0.9.8
OpenSSL versions 1.0.0
OpenSSL versions 1.0.1
Parmi celles-ci, CVE-2014-0221 est une vulnérabilité permettant une attaque par déni de service en envoyant un handshake DTLS anormal à un client DTLS OpenSSL

CVE-2014-0221 examinée

< Vulnérabilité de déni de service DTLS (CVE-2014-0221) >
o DTLS (Datagram Transport Layer Security) est un protocole basé sur TLS qui permet de transmettre des datagrammes chiffrés
o Si un message de handshake DTLS anormal (message Hello DTLS) est envoyé à un client DTLS, OpenSSL est implémenté de manière à pouvoir tomber dans un état de récursion, permettant ainsi une attaque par déni de service

  • Appel récursif de la fonction elle-même lors du traitement du message Hello DTLS

Exemple de code : partie d'appel récursif de la méthode dtls1_get_message_frament

root@kitploit:~
if(!s->server && s->d1->r_msg_hdr.frag_off == 0 && wire[0] == SSL3_MT_HELLO_REQUEST) {
    if(wire[1] == 0 && wire[2] == 0 && wire[3] == 0) {
        if(s->msg_callback)
            s->msg_callback(0, s->version, SSL3_RT_HANDSHAKE,
                wire, DTLS1_HM_HEADER_LENGTH, s, s->msg_callback_arg);

            s->init_num = 0;
            return dtls1_get_message_fragment(s, st1, stn, max, ok);
    }
    else {
        al=SSL_AD_UNEXPECTED_MESSAGE;
        SSLerr(SSL_F_DTLS1_GET_MESSAGE_FRAGMENT,SSL_R_UNEXPECTED_MESSAGE);
        goto f_err;
    }
}
Télécharger l’outil