
Une preuve de concept pour CVE-2022-48565 - attaque de désérialisation XML de python plistlib
Ceci est une preuve de concept (PoC) démontrant la vulnérabilité CVE-2022-48565, qui est basée sur la désérialisation non sécurisée de fichiers Plist en Python. En traitant des fichiers Property List (Plist) spécialement conçus, un attaquant peut exécuter du code arbitraire sur le système cible, pouvant conduire à une Exécution de Code à Distance (RCE).
Dans ce dépôt, vous trouverez quatre scripts PoC, montrant chacun différentes façons d'exploiter cette vulnérabilité. Ces exemples démontrent comment du code malveillant peut être intégré dans des fichiers Plist et exécuté sur un système.
Voici une vidéo démontrant la preuve de concept :
Ces scripts PoC sont uniquement destinés à des fins éducatives et de recherche en sécurité. Utilisez ces scripts dans un environnement contrôlé et jamais sur des systèmes de production. Une mauvaise utilisation de cette vulnérabilité pourrait entraîner de graves conséquences juridiques et éthiques.
Python <=3.9.1
Python 2.x
macOS : Certains exemples (par exemple, ouvrir la Calculatrice ou Safari) ne fonctionnent que sur macOS, car ils utilisent des commandes spécifiques à macOS.
Clonez ce dépôt :
git clone https://github.com/Einstein2150/CVE-2022-48565-POC
Changez de répertoire :
cd CVE-2022-48565-POC
Il y a quatre scripts PoC, chacun montrant différentes façons d'exploiter cette vulnérabilité.
Ce script montre un exemple simple où la désérialisation non sécurisée est utilisée pour exécuter une commande shell qui affiche un message dans la console.
Utilisation :
bash
python2 cve-2022-48565_poc_echo.py
Dans cet exemple, il est démontré comment un attaquant peut ouvrir la Calculatrice macOS en désérialisant un fichier Plist malveillant.
Utilisation :
bash
python2 cve-2022-48565_poc_calc.py
Ce script montre comment un attaquant peut télécharger un fichier depuis une source externe et l'ouvrir automatiquement dans Safari. La commande wget est utilisée pour télécharger index.html depuis le site web foto-video-it.de, qui est ensuite ouvert dans Safari.
Utilisation :
bash
python2 cve-2022-48565_poc_wget.py
Ce script simule un scénario d'attaque pratique où le fichier Plist malveillant est stocké en externe et chargé au moment de l'exécution. Cela démontre comment un attaquant peut charger un fichier Plist depuis une source externe et l'utiliser pour exécuter du code malveillant.
Le fichier malicious.plist contient la charge utile et doit être placé dans le même répertoire que le script.
Utilisation :
bash
python2 cve-2022-48565_poc_external_plist.py
Ce projet est sous licence MIT. Consultez le fichier LICENSE pour plus de détails.