
Una prueba de concepto para CVE-2022-48565 - ataque de deserialización XML de python plistlib
Esta es una prueba de concepto (PoC) que demuestra la vulnerabilidad CVE-2022-48565, basada en la deserialización insegura de archivos Plist en Python. Al procesar archivos Property List (Plist) especialmente manipulados, un atacante puede ejecutar código arbitrario en el sistema objetivo, lo que potencialmente conduce a la ejecución remota de código (RCE).
En este repositorio encontrarás cuatro scripts PoC, cada uno muestra diferentes formas de explotar esta vulnerabilidad. Estos ejemplos demuestran cómo se puede incrustar código malicioso en archivos Plist y ejecutarlo en un sistema.
Aquí hay un video que demuestra la prueba de concepto:
Estos scripts PoC son solo para fines educativos y de investigación de seguridad. Úsalos en un entorno controlado y nunca en sistemas de producción. El mal uso de esta vulnerabilidad podría tener graves consecuencias legales y éticas.
Python <=3.9.1
Python 2.x
macOS: Algunos ejemplos (por ejemplo, abrir la Calculadora o Safari) solo funcionan en macOS, ya que utilizan comandos específicos de macOS
Clona este repositorio:
git clone https://github.com/Einstein2150/CVE-2022-48565-POC
Cambia al directorio:
cd CVE-2022-48565-POC
Hay cuatro scripts PoC, cada uno muestra diferentes formas de explotar esta vulnerabilidad.
Este script muestra un ejemplo sencillo en el que se utiliza la deserialización insegura para ejecutar un comando de shell que imprime un mensaje en la consola.
Uso:
bash
python2 cve-2022-48565_poc_echo.py
En este ejemplo se demuestra cómo un atacante puede abrir la Calculadora de macOS deserializando un archivo Plist malicioso.
Uso:
bash
python2 cve-2022-48565_poc_calc.py
Este script muestra cómo un atacante puede descargar un archivo de una fuente externa y abrirlo automáticamente en Safari. El comando wget se utiliza para descargar index.html del sitio web foto-video-it.de, que luego se abre en Safari.v
Uso:
bash
python2 cve-2022-48565_poc_wget.py
Este script simula un escenario de ataque práctico en el que el archivo Plist malicioso se almacena externamente y se carga en tiempo de ejecución. Esto demuestra cómo un atacante puede cargar un archivo Plist de una fuente externa y usarlo para ejecutar código malicioso.
El archivo malicious.plist contiene el payload y debe colocarse en el mismo directorio que el script.
Uso:
bash
python2 cve-2022-48565_poc_external_plist.py
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para obtener más detalles.