
Python-Exploit für CVE-2025-5777 (CitrixBleed 2) Speicherleck in Citrix NetScaler. Sendet fehlerhafte POST-Anfragen, um pro Anfrage ~127 Bytes RAM auszulesen, wobei Sitzungstoken, Anmeldedaten und andere sensible Daten aus nicht initialisiertem Speicher extrahiert werden.
[!WARNING] Dieses Skript ist ausschließlich für Bildungs- und Forschungszwecke bestimmt. Verwenden Sie es nicht gegen Systeme ohne ausdrückliche Genehmigung. Unautorisierter Zugriff oder Tests sind illegal und unethisch. Lesen Sie den vollständigen HAFTUNGSAUSSCHLUSS, bevor Sie dieses Skript verwenden.
Dieses Projekt demonstriert eine Speicherleck-Schwachstelle (CVE-2025-5777), die in Citrix NetScaler-Appliances gefunden wurde. Die Schwachstelle resultiert aus einer unsachgemäßen Handhabung von nicht initialisiertem Speicher beim Parsen fehlerhafter POST-Daten, insbesondere des login-Parameters. Sie ist weithin als CitrixBleed 2 bekannt, aufgrund ihrer starken Ähnlichkeit mit der berüchtigten CVE-2023-4966 (ursprüngliches CitrixBleed), die 2023 massiv ausgenutzt wurde.
Wenn das Feld login ohne Gleichheitszeichen oder Wert enthalten ist, wird ein Teil des nicht initialisierten Stapelspeichers innerhalb des <InitialValue>-Tags in der XML-Antwort zurückgegeben.

Durchgesickerte Daten: Jede HTTP-Anfrage kann etwa 127 Byte RAM-Inhalt preisgeben. Durch Wiederholung dieser Anfragen können Angreifer sensible Daten aus dem Speicher sammeln, darunter:
pip3 install aiohttp colorama
python3 exploit.py <URL> [Optionen]
positionale Argumente:
url Basis-URL (z. B. http://target.com)
optionale Argumente:
-h, --help Hilfemeldung anzeigen
-v, --verbose Debug-Ausgabe aktivieren
-p, --proxy PROXY HTTP-Proxy-URL (z. B. http://127.0.0.1:8080)
-t, --threads N Anzahl gleichzeitiger Threads (Standard: 10)
-d, --delay SEKUNDEN Verzögerung zwischen Anfragebatches in Sekunden (Standard: 1.0)
--max-requests N Maximale Anzahl zu sendender Anfragen (Standard: unbegrenzt)
-e, --endpoints PFAD Zusätzliche zu testende Endpunkte (mehrere Angaben möglich)
--no-save Daten beim Beenden nicht in Dateien speichern
Grundlegende Verwendung:
python3 exploit.py http://target.com
Ausführlicher Modus mit Proxy:
python3 exploit.py http://target.com -v -p http://127.0.0.1:8080
Hohe Parallelität mit Ratenbegrenzung:
python3 exploit.py http://target.com -t 20 -d 0.5
Begrenzte Anfragen mit mehreren Endpunkten:
python3 exploit.py http://target.com --max-requests 1000 -e /p/u/doAuthentication.do /api/auth
Hilfe:
python3 exploit.py -h
Diese verbesserte Version umfasst:
Dieses erweiterte Python-Skript:
<InitialValue>-Tags