Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
redis-poc — RCE-PoC für Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1 | Kitploit
Tools/GitHubGitHub/berabuddies/redis-poc
SchwachstellenanalyseExploitationPenetrationstestsRed TeamingDatenbanksicherheitBinary-Exploitation
GitHubberabuddies/redis-poc

redis-poc

RCE-PoC für Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1

Repository anzeigen
487118vor 27 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Authentifizierter Redis-RCE (Stream-NACK-Double-Free, TDigest- und TopK-Modulfehler)

Nicht-destruktive RCE-Exploits für Redis 6.2.22, 7.4.9, 8.6.4 über den Shared-NACK-Double-Free der Stream-Consumer-Gruppe (einen Patch-Bypass von CVE-2026-25243), für 8.8.0 über einen TDigest-Heap-Overflow im gebündelten RedisBloom und für 8.8.1 über einen TopK-Wild-Free (einen Patch-Bypass von CVE-2026-25589).

Dateien

  • A_exploit_stock.py — Exploit für 6.2.22 (redis:6.2.22-Image)
  • P74_exploit.py (+ P74_g2.py) — Exploit für 7.4.9 (redis:7.4)
  • P86_exploit.py — Exploit für 8.6.4 (redis:8.6)
  • P88W_exploit.py (+ P88W_lib.py, P88W_corrupt.py) — Exploit für 8.8.0 (redis:8.8.0, über TDigest-Heap-Overflow im gebündelten Modul)
  • T88_exploit.py — Exploit für 8.8.0 und 8.8.1 (über TopK-Wild-Free im gebündelten Modul; Bypass des unvollständigen CVE-2026-25589-Fixes — funktioniert mit RedisBloom v8.8.0 und v8.8.2)
  • A_lib.py, G2_arbread.py — gemeinsame Helfer (müssen neben den Exploits liegen)
  • crc64.c/h, crcspeed.c/h — Quelldateien für libcrc64.so (Redis-CRC64, erforderlich zum Erstellen gültiger RESTORE-Payloads)
  • calibrate.sh — berechnet Binäroffsets für nicht-offizielle Builds
  • P74_loop.sh, P86_run.sh — Boot-Retry-Wrapper

Erstellen (einmalig)

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

Erforderlich: Python 3.6+ (keine pip-Pakete), gcc.

Verwendung

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 — weglassen (oder "" übergeben) für Ziele ohne Authentifizierung
  • trigger — Shell-Befehl; schreibt standardmäßig einen Nachweis unter /data/pwned*

Beispiele:

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"

Zielanforderungen

  • 6.2.22: Standardmäßig werden die Offsets des offiziellen Images verwendet. Für andere Builds Offsets überschreiben (--str-format-off usw.; siehe --help) oder ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6] ausführen, um sie zu generieren. Falsche Offsets stürzen den Zielserver ab (Out-of-Range-Reads).
  • 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1: offizielle Stock-Images, kein Debug-Flag erforderlich.
  • Für den Benutzer verfügbare Befehle: EVAL, RESTORE, XGROUP (8.8.0/8.8.1 benötigen zusätzlich das gebündelte RedisBloom-Modul, standardmäßig vorhanden).
  • 8.8.0/8.8.1-Exploits sind layout-sensitiv: Der TDigest-Korridor und der TopK-Wild-Free hängen beide vom jemalloc-Layout ab — eine frische Instanz ohne andere Clients/Befehle verwenden und bei einem Grooming-Fehlversuch erneut versuchen.

Hinweise

  • Rückstände nach der Ausführung (bewusst, inert): eine Handvoll Exploit-Keys, die doppelt freigegebene Chunks am Leben erhalten; siehe HARDENING.md für Details. Der 8.8.0-Exploit hinterlässt ~2000 genullte TDigest-Strukturen und einen beschädigten Oracle-Key — danach kein FLUSHALL/SAVE auf dem Ziel ausführen.
  • Der Shared-NACK-Double-Free ist nur in 8.8.0 behoben (PR #15081); der 8.8.0-Exploit nutzt stattdessen einen separaten, nicht behobenen Bug im gebündelten Modul.
  • Demonstrierte Patch-Bypasses: Die Shared-NACK-Variante umgeht den CVE-2026-25243-Fix; der TopK-Wild-Free umgeht den CVE-2026-25589-Fix (partielles Nullsetzen der Zeiger — TopK_Destroy liest in RedisBloom v8.8.0 und v8.8.2 weiterhin alle k-Zeiger über den zu kleinen Heap hinaus).
  • Zuverlässigkeit: 6.2.22 10/10, 7.4.9 5/5, 8.6.4 25/25, 8.8.0 5/5 auf frischen Containern validiert. Fehlschläge brechen sauber ab; erneut ausführen oder Wrapper verwenden.

Nur für autorisierte Tests.

Tool herunterladen