Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
13há 20 diasAinda 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):
python3 -m venv .venv
source .venv/bin/activate
  1. Instale as Dependências:
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

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

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:

# 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