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
CVE-2021-32675 — Exploit funcional de DoS para CVE-2021-32675 no Redis, aproveitando cabeçalhos de strings em massa superdimensionados para provocar esgotamento de memória. Inclui instruções de uso e ambiente de teste baseado em Docker. | Kitploit
Ferramentas/GitHubGitHub/rubbxalc/cve-2021-32675
Análise de VulnerabilidadesExploraçãoTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubrubbxalc/cve-2021-32675

CVE-2021-32675

Exploit funcional de DoS para CVE-2021-32675 no Redis, aproveitando cabeçalhos de strings em massa superdimensionados para provocar esgotamento de memória. Inclui instruções de uso e ambiente de teste baseado em Docker.

Ver Repositório
há 19h 24mAinda não revisado

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

CVE-2021-32675 – Redis Pré-Alocação Negação de Serviço (OOM)

Este repositório contém um exploit funcional para CVE-2021-32675, uma vulnerabilidade de negação de serviço (DoS) no Redis. A falha permite que atacantes remotos não autenticados acionem pré-alocações massivas de memória no servidor Redis ao enviar cabeçalhos de strings em massa superdimensionados sem fornecer dados de argumento, levando ao esgotamento de memória e à queda do serviço.

Descrição

CVE-2021-32675 é uma vulnerabilidade no tratamento do buffer de consulta do Redis. Ao analisar comandos recebidos no protocolo RESP (REdis Serialization Protocol), o Redis lê o comprimento declarado de um argumento de string em massa ($<length>\r\n) e imediatamente pré-aloca um buffer SDS (Simple Dynamic String) na memória para receber o payload antes de ler qualquer byte de argumento.

Como essa pré-alocação ocorre antes de receber o payload do argumento, um cliente não autenticado pode declarar o tamanho máximo permitido de string em massa (por padrão, proto-max-bulk-len é 512 MB) e manter a conexão aberta indefinidamente sem transmitir os dados reais. O Redis retém a memória pré-alocada para cada conexão ativa, criando uma taxa de amplificação de aproximadamente 32.000.000× (~16 bytes de tráfego de rede resultam em uma reserva de memória de 512 MB).

Abrir múltiplas conexões concorrentes usando essa técnica somente de cabeçalho esgota rapidamente a memória disponível do servidor, causando:

  • Despejos forçados de chaves se uma política maxmemory estiver ativa.
  • Negação de serviço ao rejeitar operações de escrita subsequentes (OOM command not allowed).
  • Encerramento do processo pelo killer OOM (Out-Of-Memory) do sistema operacional.
  • A vulnerabilidade afeta versões do Redis anteriores a:

    • 6.2.6
    • 6.0.16
    • 7.0 (quando não autenticado ou executando com limites de bulk padrão)

    Instâncias Redis executando sem autenticação (requirepass não configurado) ou com proto-max-bulk-len padrão (512 MB) são vulneráveis a este exploit. Versões corrigidas impõem um limite estrito de 16 KB no buffer de protocolo para clientes não autenticados antes que a pré-alocação ocorra.

    Instruções de Instalação

    1. Crie um Ambiente Virtual (Opcional, mas Recomendado):
    root@kitploit:~
    python3 -m venv .venv
    source .venv/bin/activate
    
    1. Instale as Dependências:
    root@kitploit:~
    pip install -r requirements.txt
    

    Requisitos

    • Python 3.8+

      • Biblioteca colorama
      • Biblioteca redis
    • Instância Redis vulnerável (versões anteriores a 6.2.6 / 6.0.16 ou instâncias não autenticadas)

    Uso

    root@kitploit:~
    python3 exploit.py --host <IP> --port <PORT> [options]
    

    Opções

    OpçãoTipoPadrãoDescrição
    --hoststrObrigatórioHostname ou endereço IP do Redis alvo
    --portint6379Número da porta
    --connectionsint10Número de conexões maliciosas a abrir
    --sizeint512Tamanho declarado do buffer de string em massa em MB
    --holdint5Segundos para manter conexões abertas antes da limpeza
    --password, --authstrNoneSenha para autenticação Redis (se necessário)

    Exemplo

    root@kitploit:~
    python3 exploit.py --host 127.0.0.1 --port 6379 --connections 10 --size 512 --hold 5
    

    Ambiente de Teste Local (Opcional)

    Você pode iniciar um laboratório de teste local usando a configuração Docker Compose incluída:

    root@kitploit:~
    # Iniciar Redis vulnerável (porta 6380) e Redis mitigado (porta 6381)
    docker compose -f conf/docker-compose.yml up -d
    
    # Testar contra a instância vulnerável
    python3 exploit.py --host 127.0.0.1 --port 6380 --connections 10 --size 512
    
    # Testar contra a instância mitigada
    python3 exploit.py --host 127.0.0.1 --port 6381 --password "L4bS3cur3!2024" --connections 10 --size 512
    
    # Parar os contêineres
    docker compose -f conf/docker-compose.yml down
    

    Aviso Legal

    Esta Prova de Conceito é fornecida apenas para fins educacionais, de pesquisa e verificação de segurança. O autor não é responsável por qualquer uso indevido, dano ou teste não autorizado contra sistemas sem permissão explícita.

    Baixar ferramenta