Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
OpenSSL_DTLS_CVE_2014_0221 — OpenSSL DTLS CVE-2014-0221 Remote Denial | Kitploit
Ferramentas/GitHubGitHub/tpdlshdmlrkfmcla/openssl_dtls_cve_2014_0221
Vulnerability AnalysisExploitationNetwork SecurityCryptographyPenetration Testing
GitHubtpdlshdmlrkfmcla/openssl_dtls_cve_2014_0221

OpenSSL_DTLS_CVE_2014_0221

OpenSSL DTLS CVE-2014-0221 Remote Denial

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
há 1 anoAinda não revisado

OpenSSL_DTLS_CVE_2014_0221

OpenSSL DTLS CVE-2014-0221 Negação Remota

O que é DTLS (Datagram Transport Layer Security)?

Segurança da Camada de Transporte de Datagrama. *Camada física

Suporte a datagramas da camada TCP: TLS
Suporte a datagramas da camada UDP: DTLS: Através de modificações apropriadas no processo de Handshake, lida com troca de chaves, autenticação, configuração de parâmetros de segurança, etc., e suporta comunicação segura confiável sobre UDP, que possui características de não-conexão, através de timeout e retransmissão.

DTLS é a sigla para Datagram Transport Layer Security, um protocolo para fornecer segurança em comunicações baseadas em UDP (User Datagram Protocol). TLS (Transport Layer Security) é usado principalmente para fornecer segurança em comunicações baseadas em TCP (Transmission Control Protocol), mas como o UDP não é orientado à conexão e é um protocolo baseado em pacotes, é difícil aplicar o TLS diretamente. Para fornecer segurança nessas comunicações baseadas em UDP, o DTLS foi projetado.

O DTLS é muito semelhante à estrutura básica do TLS, mas existem algumas diferenças principais:

  • Suporte a datagramas: O DTLS foi projetado para se adequar ao UDP, um protocolo baseado em datagramas. O TLS é otimizado para o TCP orientado à conexão, então foi adaptado para operar em unidades de datagrama para aplicação ao UDP.
  • Modificações apropriadas no processo de Handshake: O DTLS, assim como o TLS, usa o processo de Handshake para lidar com autenticação, troca de chaves, configuração de parâmetros de segurança, etc. No entanto, devido às características do UDP, pode haver perda de pacotes ou alteração na ordem, então mecanismos para lidar com essas situações foram adicionados ao DTLS.
  • Timeout e retransmissão: O DTLS inclui mecanismos de timeout e retransmissão para lidar com perda de pacotes ou necessidade de retransmissão. Isso complementa a característica de não-conexão do UDP, permitindo uma comunicação segura confiável.
  • Considerações de segurança: O DTLS usa os mesmos protocolos de segurança do TLS para garantir confidencialidade, integridade e autenticação dos dados. Portanto, aplicações baseadas em UDP também podem transmitir dados com segurança.

O DTLS é utilizado principalmente para fornecer segurança em ambientes que usam UDP, como VoIP (chamadas de voz), streaming multimídia, servidores de jogos, etc.

Então, a vulnerabilidade OpenSSL DTLS

Por que OpenSSL?: O que é DTLS: TLS baseado em UDP, DTLS 1.0 foi implementado no OpenSSL.

Vulnerabilidade que permite descriptografar dados transmitidos e manipular dados entre servidor/cliente através de ataque Man-in-the-Middle (MITM) com handshake manipulado (CVE-2014-0224)
Vulnerabilidade que permite ataque de negação de serviço ao enviar um handshake DTLS anormal para um cliente OpenSSL DTLS (CVE-2014-0221)
Vulnerabilidade que permite execução de código arbitrário ao enviar um fragmento DTLS anormal para um cliente ou servidor OpenSSL DTLS (CVE-2014-0195)
Vulnerabilidade de execução de código arbitrário devido a uma falha na função do_ssl3_write (CVE-2014-0198)
Esta vulnerabilidade ocorre quando a opção SSL_MODE_RELEASE_BUFFERS está ativada no OpenSSL 1.0.0 e 1.0.1 (esta opção está desativada por padrão)
Vulnerabilidade de condição de corrida (race condition) na função ssl3_read_bytes que permite a um invasor injetar dados na sessão ou realizar negação de serviço (CVE-2010-5298)
Esta vulnerabilidade ocorre em aplicações multithread que usam OpenSSL 1.0.0 e 1.0.1 com a opção SSL_MODE_RELEASE_BUFFERS ativada (esta opção está desativada por padrão)
Vulnerabilidade que pode causar negação de serviço em clientes OpenSSL TLS com conjuntos de cifras anônimos ECDH ativados (CVE-2014-3470)

Produtos e versões afetados

OpenSSL versões 0.9.8
OpenSSL versões 1.0.0
OpenSSL versões 1.0.1
Entre eles, o CVE-2014-0221 é uma vulnerabilidade que permite ataque de negação de serviço ao enviar um handshake DTLS anormal para um cliente OpenSSL DTLS.

Análise do CVE-2014-0221

< Vulnerabilidade de negação de serviço DTLS (CVE-2014-0221) >
O DTLS (Datagram Transport Layer Security) é um protocolo baseado em TLS que permite transmitir datagramas criptografados.
Ao enviar uma mensagem de handshake DTLS anormal (mensagem DTLS Hello) para um cliente DTLS, o OpenSSL pode entrar em um estado recursivo, permitindo um ataque de negação de serviço

  • Ao processar a mensagem DTLS Hello, a função chama a si mesma recursivamente

Exemplo de código: parte de chamada recursiva do método dtls1_get_message_fragment

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;
    }
}
Baixar ferramenta